{"title":"Blacklight Inspection","page_title":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","uri_ins":"http://www.cirque-gruss.com/","uri_dest":"https://www.cirque-gruss.com/","uri_redirects":["http://www.cirque-gruss.com/"],"secure_connection":{},"host":"www.cirque-gruss.com","config":{"emulateDevice":{"name":"Pixel 4a (5G)","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","viewport":{"width":353,"height":745,"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"isLandscape":false}},"cleareCache":true,"captureHar":true,"captureLinks":false,"enableAdBlock":false,"saveBrowserProfile":false,"numPages":2,"defaultTimeout":35000,"defaultWaitUntil":"networkidle2","headless":true,"headers":{},"extraChromiumArgs":["--disable-features=TrackingProtection3pcd","--website-analysis-scan=c3f77190-00cc-4eb8-ba79-b78bf1aa39bf"],"extraPuppeteerOptions":{}},"browser":{"name":"Chromium","version":"Chrome/127.0.6533.88","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/127.0.0.0 Safari/537.36","platform":{"name":"Linux","version":"6.12.111+deb13-amd64"}},"script":{"host":"baeac9933325","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.21.0"},"start_time":"2026-10-12T22:32:55.012Z","end_time":"2026-10-12T22:33:25.261Z","browsing_history":["https://www.cirque-gruss.com/","https://www.cirque-gruss.com/evenementiel","https://www.cirque-gruss.com/questions-frequentes"],"hosts":{"requests":{"first_party":["www.cirque-gruss.com","demo.cirque-gruss.com"],"third_party":["fonts.googleapis.com","chat.eu.volubile.ai","www.youtube.com","www.googletagmanager.com","analytics.tiktok.com","fonts.gstatic.com","static.axept.io","sc-static.net","connect.facebook.net","cdn.matomo.cloud","www.google.com","ad.doubleclick.net","s.w.org","client.axept.io","www.googleadservices.com","api.axept.io","fonts.axept.io","googleads.g.doubleclick.net","cirquegruss.matomo.cloud","www.google.fr","tr.snapchat.com","analytics-ipv6.tiktokw.us","tr6.snapchat.com","axeptio.imgix.net","i.ytimg.com","static.doubleclick.net","pagead2.googlesyndication.com","jnn-pa.googleapis.com","www.gstatic.com","yt3.ggpht.com"]}},"reports":{"behaviour_event_listeners":{"MOUSE":{"https://www.cirque-gruss.com/assets/themes/astra/assets/js/minified/frontend.min.js?ver=4.14.0":["click","scroll"],"https://sc-static.net/scevent.min.js":["click"],"https://analytics.tiktok.com/i18n/pixel/static/main.MWU2MzIzODM0OA.js":["click","scroll"],"https://static.axept.io/behavior-detection.min.js":["mousemove","scroll"],"https://www.googletagmanager.com/gtag/js?id=AW-11241157491&cx=c&gtm=4e6a91h1":["click"],"https://static.axept.io/sdk.js":["scroll","mousedown"],"https://www.googletagmanager.com/gtm.js?id=GTM-WGZHD7C":["click","mousedown"],"https://www.cirque-gruss.com/assets/cache/wpfc-minified/7bfprg59/dt9or.js":["scroll","click"],"https://www.cirque-gruss.com/assets/uploads/astra-addon/astra-addon-6abe29e12a3735-41776290.js?ver=4.13.10":["click"],"https://www.google.com/js/th/BsfZWRv0mqXKtB60XTlsnCGJV8iWWOJuOt8gyYmLIJY.js":["mousedown","mousemove","mouseup"],"https://www.youtube.com/s/player/ec429320/player_embed_es6.vflset/en_US/base.js":["click","mousemove","scroll","mouseup","mousedown"],"https://www.googletagmanager.com/gtag/js?id=AW-11241157491&cx=c&gtm=4e6a91":["click"],"https://www.cirque-gruss.com/assets/cache/wpfc-minified/qa758s75/dt9lz.js":["scroll","click"],"https://www.cirque-gruss.com/":["click"]},"KEYBOARD":{"https://www.cirque-gruss.com/assets/themes/astra/assets/js/minified/frontend.min.js?ver=4.14.0":["keyup","keydown"],"https://static.axept.io/behavior-detection.min.js":["keyup","keydown"],"https://www.googletagmanager.com/gtm.js?id=GTM-WGZHD7C":["keyup"],"https://www.cirque-gruss.com/assets/uploads/astra-addon/astra-addon-6abe29e12a3735-41776290.js?ver=4.13.10":["keydown"],"https://www.cirque-gruss.com/assets/cache/wpfc-minified/7bfprg59/dt9or.js":["keydown"],"https://www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US.4NE-sOJWhzo.2021.O/ck=ytembeds.base.jSYZUZuNGto.L.W.O/am=AAAAIABj/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywGescRjUuzhnyW3iDNJ1tykJni_Xw/m=r78Drb":["keydown"],"https://www.youtube.com/s/player/ec429320/player_embed_es6.vflset/en_US/base.js":["keyup","keydown"],"https://www.cirque-gruss.com/assets/cache/wpfc-minified/qa758s75/dt9lz.js":["keydown"]},"TOUCH":{"https://www.cirque-gruss.com/assets/cache/wpfc-minified/7bfprg59/dt9or.js":["touchstart"],"https://www.google.com/js/th/BsfZWRv0mqXKtB60XTlsnCGJV8iWWOJuOt8gyYmLIJY.js":["touchend","touchstart"],"https://www.youtube.com/s/player/ec429320/player_embed_es6.vflset/en_US/base.js":["touchend","touchstart"],"https://www.cirque-gruss.com/assets/cache/wpfc-minified/qa758s75/dt9lz.js":["touchstart"]},"SENSOR":{"https://www.cirque-gruss.com/assets/themes/astra/assets/js/minified/frontend.min.js?ver=4.14.0":["orientationchange"],"https://www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US.4NE-sOJWhzo.2021.O/ck=ytembeds.base.jSYZUZuNGto.L.W.O/am=AAAAIABj/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywGescRjUuzhnyW3iDNJ1tykJni_Xw/m=r78Drb":["orientationchange"],"https://www.youtube.com/s/player/ec429320/player_embed_es6.vflset/en_US/base.js":["orientationchange"]}},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[{"name":"X-AB","value":"fdd34b6cca4442abb1dd924e72de3cbe","domain":"sc-static.net","path":"/scevent.min.js","expires":"2026-10-13T22:33:17.667Z","size":36,"httpOnly":false,"secure":true,"session":false,"sameSite":"None","priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":true},{"name":"_ttp","value":"3Kc6ETDktO9REksULv2F1UyzKN8.1791844397138","domain":"tiktok.com","path":"/","expires":"2027-01-10T22:33:17.860Z","size":45,"httpOnly":false,"secure":true,"session":false,"sameSite":"None","priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":true},{"name":"_gcl_au","value":"1.1.1516945777.1791844398","domain":"cirque-gruss.com","path":"/","expires":"2027-01-10T22:33:17.000Z","size":32,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"axeptio_cookies","value":"{%22$$completed%22:false%2C%22$$token%22:%22XmQnLsvXwwzrmxm53JMXOplMhX%22%2C%22$$date%22:%222026-10-12T22:33:17.719Z%22%2C%22$$cookiesVersion%22:{}%2C%22$$projectId%22:%2261278530702fed3d78f5d8bb%22}","domain":"www.cirque-gruss.com","path":"/","expires":"2027-04-20T22:33:17.000Z","size":214,"httpOnly":false,"secure":true,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"axeptio_authorized_vendors","value":"%2C%2C","domain":"www.cirque-gruss.com","path":"/","expires":"2027-04-20T22:33:17.000Z","size":32,"httpOnly":false,"secure":true,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"axeptio_all_vendors","value":"%2C%2C","domain":"www.cirque-gruss.com","path":"/","expires":"2027-04-20T22:33:17.000Z","size":25,"httpOnly":false,"secure":true,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"_pk_id.1.ad47","value":"ec08195a5da10415.1791844398.","domain":"www.cirque-gruss.com","path":"/","expires":"2027-11-09T22:33:18.000Z","size":41,"httpOnly":false,"secure":false,"session":false,"sameSite":"Lax","priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"_pk_ses.1.ad47","value":"1","domain":"www.cirque-gruss.com","path":"/","expires":"2026-10-12T23:03:17.000Z","size":15,"httpOnly":false,"secure":false,"session":false,"sameSite":"Lax","priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"_scid","value":"054DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0Zczw","domain":"cirque-gruss.com","path":"/","expires":"2027-11-11T22:33:18.000Z","size":43,"httpOnly":false,"secure":false,"session":false,"sameSite":"Lax","priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"_scid_r","value":"054DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0Zczw","domain":"cirque-gruss.com","path":"/","expires":"2027-11-11T22:33:18.000Z","size":45,"httpOnly":false,"secure":false,"session":false,"sameSite":"Lax","priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"sc_at","value":"v2|H4sIAAAAAAAA/wXBgQ3AMAgDsIuQYGUknNMxegXH1/4A7ThHSiPFwRC6bel382ehaz0zhjS6r+ToBfrmN2kyAAAA","domain":"snapchat.com","path":"/","expires":"2027-11-06T22:33:18.124Z","size":96,"httpOnly":false,"secure":true,"session":false,"sameSite":"None","priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":true},{"name":"_tt_enable_cookie","value":"1","domain":"cirque-gruss.com","path":"/","expires":"2027-01-10T22:33:18.000Z","size":18,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"_ttp","value":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196","domain":"cirque-gruss.com","path":"/","expires":"2027-01-10T22:33:18.000Z","size":50,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"ttcsid_C50A482LQH64DC0FCGG0","value":"1791844398213::bVkDfkfOnTPx19smVJ_b.1.1791844398706.0","domain":"cirque-gruss.com","path":"/","expires":"2027-01-10T22:33:18.000Z","size":80,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"ttcsid_CT443I3C77U9RNPHCGL0","value":"1791844398216::1hXMv600fYQOf6hfGqVL.1.1791844398707.0","domain":"cirque-gruss.com","path":"/","expires":"2027-01-10T22:33:18.000Z","size":80,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false},{"name":"ttcsid","value":"1791844398214::ZotcZCBaJ7peTZjKVxzo.1.1791844398706.0::1.-1455.81::0.0.0.0::6103.1.150","domain":"cirque-gruss.com","path":"/","expires":"2027-01-10T22:33:24.000Z","size":92,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false}],"fb_pixel_events":[],"tiktok_pixel_events":[{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"This is the default pixel tracking page visits.","eventName":"Pageview","isStandardEvent":true,"pageUrl":"https://www.cirque-gruss.com/questions-frequentes","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"","eventName":"LandingPageView","isStandardEvent":false,"pageUrl":"https://www.cirque-gruss.com/questions-frequentes","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"This is the default pixel tracking page visits.","eventName":"Pageview","isStandardEvent":true,"pageUrl":"https://www.cirque-gruss.com/questions-frequentes","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"","eventName":"LandingPageView","isStandardEvent":false,"pageUrl":"https://www.cirque-gruss.com/questions-frequentes","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"This is the default pixel tracking page visits.","eventName":"Pageview","isStandardEvent":true,"pageUrl":"https://www.cirque-gruss.com/evenementiel","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"","eventName":"LandingPageView","isStandardEvent":false,"pageUrl":"https://www.cirque-gruss.com/evenementiel","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"This is the default pixel tracking page visits.","eventName":"Pageview","isStandardEvent":true,"pageUrl":"https://www.cirque-gruss.com/evenementiel","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"","eventName":"LandingPageView","isStandardEvent":false,"pageUrl":"https://www.cirque-gruss.com/evenementiel","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"This is the default pixel tracking page visits.","eventName":"Pageview","isStandardEvent":true,"pageUrl":"https://www.cirque-gruss.com/","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"","eventName":"LandingPageView","isStandardEvent":false,"pageUrl":"https://www.cirque-gruss.com/","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"This is the default pixel tracking page visits.","eventName":"Pageview","isStandardEvent":true,"pageUrl":"https://www.cirque-gruss.com/","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"","eventName":"LandingPageView","isStandardEvent":false,"pageUrl":"https://www.cirque-gruss.com/","raw":"https://analytics.tiktok.com/api/v2/pixel"},{"advancedMatchingParams":[{"key":"anonymous_id","value":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622","description":"a unique identifier to track users for whom no other identifiable information is available"},{"key":"platform","value":"android","description":""}],"dataParams":[{"key":"android_version","value":""},{"key":"device_model","value":""}],"eventDescription":"","eventName":"EnrichIpv6","isStandardEvent":false,"pageUrl":"https://www.cirque-gruss.com/","raw":"https://analytics-ipv6.tiktokw.us/ipv6/enrich_ipv6"}],"twitter_pixel_events":[],"google_analytics_events":[],"key_logging":{"snapchat.com":[{"filter":["Visa"],"match_type":["plaintext"],"post_data":"{\"ctx\":{\"bt\":\"1d53c387\",\"c1\":\"039cfbd0-f6d1-4383-b591-a45e4f8fea23\",\"lc\":\"2ced1154-9243-44bd-998f-1764081465fc\",\"ls\":\"921bcf58-1f80-4fed-93d4-f7c942cccd87\",\"r\":\"7e10a85f-4137-4ad8-95da-3133f2836797\",\"si\":\"054DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0Zcz9TzkhvPWB-A5-0i1PfJQszNh16kDsXMTbKxXwy9mAyWBnfvKrW5bS6FrzILzivIL0XknOdAl09LQeos7RFUkkO8vdOPF2QIFGX86HZQwZikQ4Z-EKhfQTfd2CraMTPyg2eXOqnnzEl1\",\"ss\":\"0c960677-ef2a-41b9-842e-85af320bce2b\",\"bg\":false,\"df\":true,\"mtp\":0,\"sh\":745,\"sw\":353,\"ua\":\"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36\",\"url\":\"https://www.cirque-gruss.com/questions-frequentes\",\"v\":\"3.60.0-2608111919\",\"a\":[18,24,29,29,1],\"p\":[492,499,435,1540,1314],\"pv\":2,\"rd\":1789,\"sa\":1791844398071,\"sps\":475,\"ts\":1791844398549,\"d_bvs\":\"\",\"huah\":true},\"req\":[{\"log\":{\"name\":\"TPFA\",\"message\":\"event_type\",\"pids\":[\"bdb43125-632f-4607-bcd8-ba1682ca837c\"],\"stack\":\"    at Nt (https://sc-static.net/scevent.min.js:2:6415)\\n    at pa (https://sc-static.net/scevent.min.js:2:35167)\\n    at ka (https://sc-static.net/scevent.min.js:2:37879)\\n    at https://sc-static.net/scevent.min.js:2:39341\\n    at https://sc-static.net/scevent.min.js:2:4817\\n    at y (https://sc-static.net/scevent.min.js:2:2806)\\n    at s (https://sc-static.net/scevent.min.js:2:4794)\\n    at y (https://sc-static.net/scevent.min.js:2:2806)\\n    at c.send (https://sc-static.net/scevent.min.js:2:5102)\\n    at y (https://sc-static.net/scevent.min.js:2:2806)\"},\"del\":257},{\"md\":{\"md\":[{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/WebPage\",\"properties.text\":\"\\n\\n\\n\\n\\n\\n\\n\\n\\t\\t\\n\\n\\nÀ propos du Cirque et son spectacle \\n\\n\\n\\n\\n\\n\\n\\t\\t\\n\\n\\nÀ propos du Dîner-Spectacle\\n\\n\\n\\n\\n\\n\\n\\n\\n\\t\\t\\n\\n\\n\\t\\t\\n\\n\\n\\n\\n\\t\\t\\tPeut-on acheter nos places juste avant le spectacle ?\\n\\n\\nOui. Attention toutefois, les réservations étant ouvertes plusieurs mois à l’avance, certaines séances peuvent être complètes, il est donc vivement conseillé de réserver vos places à l’avance. Dans tous les cas votre réservation devra être réglé au plus tard 24h avant l'horaire de la représentation.\\n\\n\\n\\n\\n\\t\\t\\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\\n\\n\\nLa possibilité de s'assurer en cas d'imprévus est possible via votre partenaire meetch.L'assurance est à souscrire au moment de l'achat des billets uniquement.\\nPlus d'informations en cliquant ici(opens in new tab)\\n\\n\\n\\n\\n\\t\\t\\tJ’ai réservé une prestation complémentaire, comment pourrais-je bénéficier de cette dernière  ?\\n\\n\\nLes informations sur les modalités de retrait de vos prestations et produits seront indiqués sur le E-Billet que vous recevrez par e-mail. Sachez que des espaces dédiés pour le retrait de vos achats seront clairement balisés dans notre hall d’accueil.\\n\\n\\n\\n\\n\\t\\t\\tJ'ai un enfant de moins de trois ans, lui faut-il un billet ?\\n\\n\\nL’entrée est gratuite pour les moins de 3 ans mais aucune place assise ne leur est attribuée. Ils entrent sans billet mais sont gardés sur les genoux. Attention un contrôle de l'âge des enfants peut être réalisé par nos soins en cas de doutes.\\n\\n\\n\\n\\n\\t\\t\\tQuels sont les modes de paiement acceptés ?\\n\\n\\nLes guichets de la billetterie du Cirque Arlette Gruss acceptent les cartes bancaires, (CB, Visa, Eurocard), cartes American Express, chèques vacances ANCV et les espèces.\\nPour les achats de billets en ligne sur www.cirque-gruss.com les moyens de paiement ci-dessous sont acceptés :\\n\\nPour les ventes à l'intérieur du chapiteau, seul le bar accepte les paiements espèces et cartes bancaires (CB, Visa, Eurocard)\\nNos snacks, boissons, souvenirs et certains de nos autres stands ambulants n'acceptent que les espèces.\\nPrivilégiez la monnaie.Il n'y a pas de distributeur de billets sous le chapiteau !\\n\\n\\n\\n\\n\\t\\t\\tLes poussettes et cosy sont-ils autorisés sous le chapiteau ?\\n\\n\\nLes poussettes et cosy ne sont pas autorisés dans la salle de spectacle et devront impérativement être déposés dans le hall du chapiteau, où un espace avec signalétique leur est dédié.\\n\\n\\n\\n\\n\\t\\t\\tJ’ai fait une réservation sur internet, et me suis trompé de séance, que faire ?\\n\\n\\nDans un premier temps merci de ne pas réeffectuer de commande. Les achats de places sur internet sont définitifs et ne peuvent être modifiés. Toutefois en cas de force majeure uniquement, nous vous conseillons de nous contacter par mail :  $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ ou au  0812 106 406  (de 12h à 15H et de 16h à 19h) Numéro indigo (0,05€ l'appel). \\n\\n\\n\\n\\n\\t\\t\\tComment se déroulera le placement sous le chapiteau ?\\n\\n\\nLe placement est numéroté selon n° d'accès, de place et de rang figurant sur vos billets. A noter, en fonction des conditions sanitaires, que nous pouvons à tout moment modifier temporairement les règles de placement et mettre en œuvre un placement accompagné dans la catégorie selon l’ordre d’arrivée et ce pour les autres villes. Ce mode de fonctionnement temporaire permettra de mettre en place une distanciation entre chaque famille.\\n\\n\\n\\n\\n\\t\\t\\tJe souhaiterais acheter un souvenir du Cirque, quels sont les horaires de la boutique ?\\n\\n\\nLa boutique, située dans le hall du chapiteau, est ouverte au moment des spectacles (ouverture 45 min avant le début de la séance et pendant toute la durée de la représentation – sauf sur la dernière représentation du séjour, la boutique ferme alors après l’entracte ). Pensez aussi à visiter notre boutique en ligne ou vous pourrez peut-être trouver le souvenir de votre choix.\\n\\n\\n\\n\\n\\t\\t\\tMes numéros de place ne se suivent pas, est-ce normal ?\\n\\n\\nOui ! Le chapiteau est divisé en un côté pair (2-4-6-8 ... ) et impair (1-3-5-7-9 ...).À noter par ailleurs que la place (ou loge) 13 ou 113 n'existe pas sous notre chapiteau.\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé pour une autre personne, comment faire pour la pièce dʼidentité ?\\n\\n\\nFaire une photocopie de la pièce dʼidentité et la donner aux personnes concernées.\\n\\n\\n\\n\\n\\t\\t\\tJe ne peux pas imprimer les E-billets, que puis-je faire ?\\n\\n\\nVous pourrez présenter vos E-Billets préalablement enregistrés sur votre mobile. Il sera aussi possible de se présenter aux guichets de la billetterie du cirque avec une pièce d'identité au même nom que la commande afin de procéder au retrait des billets.\\n\\n\\n\\n\\n\\t\\t\\tJe nʼai pas reçu dʼe-mail de confirmation, est-ce normal ?\\n\\n\\nNon, merci de vérifier dans vos courriers indésirables.\\nRendez-vous également dans votre espace client(opens in new tab) sur notre site de réservation afin de télécharger à nouveau vos E-billets.Si non, merci de nous contacter par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé des places pour samedi, puis-je les retirer avant ?\\n\\n\\nOui, sur présentation de la carte dʼidentité.Les guichets de la billetterie sont ouverts tous les jours de 12h à 15H et de 16h à 19h (sauf le jour d'arrivée dans la ville)\\nPour connaitre les horaires d'ouverture dans votre ville visitez notre page tournée et cliquez sur la ville de votre choix.\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé mes places, mais il y a une personne en fauteuil roulant, que faire ?\\n\\n\\nNous contacter rapidement par téléphone au 0812 106 406  (12h-19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tJe me suis trompé, jʼai réservé des places enfants au lieu des places adultes. Que dois-je faire ?\\n\\n\\nMerci de nous contacter par mail : $[E498d35fbe5815c0e22cc5680cf18b94a1e10d7d12c1e2a22aff985d0a4bf70d9]$ par téléphone : 0812 106 406  (de 12h à 15H et de 16h à 19h) Numéro indigo (0,05€ l'appel)  pour effectuer votre changement.\\n\\n\\n\\n\\n\\t\\t\\tPuis je venir avec mon chien ?\\n\\n\\nNos amis les bêtes ne sont pas acceptés sous le chapiteau.\\nVous pouvez toutefois nous contacter par téléphone au 0812 106 406  (12h-19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ pour formaliser une demande exceptionnelle si le chien en question est indispensable pour vos déplacements. Nous pourrons vous délivrer une autorisation exceptionnelle sous certaines conditions.\\n\\n\\n\\n\\n\\t\\t\\tJe ne parviens pas à téléphoner au 0812 106 406\\n\\n\\nEn effet, certaines conditions peuvent vous empêcher de contacter ce type de numéro :\\n• Sur les lignes fixes professionnelles, certains employeurs bloquent les numéros qui débutent par 08 -- --\\n• Depuis l'étranger, les numéros spéciaux français peuvent être bloqués. Essayez de rajouter le pré-fixe international, et donc composer le +33 812 106 406\\n• Certains opérateurs téléphoniques activent par défaut le \\\"blocage des numéraux spéciaux\\\". Consultez votre fournisseur d'accès pour en savoir plus.\\n• Dans tous les cas pensez à tester notre numéro Azur depuis une autre ligne\\nSi le problème persiste merci de nous adresser votre demande par mail à l'adresse $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tPuis-je échanger ou annuler mes billets ?\\n\\n\\nEn application des conditions de l’article 221-28 12° du Code de la consommation, le Client ne bénéficie pas d’un droit de rétractation. Le billet émis au titre de la Prestation ne peut être ni repris, ni remboursé, ni échangé. Ainsi, si le Client annule sa réservation, le prix payé par le Client au titre du billet restera acquis au Cirque Arlette Gruss à titre indemnitaire.\\n\\n\\n\\n\\n\\t\\t\\tPuis-je prendre des photos pendant le spectacle ?\\n\\n\\nPour des questions de droits d’auteur et de sécurité, il est strictement interdit de filmer ou enregistrer, tout ou partie de la salle et du spectacle. Il est toutefois possible de prendre des photos sans flash.\\n\\n\\n\\n\\n\\t\\t\\tEst-il possible de fumer ou vapoter dans la salle ?\\n\\n\\nNous vous informons que le Cirque Arlette Gruss est un établissement non-fumeur : entrée, hall, salle de spectacle. La cigarette électronique n’est pas autorisée.\\n\\n\\n\\n\\n\\t\\t\\tLe programme de la soirée (déroulé, spectacle etc.) est-il susceptible de changer ?\\n\\n\\nLa Direction se réserve le droit de modifier le programme.\\n\\n\\n\\n\\n\\t\\t\\tA quelle heure dois-je arriver sur place ?\\n\\n\\nIl est conseillé d'arriver 45 minutes avant le début du spectacle.\\n\\n\\n\\n\\n\\t\\t\\tQue se passe t'il si nous arrivons après le début du spectacle ?\\n\\n\\nVous pourrez vous installer sous le chapiteau et assister à la représentation mais le placement indiqué sur vos billets ne pourra plus être garanti.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\t\\t\\n\\n\\nÀ propos du Dîner-Spectacle\\n\\n\\n\\n\\n\\n\\n\\n\\n\\t\\t\\tPeut-on acheter nos places le jour du spectacle ou la veille ?\\n\\n\\nNon il n’est pas possible d’acheter des places avant le dîner. Pour des raisons d’organisation nous clôturons les réservations pour chaque dîner-spectacle au plus tard 7 jours avant la représentation. Et ce afin de communiquer les choix de menus au traiteur et garantir la fraicheur des aliments.\\n\\n\\n\\n\\n\\t\\t\\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\\n\\n\\nLa possibilité de s'assurer en cas d'imprévus est possible via votre partenaire meetch.L'assurance est à souscrire au moment de l'achat des billets uniquement.\\nPlus d'informations en cliquant ici(opens in new tab)\\n\\n\\n\\n\\n\\t\\t\\tA partir de quel âge peut-on assister au spectacle ?\\n\\n\\nNotre spectacle est intergénérationnel. Les enfants sont bien sûr acceptés sous la surveillance d’un adulte. Nous conseillons le dîner-spectacle pour les enfants à partir de 3 ans. Il est toutefois possible d’assister au spectacle avec un enfant de moins de 3 ans mais il conviendra de réserver une place avec menu quelque soit l’âge de votre enfant. Le menu enfant est conseillé jusqu'à 10 ans inclus mais reste disponible pour les enfants jusqu'à 12 ans inclus.\\n\\n\\n\\n\\n\\t\\t\\tEst-ce que je peux uniquement assister au spectacle ?\\n\\n\\nNon il n’est pas possible d’assister uniquement au spectacle lors des séances dîners-spectacle. Il est impératif de réserver une formule repas au choix (enfant, tradition, végétarien ou saveurs.\\n\\n\\n\\n\\n\\t\\t\\tQuels sont les modes de paiement acceptés ?\\n\\n\\nLes guichets de la billetterie du Cirque Arlette Gruss acceptent les cartes bancaires, (CB, Visa, Eurocard), cartes American Express, chèques vacances ANCV et les espèces.\\nPour les achats de billets en ligne sur www.cirque-gruss.com les moyens de paiement ci-dessous sont acceptés :\\n\\nPour les ventes à l'intérieur du chapiteau, seul le bar accepte les paiements espèces et cartes bancaires (CB, Visa, Eurocard)\\nNos snacks, boissons, souvenirs et certains de nos autres stands ambulants n'acceptent que les espèces.\\n\\n\\n\\n\\n\\t\\t\\tLes poussettes et cosy sont-ils autorisés sous le chapiteau ?\\n\\n\\nLes poussettes et cosy ne sont pas autorisés dans la salle de spectacle et devront impérativement être déposés dans le hall du chapiteau, où un espace avec signalétique leur est dédié.\\n\\n\\n\\n\\n\\t\\t\\tJ’ai fait une réservation sur internet, et me suis trompé de séance, que faire ?\\n\\n\\nDans un premier temps merci de ne pas ré-effectuer de commande. Les achats de places sur internet sont définitifs et ne peuvent être modifiés. Toutefois en cas de force majeure uniquement, nous vous conseillons de nous contacter par mail :  $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ ou au  0812 106 406  (de 12h à 15h et de 16h à 19h) Numéro indigo (0,05€ l'appel). \\n\\n\\n\\n\\n\\t\\t\\tComment se déroulera le placement sous le chapiteau ?\\n\\n\\nLe placement est numéroté selon n° d'accès, de place et de rang figurant sur vos billets. A noter toutefois, en fonction de contraintes organisationnelles notamment par rapport au service, que nous pouvons être amené à replacer votre commande. Dans ce cas vous serez averti par mail et recevrez de nouveaux E-billets.\\n\\n\\n\\n\\n\\t\\t\\tMes numéros de place ne se suivent pas, est-ce normal ?\\n\\n\\nOui ! Le chapiteau est divisé en un côté pair (2-4-6-8 ... ) et impair (1-3-5-7-9 ...).À noter par ailleurs que la place (ou Loges) 13 et 113 n'existe pas sous notre chapiteau.\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé pour une autre personne, comment faire pour la pièce dʼidentité ?\\n\\n\\nFaire une photocopie de la pièce dʼidentité et la donner aux personnes concernées.\\n\\n\\n\\n\\n\\t\\t\\tJe ne peux pas imprimer les E-billets, que puis-je faire ?\\n\\n\\nVous pourrez présenter vos E-Billets préalablement enregistrés sur votre mobile. Il sera aussi possible de se présenter aux guichets de la billetterie du cirque avec une pièce d'identité au même nom que la commande afin de procéder au retrait des billets.\\n\\n\\n\\n\\n\\t\\t\\tJe nʼai pas reçu dʼe-mail de confirmation, est-ce normal ?\\n\\n\\nNon, merci de vérifier dans vos courriers indésirables.\\nRendez-vous également dans votre espace client(opens in new tab) sur notre site de réservation afin de télécharger à nouveau vos E-billets.Si non, merci de nous contacter par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé des places pour samedi, puis-je les retirer avant ?\\n\\n\\nOui, sur présentation de la carte dʼidentité.Les guichets de la billetterie sont ouverts tous les jours de 12h à 15H et de 16h à 19h (sauf le jour d'arrivée dans la ville)\\nPour connaitre les horaires d'ouverture dans votre ville visitez notre page tournée et cliquez sur la ville de votre choix.\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé mes places, mais il y a une personne en fauteuil roulant, que faire ?\\n\\n\\nNous contacter rapidement par téléphone au 0812 106 406  (de 12h à 15 et de 16h à19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tJe me suis trompé, jʼai réservé des places enfants au lieu des places adultes. Que dois-je faire ?\\n\\n\\nMerci de nous contacter par mail : $[E498d35fbe5815c0e22cc5680cf18b94a1e10d7d12c1e2a22aff985d0a4bf70d9]$ par téléphone : 0812 106 406  (12h à 15h et de 16h à 19h) Numéro indigo (0,05€ l'appel)  pour effectuer votre changement.\\n\\n\\n\\n\\n\\t\\t\\tEst-ce que je peux changer de menu une fois les places réservées ? \\n\\n\\nNon malheureusement la modification de menu n’est pas possible une fois les billets réservées sur notre site internet.\\n\\n\\n\\n\\n\\t\\t\\tJ’ai une intolérance/allergie alimentaire est-il possible d’adapter les menus ?\\n\\n\\nIl est tout à fait possible d’adapter les menus. Il faudra simplement nous le signaler au moment de votre réservation et ce au plus tard 7 jours avant la représentation. Passé ce délai nous ne pourrions plus prendre en compte vos éventuelles demandes. Pour ce faire nous vous invitons à nous faire part de vos demandes par mail à l’adresse $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tPuis-je acheter les boissons sur places ?\\n\\n\\nOui l’achat de boisson supplémentaire est possible en se rendant à notre bar situé dans le hall d’accueil du chapiteau.\\n\\n\\n\\n\\n\\t\\t\\tCombien de temps dure le Dîner Spectacle ?\\n\\n\\nLa soirée dure 2h30 environ.\\n\\n\\n\\n\\n\\t\\t\\tPuis-je échanger ou annuler mes billets ?\\n\\n\\nEn application des conditions de l’article 221-28 12° du Code de la consommation, le Client ne bénéficie pas d’un droit de rétractation. Le billet émis au titre de la Prestation ne peut être ni repris, ni remboursé, ni échangé. Ainsi, si le Client annule sa réservation, le prix payé par le Client au titre du billet restera acquis au Cirque Arlette Gruss à titre indemnitaire.\\n\\n\\n\\n\\n\\t\\t\\tPuis-je prendre des photos pendant le spectacle ?\\n\\n\\nPour des questions de droits d’auteur et de sécurité, il est strictement interdit de filmer ou enregistrer, tout ou partie de la salle et du spectacle. Il est toutefois possible de prendre des photos sans flash.\\n\\n\\n\\n\\n\\t\\t\\tEst-il possible de fumer ou vapoter dans la salle ?\\n\\n\\nNous vous informons que le Cirque Arlette Gruss est un établissement non-fumeur : entrée, hall, salle de spectacle. La cigarette électronique n’est pas autorisée.\\n\\n\\n\\n\\n\\t\\t\\tLe programme de la soirée (déroulé, spectacle etc.) est-il susceptible de changer ?\\n\\n\\nLa Direction se réserve le droit de modifier le programme.\\n\\n\\n\\n\\n\\t\\t\\tA quelle heure dois-je arriver sur place ?\\n\\n\\nAfin de vous recevoir dans les meilleures conditions, l’ouverture des portes du Cirque Arlette Gruss a lieu 30 minutes avant l’horaire de la représentation.\\n\\nPour les soirées « dîner-spectacle 20h00», merci de vous présenter à partir de 19H30. Sortie à 22h30.\\nPour la soirée « St Sylvestre » merci de vous présenter à partir de 19H30. Sortie à 02H00.\\nPour les soirées « spectacle 20h30 », merci de vous présenter à partir de 20H00. Sortie à 23h00.\\n\\nEn cas d’arrivée tardive après le début du spectacle le placement ne pourra pu être garanti tout comme le service des plats qui aurait déjà été dégusté. Aucun remboursement ne pourra être accordé. Nous vous remercions de votre compréhension et vous souhaitons la plus belle des soirées.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\",\"properties.url.0\":\"\\n\\n\",\"properties.url.1\":\"\\n\\n\",\"properties.image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/WPHeader\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/Organization\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/SiteNavigationElement\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/Organization\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/CreativeWork\",\"properties.text\":\"\\n\\n\\n\\n\\n\\n\\n\\n\\t\\t\\n\\n\\nÀ propos du Cirque et son spectacle \\n\\n\\n\\n\\n\\n\\n\\t\\t\\n\\n\\nÀ propos du Dîner-Spectacle\\n\\n\\n\\n\\n\\n\\n\\n\\n\\t\\t\\n\\n\\n\\t\\t\\n\\n\\n\\n\\n\\t\\t\\tPeut-on acheter nos places juste avant le spectacle ?\\n\\n\\nOui. Attention toutefois, les réservations étant ouvertes plusieurs mois à l’avance, certaines séances peuvent être complètes, il est donc vivement conseillé de réserver vos places à l’avance. Dans tous les cas votre réservation devra être réglé au plus tard 24h avant l'horaire de la représentation.\\n\\n\\n\\n\\n\\t\\t\\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\\n\\n\\nLa possibilité de s'assurer en cas d'imprévus est possible via votre partenaire meetch.L'assurance est à souscrire au moment de l'achat des billets uniquement.\\nPlus d'informations en cliquant ici(opens in new tab)\\n\\n\\n\\n\\n\\t\\t\\tJ’ai réservé une prestation complémentaire, comment pourrais-je bénéficier de cette dernière  ?\\n\\n\\nLes informations sur les modalités de retrait de vos prestations et produits seront indiqués sur le E-Billet que vous recevrez par e-mail. Sachez que des espaces dédiés pour le retrait de vos achats seront clairement balisés dans notre hall d’accueil.\\n\\n\\n\\n\\n\\t\\t\\tJ'ai un enfant de moins de trois ans, lui faut-il un billet ?\\n\\n\\nL’entrée est gratuite pour les moins de 3 ans mais aucune place assise ne leur est attribuée. Ils entrent sans billet mais sont gardés sur les genoux. Attention un contrôle de l'âge des enfants peut être réalisé par nos soins en cas de doutes.\\n\\n\\n\\n\\n\\t\\t\\tQuels sont les modes de paiement acceptés ?\\n\\n\\nLes guichets de la billetterie du Cirque Arlette Gruss acceptent les cartes bancaires, (CB, Visa, Eurocard), cartes American Express, chèques vacances ANCV et les espèces.\\nPour les achats de billets en ligne sur www.cirque-gruss.com les moyens de paiement ci-dessous sont acceptés :\\n\\nPour les ventes à l'intérieur du chapiteau, seul le bar accepte les paiements espèces et cartes bancaires (CB, Visa, Eurocard)\\nNos snacks, boissons, souvenirs et certains de nos autres stands ambulants n'acceptent que les espèces.\\nPrivilégiez la monnaie.Il n'y a pas de distributeur de billets sous le chapiteau !\\n\\n\\n\\n\\n\\t\\t\\tLes poussettes et cosy sont-ils autorisés sous le chapiteau ?\\n\\n\\nLes poussettes et cosy ne sont pas autorisés dans la salle de spectacle et devront impérativement être déposés dans le hall du chapiteau, où un espace avec signalétique leur est dédié.\\n\\n\\n\\n\\n\\t\\t\\tJ’ai fait une réservation sur internet, et me suis trompé de séance, que faire ?\\n\\n\\nDans un premier temps merci de ne pas réeffectuer de commande. Les achats de places sur internet sont définitifs et ne peuvent être modifiés. Toutefois en cas de force majeure uniquement, nous vous conseillons de nous contacter par mail :  $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ ou au  0812 106 406  (de 12h à 15H et de 16h à 19h) Numéro indigo (0,05€ l'appel). \\n\\n\\n\\n\\n\\t\\t\\tComment se déroulera le placement sous le chapiteau ?\\n\\n\\nLe placement est numéroté selon n° d'accès, de place et de rang figurant sur vos billets. A noter, en fonction des conditions sanitaires, que nous pouvons à tout moment modifier temporairement les règles de placement et mettre en œuvre un placement accompagné dans la catégorie selon l’ordre d’arrivée et ce pour les autres villes. Ce mode de fonctionnement temporaire permettra de mettre en place une distanciation entre chaque famille.\\n\\n\\n\\n\\n\\t\\t\\tJe souhaiterais acheter un souvenir du Cirque, quels sont les horaires de la boutique ?\\n\\n\\nLa boutique, située dans le hall du chapiteau, est ouverte au moment des spectacles (ouverture 45 min avant le début de la séance et pendant toute la durée de la représentation – sauf sur la dernière représentation du séjour, la boutique ferme alors après l’entracte ). Pensez aussi à visiter notre boutique en ligne ou vous pourrez peut-être trouver le souvenir de votre choix.\\n\\n\\n\\n\\n\\t\\t\\tMes numéros de place ne se suivent pas, est-ce normal ?\\n\\n\\nOui ! Le chapiteau est divisé en un côté pair (2-4-6-8 ... ) et impair (1-3-5-7-9 ...).À noter par ailleurs que la place (ou loge) 13 ou 113 n'existe pas sous notre chapiteau.\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé pour une autre personne, comment faire pour la pièce dʼidentité ?\\n\\n\\nFaire une photocopie de la pièce dʼidentité et la donner aux personnes concernées.\\n\\n\\n\\n\\n\\t\\t\\tJe ne peux pas imprimer les E-billets, que puis-je faire ?\\n\\n\\nVous pourrez présenter vos E-Billets préalablement enregistrés sur votre mobile. Il sera aussi possible de se présenter aux guichets de la billetterie du cirque avec une pièce d'identité au même nom que la commande afin de procéder au retrait des billets.\\n\\n\\n\\n\\n\\t\\t\\tJe nʼai pas reçu dʼe-mail de confirmation, est-ce normal ?\\n\\n\\nNon, merci de vérifier dans vos courriers indésirables.\\nRendez-vous également dans votre espace client(opens in new tab) sur notre site de réservation afin de télécharger à nouveau vos E-billets.Si non, merci de nous contacter par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé des places pour samedi, puis-je les retirer avant ?\\n\\n\\nOui, sur présentation de la carte dʼidentité.Les guichets de la billetterie sont ouverts tous les jours de 12h à 15H et de 16h à 19h (sauf le jour d'arrivée dans la ville)\\nPour connaitre les horaires d'ouverture dans votre ville visitez notre page tournée et cliquez sur la ville de votre choix.\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé mes places, mais il y a une personne en fauteuil roulant, que faire ?\\n\\n\\nNous contacter rapidement par téléphone au 0812 106 406  (12h-19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tJe me suis trompé, jʼai réservé des places enfants au lieu des places adultes. Que dois-je faire ?\\n\\n\\nMerci de nous contacter par mail : $[E498d35fbe5815c0e22cc5680cf18b94a1e10d7d12c1e2a22aff985d0a4bf70d9]$ par téléphone : 0812 106 406  (de 12h à 15H et de 16h à 19h) Numéro indigo (0,05€ l'appel)  pour effectuer votre changement.\\n\\n\\n\\n\\n\\t\\t\\tPuis je venir avec mon chien ?\\n\\n\\nNos amis les bêtes ne sont pas acceptés sous le chapiteau.\\nVous pouvez toutefois nous contacter par téléphone au 0812 106 406  (12h-19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ pour formaliser une demande exceptionnelle si le chien en question est indispensable pour vos déplacements. Nous pourrons vous délivrer une autorisation exceptionnelle sous certaines conditions.\\n\\n\\n\\n\\n\\t\\t\\tJe ne parviens pas à téléphoner au 0812 106 406\\n\\n\\nEn effet, certaines conditions peuvent vous empêcher de contacter ce type de numéro :\\n• Sur les lignes fixes professionnelles, certains employeurs bloquent les numéros qui débutent par 08 -- --\\n• Depuis l'étranger, les numéros spéciaux français peuvent être bloqués. Essayez de rajouter le pré-fixe international, et donc composer le +33 812 106 406\\n• Certains opérateurs téléphoniques activent par défaut le \\\"blocage des numéraux spéciaux\\\". Consultez votre fournisseur d'accès pour en savoir plus.\\n• Dans tous les cas pensez à tester notre numéro Azur depuis une autre ligne\\nSi le problème persiste merci de nous adresser votre demande par mail à l'adresse $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tPuis-je échanger ou annuler mes billets ?\\n\\n\\nEn application des conditions de l’article 221-28 12° du Code de la consommation, le Client ne bénéficie pas d’un droit de rétractation. Le billet émis au titre de la Prestation ne peut être ni repris, ni remboursé, ni échangé. Ainsi, si le Client annule sa réservation, le prix payé par le Client au titre du billet restera acquis au Cirque Arlette Gruss à titre indemnitaire.\\n\\n\\n\\n\\n\\t\\t\\tPuis-je prendre des photos pendant le spectacle ?\\n\\n\\nPour des questions de droits d’auteur et de sécurité, il est strictement interdit de filmer ou enregistrer, tout ou partie de la salle et du spectacle. Il est toutefois possible de prendre des photos sans flash.\\n\\n\\n\\n\\n\\t\\t\\tEst-il possible de fumer ou vapoter dans la salle ?\\n\\n\\nNous vous informons que le Cirque Arlette Gruss est un établissement non-fumeur : entrée, hall, salle de spectacle. La cigarette électronique n’est pas autorisée.\\n\\n\\n\\n\\n\\t\\t\\tLe programme de la soirée (déroulé, spectacle etc.) est-il susceptible de changer ?\\n\\n\\nLa Direction se réserve le droit de modifier le programme.\\n\\n\\n\\n\\n\\t\\t\\tA quelle heure dois-je arriver sur place ?\\n\\n\\nIl est conseillé d'arriver 45 minutes avant le début du spectacle.\\n\\n\\n\\n\\n\\t\\t\\tQue se passe t'il si nous arrivons après le début du spectacle ?\\n\\n\\nVous pourrez vous installer sous le chapiteau et assister à la représentation mais le placement indiqué sur vos billets ne pourra plus être garanti.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\t\\t\\n\\n\\nÀ propos du Dîner-Spectacle\\n\\n\\n\\n\\n\\n\\n\\n\\n\\t\\t\\tPeut-on acheter nos places le jour du spectacle ou la veille ?\\n\\n\\nNon il n’est pas possible d’acheter des places avant le dîner. Pour des raisons d’organisation nous clôturons les réservations pour chaque dîner-spectacle au plus tard 7 jours avant la représentation. Et ce afin de communiquer les choix de menus au traiteur et garantir la fraicheur des aliments.\\n\\n\\n\\n\\n\\t\\t\\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\\n\\n\\nLa possibilité de s'assurer en cas d'imprévus est possible via votre partenaire meetch.L'assurance est à souscrire au moment de l'achat des billets uniquement.\\nPlus d'informations en cliquant ici(opens in new tab)\\n\\n\\n\\n\\n\\t\\t\\tA partir de quel âge peut-on assister au spectacle ?\\n\\n\\nNotre spectacle est intergénérationnel. Les enfants sont bien sûr acceptés sous la surveillance d’un adulte. Nous conseillons le dîner-spectacle pour les enfants à partir de 3 ans. Il est toutefois possible d’assister au spectacle avec un enfant de moins de 3 ans mais il conviendra de réserver une place avec menu quelque soit l’âge de votre enfant. Le menu enfant est conseillé jusqu'à 10 ans inclus mais reste disponible pour les enfants jusqu'à 12 ans inclus.\\n\\n\\n\\n\\n\\t\\t\\tEst-ce que je peux uniquement assister au spectacle ?\\n\\n\\nNon il n’est pas possible d’assister uniquement au spectacle lors des séances dîners-spectacle. Il est impératif de réserver une formule repas au choix (enfant, tradition, végétarien ou saveurs.\\n\\n\\n\\n\\n\\t\\t\\tQuels sont les modes de paiement acceptés ?\\n\\n\\nLes guichets de la billetterie du Cirque Arlette Gruss acceptent les cartes bancaires, (CB, Visa, Eurocard), cartes American Express, chèques vacances ANCV et les espèces.\\nPour les achats de billets en ligne sur www.cirque-gruss.com les moyens de paiement ci-dessous sont acceptés :\\n\\nPour les ventes à l'intérieur du chapiteau, seul le bar accepte les paiements espèces et cartes bancaires (CB, Visa, Eurocard)\\nNos snacks, boissons, souvenirs et certains de nos autres stands ambulants n'acceptent que les espèces.\\n\\n\\n\\n\\n\\t\\t\\tLes poussettes et cosy sont-ils autorisés sous le chapiteau ?\\n\\n\\nLes poussettes et cosy ne sont pas autorisés dans la salle de spectacle et devront impérativement être déposés dans le hall du chapiteau, où un espace avec signalétique leur est dédié.\\n\\n\\n\\n\\n\\t\\t\\tJ’ai fait une réservation sur internet, et me suis trompé de séance, que faire ?\\n\\n\\nDans un premier temps merci de ne pas ré-effectuer de commande. Les achats de places sur internet sont définitifs et ne peuvent être modifiés. Toutefois en cas de force majeure uniquement, nous vous conseillons de nous contacter par mail :  $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ ou au  0812 106 406  (de 12h à 15h et de 16h à 19h) Numéro indigo (0,05€ l'appel). \\n\\n\\n\\n\\n\\t\\t\\tComment se déroulera le placement sous le chapiteau ?\\n\\n\\nLe placement est numéroté selon n° d'accès, de place et de rang figurant sur vos billets. A noter toutefois, en fonction de contraintes organisationnelles notamment par rapport au service, que nous pouvons être amené à replacer votre commande. Dans ce cas vous serez averti par mail et recevrez de nouveaux E-billets.\\n\\n\\n\\n\\n\\t\\t\\tMes numéros de place ne se suivent pas, est-ce normal ?\\n\\n\\nOui ! Le chapiteau est divisé en un côté pair (2-4-6-8 ... ) et impair (1-3-5-7-9 ...).À noter par ailleurs que la place (ou Loges) 13 et 113 n'existe pas sous notre chapiteau.\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé pour une autre personne, comment faire pour la pièce dʼidentité ?\\n\\n\\nFaire une photocopie de la pièce dʼidentité et la donner aux personnes concernées.\\n\\n\\n\\n\\n\\t\\t\\tJe ne peux pas imprimer les E-billets, que puis-je faire ?\\n\\n\\nVous pourrez présenter vos E-Billets préalablement enregistrés sur votre mobile. Il sera aussi possible de se présenter aux guichets de la billetterie du cirque avec une pièce d'identité au même nom que la commande afin de procéder au retrait des billets.\\n\\n\\n\\n\\n\\t\\t\\tJe nʼai pas reçu dʼe-mail de confirmation, est-ce normal ?\\n\\n\\nNon, merci de vérifier dans vos courriers indésirables.\\nRendez-vous également dans votre espace client(opens in new tab) sur notre site de réservation afin de télécharger à nouveau vos E-billets.Si non, merci de nous contacter par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé des places pour samedi, puis-je les retirer avant ?\\n\\n\\nOui, sur présentation de la carte dʼidentité.Les guichets de la billetterie sont ouverts tous les jours de 12h à 15H et de 16h à 19h (sauf le jour d'arrivée dans la ville)\\nPour connaitre les horaires d'ouverture dans votre ville visitez notre page tournée et cliquez sur la ville de votre choix.\\n\\n\\n\\n\\n\\t\\t\\tJʼai réservé mes places, mais il y a une personne en fauteuil roulant, que faire ?\\n\\n\\nNous contacter rapidement par téléphone au 0812 106 406  (de 12h à 15 et de 16h à19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tJe me suis trompé, jʼai réservé des places enfants au lieu des places adultes. Que dois-je faire ?\\n\\n\\nMerci de nous contacter par mail : $[E498d35fbe5815c0e22cc5680cf18b94a1e10d7d12c1e2a22aff985d0a4bf70d9]$ par téléphone : 0812 106 406  (12h à 15h et de 16h à 19h) Numéro indigo (0,05€ l'appel)  pour effectuer votre changement.\\n\\n\\n\\n\\n\\t\\t\\tEst-ce que je peux changer de menu une fois les places réservées ? \\n\\n\\nNon malheureusement la modification de menu n’est pas possible une fois les billets réservées sur notre site internet.\\n\\n\\n\\n\\n\\t\\t\\tJ’ai une intolérance/allergie alimentaire est-il possible d’adapter les menus ?\\n\\n\\nIl est tout à fait possible d’adapter les menus. Il faudra simplement nous le signaler au moment de votre réservation et ce au plus tard 7 jours avant la représentation. Passé ce délai nous ne pourrions plus prendre en compte vos éventuelles demandes. Pour ce faire nous vous invitons à nous faire part de vos demandes par mail à l’adresse $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\\n\\n\\n\\n\\n\\t\\t\\tPuis-je acheter les boissons sur places ?\\n\\n\\nOui l’achat de boisson supplémentaire est possible en se rendant à notre bar situé dans le hall d’accueil du chapiteau.\\n\\n\\n\\n\\n\\t\\t\\tCombien de temps dure le Dîner Spectacle ?\\n\\n\\nLa soirée dure 2h30 environ.\\n\\n\\n\\n\\n\\t\\t\\tPuis-je échanger ou annuler mes billets ?\\n\\n\\nEn application des conditions de l’article 221-28 12° du Code de la consommation, le Client ne bénéficie pas d’un droit de rétractation. Le billet émis au titre de la Prestation ne peut être ni repris, ni remboursé, ni échangé. Ainsi, si le Client annule sa réservation, le prix payé par le Client au titre du billet restera acquis au Cirque Arlette Gruss à titre indemnitaire.\\n\\n\\n\\n\\n\\t\\t\\tPuis-je prendre des photos pendant le spectacle ?\\n\\n\\nPour des questions de droits d’auteur et de sécurité, il est strictement interdit de filmer ou enregistrer, tout ou partie de la salle et du spectacle. Il est toutefois possible de prendre des photos sans flash.\\n\\n\\n\\n\\n\\t\\t\\tEst-il possible de fumer ou vapoter dans la salle ?\\n\\n\\nNous vous informons que le Cirque Arlette Gruss est un établissement non-fumeur : entrée, hall, salle de spectacle. La cigarette électronique n’est pas autorisée.\\n\\n\\n\\n\\n\\t\\t\\tLe programme de la soirée (déroulé, spectacle etc.) est-il susceptible de changer ?\\n\\n\\nLa Direction se réserve le droit de modifier le programme.\\n\\n\\n\\n\\n\\t\\t\\tA quelle heure dois-je arriver sur place ?\\n\\n\\nAfin de vous recevoir dans les meilleures conditions, l’ouverture des portes du Cirque Arlette Gruss a lieu 30 minutes avant l’horaire de la représentation.\\n\\nPour les soirées « dîner-spectacle 20h00», merci de vous présenter à partir de 19H30. Sortie à 22h30.\\nPour la soirée « St Sylvestre » merci de vous présenter à partir de 19H30. Sortie à 02H00.\\nPour les soirées « spectacle 20h30 », merci de vous présenter à partir de 20H00. Sortie à 23h00.\\n\\nEn cas d’arrivée tardive après le début du spectacle le placement ne pourra pu être garanti tout comme le service des plats qui aurait déjà été dégusté. Aucun remboursement ne pourra être accordé. Nous vous remercions de votre compréhension et vous souhaitons la plus belle des soirées.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/SiteNavigationElement\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/SiteNavigationElement\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"http://schema.org/WPFooter\",\"properties.url.0\":\"\\n\\n\",\"properties.url.1\":\"\\n\\n\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/ImageObject\",\"properties.url\":\"\\n\\n\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/ImageObject\",\"properties.url\":\"\\n\\n\"}},{\"tagProtocol\":1,\"tagData\":{\"type\":\"https://schema.org/ImageObject\",\"properties.image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png\"}},{\"tagProtocol\":3,\"tagData\":{\"og:locale\":\"fr_FR\"}},{\"tagProtocol\":3,\"tagData\":{\"og:type\":\"article\"}},{\"tagProtocol\":3,\"tagData\":{\"og:title\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\"}},{\"tagProtocol\":3,\"tagData\":{\"og:description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\"}},{\"tagProtocol\":3,\"tagData\":{\"og:url\":\"https://www.cirque-gruss.com/questions-frequentes\"}},{\"tagProtocol\":3,\"tagData\":{\"og:site_name\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\"}},{\"tagProtocol\":3,\"tagData\":{\"og:updated_time\":\"2025-06-23T17:15:04+02:00\"}},{\"tagProtocol\":3,\"tagData\":{\"og:image\":\"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg\"}},{\"tagProtocol\":3,\"tagData\":{\"og:image:secure_url\":\"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg\"}},{\"tagProtocol\":3,\"tagData\":{\"og:image:width\":\"1000\"}},{\"tagProtocol\":3,\"tagData\":{\"og:image:height\":\"666\"}},{\"tagProtocol\":3,\"tagData\":{\"og:image:alt\":\"questions\"}},{\"tagProtocol\":3,\"tagData\":{\"og:image:type\":\"image/jpeg\"}},{\"tagProtocol\":4,\"tagData\":{\"@context\":\"https://schema.org\",\"@graph.0.@type\":\"Organization\",\"@graph.0.@id\":\"https://www.cirque-gruss.com/#organization\",\"@graph.0.name\":\"Cirque Arlette Gruss\",\"@graph.0.sameAs.0\":\"https://www.facebook.com/CirqueArletteGrussOfficiel/\",\"@graph.0.logo.@type\":\"ImageObject\",\"@graph.0.logo.@id\":\"https://www.cirque-gruss.com/#logo\",\"@graph.0.logo.url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png\",\"@graph.0.logo.contentUrl\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png\",\"@graph.0.logo.caption\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"@graph.0.logo.inLanguage\":\"fr-FR\",\"@graph.0.logo.width\":\"400\",\"@graph.0.logo.height\":\"42\",\"@graph.1.@type\":\"WebSite\",\"@graph.1.@id\":\"https://www.cirque-gruss.com/#website\",\"@graph.1.url\":\"https://www.cirque-gruss.com\",\"@graph.1.name\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"@graph.1.publisher.@id\":\"https://www.cirque-gruss.com/#organization\",\"@graph.1.inLanguage\":\"fr-FR\",\"@graph.2.@type\":\"ImageObject\",\"@graph.2.@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"@graph.2.url\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"@graph.2.width\":\"200\",\"@graph.2.height\":\"200\",\"@graph.2.inLanguage\":\"fr-FR\",\"@graph.3.@type\":\"BreadcrumbList\",\"@graph.3.@id\":\"https://www.cirque-gruss.com/questions-frequentes#breadcrumb\",\"@graph.3.itemListElement.0.@type\":\"ListItem\",\"@graph.3.itemListElement.0.position\":\"1\",\"@graph.3.itemListElement.0.item.@id\":\"https://www.cirque-gruss.com\",\"@graph.3.itemListElement.0.item.name\":\"Home\",\"@graph.3.itemListElement.1.@type\":\"ListItem\",\"@graph.3.itemListElement.1.position\":\"2\",\"@graph.3.itemListElement.1.item.@id\":\"https://www.cirque-gruss.com/questions-frequentes\",\"@graph.3.itemListElement.1.item.name\":\"Questions fréquentes\",\"@graph.4.@type\":\"WebPage\",\"@graph.4.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"@graph.4.url\":\"https://www.cirque-gruss.com/questions-frequentes\",\"@graph.4.name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.4.datePublished\":\"2019-10-05T21:06:21+02:00\",\"@graph.4.dateModified\":\"2025-06-23T17:15:04+02:00\",\"@graph.4.isPartOf.@id\":\"https://www.cirque-gruss.com/#website\",\"@graph.4.primaryImageOfPage.@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"@graph.4.inLanguage\":\"fr-FR\",\"@graph.4.breadcrumb.@id\":\"https://www.cirque-gruss.com/questions-frequentes#breadcrumb\",\"@graph.5.@type\":\"Article\",\"@graph.5.headline\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.5.datePublished\":\"2019-10-05T21:06:21+02:00\",\"@graph.5.dateModified\":\"2025-06-23T17:15:04+02:00\",\"@graph.5.author.@type\":\"Person\",\"@graph.5.author.name\":\"test04\",\"@graph.5.description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"@graph.5.name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.5.@id\":\"https://www.cirque-gruss.com/questions-frequentes#schema-88099\",\"@graph.5.isPartOf.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"@graph.5.publisher.@id\":\"https://www.cirque-gruss.com/#organization\",\"@graph.5.image.@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"@graph.5.inLanguage\":\"fr-FR\",\"@graph.5.mainEntityOfPage.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"@graph.6.@type\":\"Article\",\"@graph.6.headline\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.6.datePublished\":\"2019-10-05T21:06:21+02:00\",\"@graph.6.dateModified\":\"2025-06-23T17:15:04+02:00\",\"@graph.6.author.@type\":\"Person\",\"@graph.6.author.name\":\"test04\",\"@graph.6.description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"@graph.6.name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.6.@id\":\"https://www.cirque-gruss.com/questions-frequentes#schema-202522\",\"@graph.6.isPartOf.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"@graph.6.publisher.@id\":\"https://www.cirque-gruss.com/#organization\",\"@graph.6.image.@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"@graph.6.inLanguage\":\"fr-FR\",\"@graph.6.mainEntityOfPage.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"@graph.7.@type\":\"Article\",\"@graph.7.headline\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.7.datePublished\":\"2019-10-05T21:06:21+02:00\",\"@graph.7.dateModified\":\"2025-06-23T17:15:04+02:00\",\"@graph.7.author.@type\":\"Person\",\"@graph.7.author.name\":\"test04\",\"@graph.7.description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"@graph.7.name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.7.@id\":\"https://www.cirque-gruss.com/questions-frequentes#schema-205809\",\"@graph.7.isPartOf.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"@graph.7.publisher.@id\":\"https://www.cirque-gruss.com/#organization\",\"@graph.7.image.@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"@graph.7.inLanguage\":\"fr-FR\",\"@graph.7.mainEntityOfPage.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"@graph.8.@type\":\"Article\",\"@graph.8.headline\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.8.datePublished\":\"2019-10-05T21:06:21+02:00\",\"@graph.8.dateModified\":\"2025-06-23T17:15:04+02:00\",\"@graph.8.author.@type\":\"Person\",\"@graph.8.author.name\":\"test04\",\"@graph.8.description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"@graph.8.name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@graph.8.@id\":\"https://www.cirque-gruss.com/questions-frequentes#schema-207385\",\"@graph.8.isPartOf.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"@graph.8.publisher.@id\":\"https://www.cirque-gruss.com/#organization\",\"@graph.8.image.@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"@graph.8.inLanguage\":\"fr-FR\",\"@graph.8.mainEntityOfPage.@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:viewport\":\"width=device-width, initial-scale=1\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:robots\":\"follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:twitter:card\":\"summary_large_image\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:twitter:title\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:twitter:description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:twitter:image\":\"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:twitter:label1\":\"Temps de lecture\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:twitter:data1\":\"13 minutes\"}},{\"tagProtocol\":5,\"tagData\":{\"meta:msapplication-TileImage\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-300x300.png\"}},{\"tagProtocol\":5,\"tagData\":{\"title\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\"}},{\"tagProtocol\":6,\"tagData\":{\"canonicalUrl\":\"https://www.cirque-gruss.com/questions-frequentes\"}}],\"pids\":[\"bdb43125-632f-4607-bcd8-ba1682ca837c\"],\"ms\":2,\"gat\":[\"AW-11241157491\",\"GTM-WGZHD7C\"]},\"del\":196}],\"u_scsid\":\"0c960677-ef2a-41b9-842e-85af320bce2b\"}","post_request_url":"https://tr.snapchat.com/p","post_request_ps":"snapchat.com"}]},"session_recorders":{},"third_party_trackers":[{"data":{"body":{"_inspection":{"inter_id":"1.-1455.81::0.0.0.0::6703.4.900","vids":"76936274"},"action":"Pf","auto_collected_properties":{"action_event":"pl","inter":{"ct":0,"pl":8179,"st":2},"page_inter":{"ct":0,"metrics_type":"ct|st|pl","pl":8179,"st":2}},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":2,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"2","referrer":"","url":"https://www.cirque-gruss.com/questions-frequentes"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-ehsNK.2.0::eb588d11-c68c-11f1-89f2-4e8cfd4c4d19","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","user":{"anonymous_id":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844404939-8337003025157","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:24.939Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/inter"},{"data":{"body":{"ctx":{"a":[18,24,29,29,1],"bg":true,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","df":true,"huah":true,"lc":"2ced1154-9243-44bd-998f-1764081465fc","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[492,499,435,1540,1314],"pv":2,"r":"26e5cb73-a65e-4d66-a166-2d4970293af2","rd":8177,"sa":1791844398071,"sh":745,"si":"054DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0Zcz9TzkhvPWB-A5-0i1PfJQszNh16kDsXMTbKxXwy9mAyWBnfvKrW5bS6FrzILzivIL0XknOdAl09LQeos7RFUkkO8vdOPF2QIFGX86HZQwZikLOEm5ctzpl5uZsJmLUlwKTry4n4K4LeA","sps":6863,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844404937,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/questions-frequentes","v":"3.60.0-2608111919"},"req":[{"del":0,"md":{"ms":3,"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"psc":2}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{"ad_id":"undefined","app_name":"external","att_status":3,"creative_id":"undefined","custom_enum":"form_visible","custom_name":"form_funnel","ext_json":{"message":"form_1|1.-1455.81::0.0.0.0::0.0.0|","performance":[],"pixel_api_conflict_flag":false,"pixel_list":"C50A482LQH64DC0FCGG0,CT443I3C77U9RNPHCGL0"},"in_iframe":1,"latency":0,"lib":{"lib_version":"2.2.1","ttq_name":"ttq"},"load_id":"eb588d11-c68c-11f1-89f2-4e8cfd4c4d19","metric_name":"custom_info","net_type":"4g","page_url":"https://www.cirque-gruss.com/questions-frequentes","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-ehsNK.2.0","partner":"non","pixel_code":"C50A482LQH64DC0FCGG0","pixel_monitor_version":"v2","placement":"non","platform":1,"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","time_to_last_start":1660,"time_to_navigation_start":1946,"user_agent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default","vids":"76936274"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/monitor"},{"data":{"body":{"_inspection":{"inter_id":"1.-1455.81::0.0.0.0::0.0.0","vids":"76936274"},"action":"Direct","auto_collected_properties":{"page_trigger":"tts-lf-form_visible"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":2,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"2","referrer":"","url":"https://www.cirque-gruss.com/questions-frequentes"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-ehsNK.2.0::eb588d11-c68c-11f1-89f2-4e8cfd4c4d19","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","sessions":[{"csct":1,"csid":"1791844398213::bVkDfkfOnTPx19smVJ_b","page_csid":"1791844398214::ZotcZCBaJ7peTZjKVxzo","pixel_code":"C50A482LQH64DC0FCGG0"},{"csct":1,"csid":"1791844398216::1hXMv600fYQOf6hfGqVL","page_csid":"1791844398214::ZotcZCBaJ7peTZjKVxzo","pixel_code":"CT443I3C77U9RNPHCGL0"}],"user":{"anonymous_id":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844398708-2201762922821","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:18.708Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/act"},{"data":{"body":{"ctx":{"a":[18,24,29,29,1],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","df":true,"huah":true,"lc":"2ced1154-9243-44bd-998f-1764081465fc","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[492,499,435,1540,1314],"pv":2,"r":"7e10a85f-4137-4ad8-95da-3133f2836797","rd":1789,"sa":1791844398071,"sh":745,"si":"054DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0Zcz9TzkhvPWB-A5-0i1PfJQszNh16kDsXMTbKxXwy9mAyWBnfvKrW5bS6FrzILzivIL0XknOdAl09LQeos7RFUkkO8vdOPF2QIFGX86HZQwZikQ4Z-EKhfQTfd2CraMTPyg2eXOqnnzEl1","sps":475,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844398549,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/questions-frequentes","v":"3.60.0-2608111919"},"req":[{"del":257,"log":{"message":"event_type","name":"TPFA","pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"stack":"    at Nt (https://sc-static.net/scevent.min.js:2:6415)\n    at pa (https://sc-static.net/scevent.min.js:2:35167)\n    at ka (https://sc-static.net/scevent.min.js:2:37879)\n    at https://sc-static.net/scevent.min.js:2:39341\n    at https://sc-static.net/scevent.min.js:2:4817\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at s (https://sc-static.net/scevent.min.js:2:4794)\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at c.send (https://sc-static.net/scevent.min.js:2:5102)\n    at y (https://sc-static.net/scevent.min.js:2:2806)"}},{"del":196,"md":{"gat":["AW-11241157491","GTM-WGZHD7C"],"md":[{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png","properties.text":"\n\n\n\n\n\n\n\n\t\t\n\n\nÀ propos du Cirque et son spectacle \n\n\n\n\n\n\n\t\t\n\n\nÀ propos du Dîner-Spectacle\n\n\n\n\n\n\n\n\n\t\t\n\n\n\t\t\n\n\n\n\n\t\t\tPeut-on acheter nos places juste avant le spectacle ?\n\n\nOui. Attention toutefois, les réservations étant ouvertes plusieurs mois à l’avance, certaines séances peuvent être complètes, il est donc vivement conseillé de réserver vos places à l’avance. Dans tous les cas votre réservation devra être réglé au plus tard 24h avant l'horaire de la représentation.\n\n\n\n\n\t\t\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\n\n\nLa possibilité de s'assurer en cas d'imprévus est possible via votre partenaire meetch.L'assurance est à souscrire au moment de l'achat des billets uniquement.\nPlus d'informations en cliquant ici(opens in new tab)\n\n\n\n\n\t\t\tJ’ai réservé une prestation complémentaire, comment pourrais-je bénéficier de cette dernière  ?\n\n\nLes informations sur les modalités de retrait de vos prestations et produits seront indiqués sur le E-Billet que vous recevrez par e-mail. Sachez que des espaces dédiés pour le retrait de vos achats seront clairement balisés dans notre hall d’accueil.\n\n\n\n\n\t\t\tJ'ai un enfant de moins de trois ans, lui faut-il un billet ?\n\n\nL’entrée est gratuite pour les moins de 3 ans mais aucune place assise ne leur est attribuée. Ils entrent sans billet mais sont gardés sur les genoux. Attention un contrôle de l'âge des enfants peut être réalisé par nos soins en cas de doutes.\n\n\n\n\n\t\t\tQuels sont les modes de paiement acceptés ?\n\n\nLes guichets de la billetterie du Cirque Arlette Gruss acceptent les cartes bancaires, (CB, Visa, Eurocard), cartes American Express, chèques vacances ANCV et les espèces.\nPour les achats de billets en ligne sur www.cirque-gruss.com les moyens de paiement ci-dessous sont acceptés :\n\nPour les ventes à l'intérieur du chapiteau, seul le bar accepte les paiements espèces et cartes bancaires (CB, Visa, Eurocard)\nNos snacks, boissons, souvenirs et certains de nos autres stands ambulants n'acceptent que les espèces.\nPrivilégiez la monnaie.Il n'y a pas de distributeur de billets sous le chapiteau !\n\n\n\n\n\t\t\tLes poussettes et cosy sont-ils autorisés sous le chapiteau ?\n\n\nLes poussettes et cosy ne sont pas autorisés dans la salle de spectacle et devront impérativement être déposés dans le hall du chapiteau, où un espace avec signalétique leur est dédié.\n\n\n\n\n\t\t\tJ’ai fait une réservation sur internet, et me suis trompé de séance, que faire ?\n\n\nDans un premier temps merci de ne pas réeffectuer de commande. Les achats de places sur internet sont définitifs et ne peuvent être modifiés. Toutefois en cas de force majeure uniquement, nous vous conseillons de nous contacter par mail :  $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ ou au  0812 106 406  (de 12h à 15H et de 16h à 19h) Numéro indigo (0,05€ l'appel). \n\n\n\n\n\t\t\tComment se déroulera le placement sous le chapiteau ?\n\n\nLe placement est numéroté selon n° d'accès, de place et de rang figurant sur vos billets. A noter, en fonction des conditions sanitaires, que nous pouvons à tout moment modifier temporairement les règles de placement et mettre en œuvre un placement accompagné dans la catégorie selon l’ordre d’arrivée et ce pour les autres villes. Ce mode de fonctionnement temporaire permettra de mettre en place une distanciation entre chaque famille.\n\n\n\n\n\t\t\tJe souhaiterais acheter un souvenir du Cirque, quels sont les horaires de la boutique ?\n\n\nLa boutique, située dans le hall du chapiteau, est ouverte au moment des spectacles (ouverture 45 min avant le début de la séance et pendant toute la durée de la représentation – sauf sur la dernière représentation du séjour, la boutique ferme alors après l’entracte ). Pensez aussi à visiter notre boutique en ligne ou vous pourrez peut-être trouver le souvenir de votre choix.\n\n\n\n\n\t\t\tMes numéros de place ne se suivent pas, est-ce normal ?\n\n\nOui ! Le chapiteau est divisé en un côté pair (2-4-6-8 ... ) et impair (1-3-5-7-9 ...).À noter par ailleurs que la place (ou loge) 13 ou 113 n'existe pas sous notre chapiteau.\n\n\n\n\n\t\t\tJʼai réservé pour une autre personne, comment faire pour la pièce dʼidentité ?\n\n\nFaire une photocopie de la pièce dʼidentité et la donner aux personnes concernées.\n\n\n\n\n\t\t\tJe ne peux pas imprimer les E-billets, que puis-je faire ?\n\n\nVous pourrez présenter vos E-Billets préalablement enregistrés sur votre mobile. Il sera aussi possible de se présenter aux guichets de la billetterie du cirque avec une pièce d'identité au même nom que la commande afin de procéder au retrait des billets.\n\n\n\n\n\t\t\tJe nʼai pas reçu dʼe-mail de confirmation, est-ce normal ?\n\n\nNon, merci de vérifier dans vos courriers indésirables.\nRendez-vous également dans votre espace client(opens in new tab) sur notre site de réservation afin de télécharger à nouveau vos E-billets.Si non, merci de nous contacter par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tJʼai réservé des places pour samedi, puis-je les retirer avant ?\n\n\nOui, sur présentation de la carte dʼidentité.Les guichets de la billetterie sont ouverts tous les jours de 12h à 15H et de 16h à 19h (sauf le jour d'arrivée dans la ville)\nPour connaitre les horaires d'ouverture dans votre ville visitez notre page tournée et cliquez sur la ville de votre choix.\n\n\n\n\n\t\t\tJʼai réservé mes places, mais il y a une personne en fauteuil roulant, que faire ?\n\n\nNous contacter rapidement par téléphone au 0812 106 406  (12h-19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tJe me suis trompé, jʼai réservé des places enfants au lieu des places adultes. Que dois-je faire ?\n\n\nMerci de nous contacter par mail : $[E498d35fbe5815c0e22cc5680cf18b94a1e10d7d12c1e2a22aff985d0a4bf70d9]$ par téléphone : 0812 106 406  (de 12h à 15H et de 16h à 19h) Numéro indigo (0,05€ l'appel)  pour effectuer votre changement.\n\n\n\n\n\t\t\tPuis je venir avec mon chien ?\n\n\nNos amis les bêtes ne sont pas acceptés sous le chapiteau.\nVous pouvez toutefois nous contacter par téléphone au 0812 106 406  (12h-19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ pour formaliser une demande exceptionnelle si le chien en question est indispensable pour vos déplacements. Nous pourrons vous délivrer une autorisation exceptionnelle sous certaines conditions.\n\n\n\n\n\t\t\tJe ne parviens pas à téléphoner au 0812 106 406\n\n\nEn effet, certaines conditions peuvent vous empêcher de contacter ce type de numéro :\n• Sur les lignes fixes professionnelles, certains employeurs bloquent les numéros qui débutent par 08 -- --\n• Depuis l'étranger, les numéros spéciaux français peuvent être bloqués. Essayez de rajouter le pré-fixe international, et donc composer le +33 812 106 406\n• Certains opérateurs téléphoniques activent par défaut le \"blocage des numéraux spéciaux\". Consultez votre fournisseur d'accès pour en savoir plus.\n• Dans tous les cas pensez à tester notre numéro Azur depuis une autre ligne\nSi le problème persiste merci de nous adresser votre demande par mail à l'adresse $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tPuis-je échanger ou annuler mes billets ?\n\n\nEn application des conditions de l’article 221-28 12° du Code de la consommation, le Client ne bénéficie pas d’un droit de rétractation. Le billet émis au titre de la Prestation ne peut être ni repris, ni remboursé, ni échangé. Ainsi, si le Client annule sa réservation, le prix payé par le Client au titre du billet restera acquis au Cirque Arlette Gruss à titre indemnitaire.\n\n\n\n\n\t\t\tPuis-je prendre des photos pendant le spectacle ?\n\n\nPour des questions de droits d’auteur et de sécurité, il est strictement interdit de filmer ou enregistrer, tout ou partie de la salle et du spectacle. Il est toutefois possible de prendre des photos sans flash.\n\n\n\n\n\t\t\tEst-il possible de fumer ou vapoter dans la salle ?\n\n\nNous vous informons que le Cirque Arlette Gruss est un établissement non-fumeur : entrée, hall, salle de spectacle. La cigarette électronique n’est pas autorisée.\n\n\n\n\n\t\t\tLe programme de la soirée (déroulé, spectacle etc.) est-il susceptible de changer ?\n\n\nLa Direction se réserve le droit de modifier le programme.\n\n\n\n\n\t\t\tA quelle heure dois-je arriver sur place ?\n\n\nIl est conseillé d'arriver 45 minutes avant le début du spectacle.\n\n\n\n\n\t\t\tQue se passe t'il si nous arrivons après le début du spectacle ?\n\n\nVous pourrez vous installer sous le chapiteau et assister à la représentation mais le placement indiqué sur vos billets ne pourra plus être garanti.\n\n\n\n\n\n\n\n\n\t\t\n\n\nÀ propos du Dîner-Spectacle\n\n\n\n\n\n\n\n\n\t\t\tPeut-on acheter nos places le jour du spectacle ou la veille ?\n\n\nNon il n’est pas possible d’acheter des places avant le dîner. Pour des raisons d’organisation nous clôturons les réservations pour chaque dîner-spectacle au plus tard 7 jours avant la représentation. Et ce afin de communiquer les choix de menus au traiteur et garantir la fraicheur des aliments.\n\n\n\n\n\t\t\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\n\n\nLa possibilité de s'assurer en cas d'imprévus est possible via votre partenaire meetch.L'assurance est à souscrire au moment de l'achat des billets uniquement.\nPlus d'informations en cliquant ici(opens in new tab)\n\n\n\n\n\t\t\tA partir de quel âge peut-on assister au spectacle ?\n\n\nNotre spectacle est intergénérationnel. Les enfants sont bien sûr acceptés sous la surveillance d’un adulte. Nous conseillons le dîner-spectacle pour les enfants à partir de 3 ans. Il est toutefois possible d’assister au spectacle avec un enfant de moins de 3 ans mais il conviendra de réserver une place avec menu quelque soit l’âge de votre enfant. Le menu enfant est conseillé jusqu'à 10 ans inclus mais reste disponible pour les enfants jusqu'à 12 ans inclus.\n\n\n\n\n\t\t\tEst-ce que je peux uniquement assister au spectacle ?\n\n\nNon il n’est pas possible d’assister uniquement au spectacle lors des séances dîners-spectacle. Il est impératif de réserver une formule repas au choix (enfant, tradition, végétarien ou saveurs.\n\n\n\n\n\t\t\tQuels sont les modes de paiement acceptés ?\n\n\nLes guichets de la billetterie du Cirque Arlette Gruss acceptent les cartes bancaires, (CB, Visa, Eurocard), cartes American Express, chèques vacances ANCV et les espèces.\nPour les achats de billets en ligne sur www.cirque-gruss.com les moyens de paiement ci-dessous sont acceptés :\n\nPour les ventes à l'intérieur du chapiteau, seul le bar accepte les paiements espèces et cartes bancaires (CB, Visa, Eurocard)\nNos snacks, boissons, souvenirs et certains de nos autres stands ambulants n'acceptent que les espèces.\n\n\n\n\n\t\t\tLes poussettes et cosy sont-ils autorisés sous le chapiteau ?\n\n\nLes poussettes et cosy ne sont pas autorisés dans la salle de spectacle et devront impérativement être déposés dans le hall du chapiteau, où un espace avec signalétique leur est dédié.\n\n\n\n\n\t\t\tJ’ai fait une réservation sur internet, et me suis trompé de séance, que faire ?\n\n\nDans un premier temps merci de ne pas ré-effectuer de commande. Les achats de places sur internet sont définitifs et ne peuvent être modifiés. Toutefois en cas de force majeure uniquement, nous vous conseillons de nous contacter par mail :  $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ ou au  0812 106 406  (de 12h à 15h et de 16h à 19h) Numéro indigo (0,05€ l'appel). \n\n\n\n\n\t\t\tComment se déroulera le placement sous le chapiteau ?\n\n\nLe placement est numéroté selon n° d'accès, de place et de rang figurant sur vos billets. A noter toutefois, en fonction de contraintes organisationnelles notamment par rapport au service, que nous pouvons être amené à replacer votre commande. Dans ce cas vous serez averti par mail et recevrez de nouveaux E-billets.\n\n\n\n\n\t\t\tMes numéros de place ne se suivent pas, est-ce normal ?\n\n\nOui ! Le chapiteau est divisé en un côté pair (2-4-6-8 ... ) et impair (1-3-5-7-9 ...).À noter par ailleurs que la place (ou Loges) 13 et 113 n'existe pas sous notre chapiteau.\n\n\n\n\n\t\t\tJʼai réservé pour une autre personne, comment faire pour la pièce dʼidentité ?\n\n\nFaire une photocopie de la pièce dʼidentité et la donner aux personnes concernées.\n\n\n\n\n\t\t\tJe ne peux pas imprimer les E-billets, que puis-je faire ?\n\n\nVous pourrez présenter vos E-Billets préalablement enregistrés sur votre mobile. Il sera aussi possible de se présenter aux guichets de la billetterie du cirque avec une pièce d'identité au même nom que la commande afin de procéder au retrait des billets.\n\n\n\n\n\t\t\tJe nʼai pas reçu dʼe-mail de confirmation, est-ce normal ?\n\n\nNon, merci de vérifier dans vos courriers indésirables.\nRendez-vous également dans votre espace client(opens in new tab) sur notre site de réservation afin de télécharger à nouveau vos E-billets.Si non, merci de nous contacter par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tJʼai réservé des places pour samedi, puis-je les retirer avant ?\n\n\nOui, sur présentation de la carte dʼidentité.Les guichets de la billetterie sont ouverts tous les jours de 12h à 15H et de 16h à 19h (sauf le jour d'arrivée dans la ville)\nPour connaitre les horaires d'ouverture dans votre ville visitez notre page tournée et cliquez sur la ville de votre choix.\n\n\n\n\n\t\t\tJʼai réservé mes places, mais il y a une personne en fauteuil roulant, que faire ?\n\n\nNous contacter rapidement par téléphone au 0812 106 406  (de 12h à 15 et de 16h à19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tJe me suis trompé, jʼai réservé des places enfants au lieu des places adultes. Que dois-je faire ?\n\n\nMerci de nous contacter par mail : $[E498d35fbe5815c0e22cc5680cf18b94a1e10d7d12c1e2a22aff985d0a4bf70d9]$ par téléphone : 0812 106 406  (12h à 15h et de 16h à 19h) Numéro indigo (0,05€ l'appel)  pour effectuer votre changement.\n\n\n\n\n\t\t\tEst-ce que je peux changer de menu une fois les places réservées ? \n\n\nNon malheureusement la modification de menu n’est pas possible une fois les billets réservées sur notre site internet.\n\n\n\n\n\t\t\tJ’ai une intolérance/allergie alimentaire est-il possible d’adapter les menus ?\n\n\nIl est tout à fait possible d’adapter les menus. Il faudra simplement nous le signaler au moment de votre réservation et ce au plus tard 7 jours avant la représentation. Passé ce délai nous ne pourrions plus prendre en compte vos éventuelles demandes. Pour ce faire nous vous invitons à nous faire part de vos demandes par mail à l’adresse $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tPuis-je acheter les boissons sur places ?\n\n\nOui l’achat de boisson supplémentaire est possible en se rendant à notre bar situé dans le hall d’accueil du chapiteau.\n\n\n\n\n\t\t\tCombien de temps dure le Dîner Spectacle ?\n\n\nLa soirée dure 2h30 environ.\n\n\n\n\n\t\t\tPuis-je échanger ou annuler mes billets ?\n\n\nEn application des conditions de l’article 221-28 12° du Code de la consommation, le Client ne bénéficie pas d’un droit de rétractation. Le billet émis au titre de la Prestation ne peut être ni repris, ni remboursé, ni échangé. Ainsi, si le Client annule sa réservation, le prix payé par le Client au titre du billet restera acquis au Cirque Arlette Gruss à titre indemnitaire.\n\n\n\n\n\t\t\tPuis-je prendre des photos pendant le spectacle ?\n\n\nPour des questions de droits d’auteur et de sécurité, il est strictement interdit de filmer ou enregistrer, tout ou partie de la salle et du spectacle. Il est toutefois possible de prendre des photos sans flash.\n\n\n\n\n\t\t\tEst-il possible de fumer ou vapoter dans la salle ?\n\n\nNous vous informons que le Cirque Arlette Gruss est un établissement non-fumeur : entrée, hall, salle de spectacle. La cigarette électronique n’est pas autorisée.\n\n\n\n\n\t\t\tLe programme de la soirée (déroulé, spectacle etc.) est-il susceptible de changer ?\n\n\nLa Direction se réserve le droit de modifier le programme.\n\n\n\n\n\t\t\tA quelle heure dois-je arriver sur place ?\n\n\nAfin de vous recevoir dans les meilleures conditions, l’ouverture des portes du Cirque Arlette Gruss a lieu 30 minutes avant l’horaire de la représentation.\n\nPour les soirées « dîner-spectacle 20h00», merci de vous présenter à partir de 19H30. Sortie à 22h30.\nPour la soirée « St Sylvestre » merci de vous présenter à partir de 19H30. Sortie à 02H00.\nPour les soirées « spectacle 20h30 », merci de vous présenter à partir de 20H00. Sortie à 23h00.\n\nEn cas d’arrivée tardive après le début du spectacle le placement ne pourra pu être garanti tout comme le service des plats qui aurait déjà été dégusté. Aucun remboursement ne pourra être accordé. Nous vous remercions de votre compréhension et vous souhaitons la plus belle des soirées.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","properties.url.0":"\n\n","properties.url.1":"\n\n","type":"https://schema.org/WebPage"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/WPHeader"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/Organization"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/Organization"},"tagProtocol":1},{"tagData":{"properties.text":"\n\n\n\n\n\n\n\n\t\t\n\n\nÀ propos du Cirque et son spectacle \n\n\n\n\n\n\n\t\t\n\n\nÀ propos du Dîner-Spectacle\n\n\n\n\n\n\n\n\n\t\t\n\n\n\t\t\n\n\n\n\n\t\t\tPeut-on acheter nos places juste avant le spectacle ?\n\n\nOui. Attention toutefois, les réservations étant ouvertes plusieurs mois à l’avance, certaines séances peuvent être complètes, il est donc vivement conseillé de réserver vos places à l’avance. Dans tous les cas votre réservation devra être réglé au plus tard 24h avant l'horaire de la représentation.\n\n\n\n\n\t\t\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\n\n\nLa possibilité de s'assurer en cas d'imprévus est possible via votre partenaire meetch.L'assurance est à souscrire au moment de l'achat des billets uniquement.\nPlus d'informations en cliquant ici(opens in new tab)\n\n\n\n\n\t\t\tJ’ai réservé une prestation complémentaire, comment pourrais-je bénéficier de cette dernière  ?\n\n\nLes informations sur les modalités de retrait de vos prestations et produits seront indiqués sur le E-Billet que vous recevrez par e-mail. Sachez que des espaces dédiés pour le retrait de vos achats seront clairement balisés dans notre hall d’accueil.\n\n\n\n\n\t\t\tJ'ai un enfant de moins de trois ans, lui faut-il un billet ?\n\n\nL’entrée est gratuite pour les moins de 3 ans mais aucune place assise ne leur est attribuée. Ils entrent sans billet mais sont gardés sur les genoux. Attention un contrôle de l'âge des enfants peut être réalisé par nos soins en cas de doutes.\n\n\n\n\n\t\t\tQuels sont les modes de paiement acceptés ?\n\n\nLes guichets de la billetterie du Cirque Arlette Gruss acceptent les cartes bancaires, (CB, Visa, Eurocard), cartes American Express, chèques vacances ANCV et les espèces.\nPour les achats de billets en ligne sur www.cirque-gruss.com les moyens de paiement ci-dessous sont acceptés :\n\nPour les ventes à l'intérieur du chapiteau, seul le bar accepte les paiements espèces et cartes bancaires (CB, Visa, Eurocard)\nNos snacks, boissons, souvenirs et certains de nos autres stands ambulants n'acceptent que les espèces.\nPrivilégiez la monnaie.Il n'y a pas de distributeur de billets sous le chapiteau !\n\n\n\n\n\t\t\tLes poussettes et cosy sont-ils autorisés sous le chapiteau ?\n\n\nLes poussettes et cosy ne sont pas autorisés dans la salle de spectacle et devront impérativement être déposés dans le hall du chapiteau, où un espace avec signalétique leur est dédié.\n\n\n\n\n\t\t\tJ’ai fait une réservation sur internet, et me suis trompé de séance, que faire ?\n\n\nDans un premier temps merci de ne pas réeffectuer de commande. Les achats de places sur internet sont définitifs et ne peuvent être modifiés. Toutefois en cas de force majeure uniquement, nous vous conseillons de nous contacter par mail :  $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ ou au  0812 106 406  (de 12h à 15H et de 16h à 19h) Numéro indigo (0,05€ l'appel). \n\n\n\n\n\t\t\tComment se déroulera le placement sous le chapiteau ?\n\n\nLe placement est numéroté selon n° d'accès, de place et de rang figurant sur vos billets. A noter, en fonction des conditions sanitaires, que nous pouvons à tout moment modifier temporairement les règles de placement et mettre en œuvre un placement accompagné dans la catégorie selon l’ordre d’arrivée et ce pour les autres villes. Ce mode de fonctionnement temporaire permettra de mettre en place une distanciation entre chaque famille.\n\n\n\n\n\t\t\tJe souhaiterais acheter un souvenir du Cirque, quels sont les horaires de la boutique ?\n\n\nLa boutique, située dans le hall du chapiteau, est ouverte au moment des spectacles (ouverture 45 min avant le début de la séance et pendant toute la durée de la représentation – sauf sur la dernière représentation du séjour, la boutique ferme alors après l’entracte ). Pensez aussi à visiter notre boutique en ligne ou vous pourrez peut-être trouver le souvenir de votre choix.\n\n\n\n\n\t\t\tMes numéros de place ne se suivent pas, est-ce normal ?\n\n\nOui ! Le chapiteau est divisé en un côté pair (2-4-6-8 ... ) et impair (1-3-5-7-9 ...).À noter par ailleurs que la place (ou loge) 13 ou 113 n'existe pas sous notre chapiteau.\n\n\n\n\n\t\t\tJʼai réservé pour une autre personne, comment faire pour la pièce dʼidentité ?\n\n\nFaire une photocopie de la pièce dʼidentité et la donner aux personnes concernées.\n\n\n\n\n\t\t\tJe ne peux pas imprimer les E-billets, que puis-je faire ?\n\n\nVous pourrez présenter vos E-Billets préalablement enregistrés sur votre mobile. Il sera aussi possible de se présenter aux guichets de la billetterie du cirque avec une pièce d'identité au même nom que la commande afin de procéder au retrait des billets.\n\n\n\n\n\t\t\tJe nʼai pas reçu dʼe-mail de confirmation, est-ce normal ?\n\n\nNon, merci de vérifier dans vos courriers indésirables.\nRendez-vous également dans votre espace client(opens in new tab) sur notre site de réservation afin de télécharger à nouveau vos E-billets.Si non, merci de nous contacter par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tJʼai réservé des places pour samedi, puis-je les retirer avant ?\n\n\nOui, sur présentation de la carte dʼidentité.Les guichets de la billetterie sont ouverts tous les jours de 12h à 15H et de 16h à 19h (sauf le jour d'arrivée dans la ville)\nPour connaitre les horaires d'ouverture dans votre ville visitez notre page tournée et cliquez sur la ville de votre choix.\n\n\n\n\n\t\t\tJʼai réservé mes places, mais il y a une personne en fauteuil roulant, que faire ?\n\n\nNous contacter rapidement par téléphone au 0812 106 406  (12h-19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tJe me suis trompé, jʼai réservé des places enfants au lieu des places adultes. Que dois-je faire ?\n\n\nMerci de nous contacter par mail : $[E498d35fbe5815c0e22cc5680cf18b94a1e10d7d12c1e2a22aff985d0a4bf70d9]$ par téléphone : 0812 106 406  (de 12h à 15H et de 16h à 19h) Numéro indigo (0,05€ l'appel)  pour effectuer votre changement.\n\n\n\n\n\t\t\tPuis je venir avec mon chien ?\n\n\nNos amis les bêtes ne sont pas acceptés sous le chapiteau.\nVous pouvez toutefois nous contacter par téléphone au 0812 106 406  (12h-19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ pour formaliser une demande exceptionnelle si le chien en question est indispensable pour vos déplacements. Nous pourrons vous délivrer une autorisation exceptionnelle sous certaines conditions.\n\n\n\n\n\t\t\tJe ne parviens pas à téléphoner au 0812 106 406\n\n\nEn effet, certaines conditions peuvent vous empêcher de contacter ce type de numéro :\n• Sur les lignes fixes professionnelles, certains employeurs bloquent les numéros qui débutent par 08 -- --\n• Depuis l'étranger, les numéros spéciaux français peuvent être bloqués. Essayez de rajouter le pré-fixe international, et donc composer le +33 812 106 406\n• Certains opérateurs téléphoniques activent par défaut le \"blocage des numéraux spéciaux\". Consultez votre fournisseur d'accès pour en savoir plus.\n• Dans tous les cas pensez à tester notre numéro Azur depuis une autre ligne\nSi le problème persiste merci de nous adresser votre demande par mail à l'adresse $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tPuis-je échanger ou annuler mes billets ?\n\n\nEn application des conditions de l’article 221-28 12° du Code de la consommation, le Client ne bénéficie pas d’un droit de rétractation. Le billet émis au titre de la Prestation ne peut être ni repris, ni remboursé, ni échangé. Ainsi, si le Client annule sa réservation, le prix payé par le Client au titre du billet restera acquis au Cirque Arlette Gruss à titre indemnitaire.\n\n\n\n\n\t\t\tPuis-je prendre des photos pendant le spectacle ?\n\n\nPour des questions de droits d’auteur et de sécurité, il est strictement interdit de filmer ou enregistrer, tout ou partie de la salle et du spectacle. Il est toutefois possible de prendre des photos sans flash.\n\n\n\n\n\t\t\tEst-il possible de fumer ou vapoter dans la salle ?\n\n\nNous vous informons que le Cirque Arlette Gruss est un établissement non-fumeur : entrée, hall, salle de spectacle. La cigarette électronique n’est pas autorisée.\n\n\n\n\n\t\t\tLe programme de la soirée (déroulé, spectacle etc.) est-il susceptible de changer ?\n\n\nLa Direction se réserve le droit de modifier le programme.\n\n\n\n\n\t\t\tA quelle heure dois-je arriver sur place ?\n\n\nIl est conseillé d'arriver 45 minutes avant le début du spectacle.\n\n\n\n\n\t\t\tQue se passe t'il si nous arrivons après le début du spectacle ?\n\n\nVous pourrez vous installer sous le chapiteau et assister à la représentation mais le placement indiqué sur vos billets ne pourra plus être garanti.\n\n\n\n\n\n\n\n\n\t\t\n\n\nÀ propos du Dîner-Spectacle\n\n\n\n\n\n\n\n\n\t\t\tPeut-on acheter nos places le jour du spectacle ou la veille ?\n\n\nNon il n’est pas possible d’acheter des places avant le dîner. Pour des raisons d’organisation nous clôturons les réservations pour chaque dîner-spectacle au plus tard 7 jours avant la représentation. Et ce afin de communiquer les choix de menus au traiteur et garantir la fraicheur des aliments.\n\n\n\n\n\t\t\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\n\n\nLa possibilité de s'assurer en cas d'imprévus est possible via votre partenaire meetch.L'assurance est à souscrire au moment de l'achat des billets uniquement.\nPlus d'informations en cliquant ici(opens in new tab)\n\n\n\n\n\t\t\tA partir de quel âge peut-on assister au spectacle ?\n\n\nNotre spectacle est intergénérationnel. Les enfants sont bien sûr acceptés sous la surveillance d’un adulte. Nous conseillons le dîner-spectacle pour les enfants à partir de 3 ans. Il est toutefois possible d’assister au spectacle avec un enfant de moins de 3 ans mais il conviendra de réserver une place avec menu quelque soit l’âge de votre enfant. Le menu enfant est conseillé jusqu'à 10 ans inclus mais reste disponible pour les enfants jusqu'à 12 ans inclus.\n\n\n\n\n\t\t\tEst-ce que je peux uniquement assister au spectacle ?\n\n\nNon il n’est pas possible d’assister uniquement au spectacle lors des séances dîners-spectacle. Il est impératif de réserver une formule repas au choix (enfant, tradition, végétarien ou saveurs.\n\n\n\n\n\t\t\tQuels sont les modes de paiement acceptés ?\n\n\nLes guichets de la billetterie du Cirque Arlette Gruss acceptent les cartes bancaires, (CB, Visa, Eurocard), cartes American Express, chèques vacances ANCV et les espèces.\nPour les achats de billets en ligne sur www.cirque-gruss.com les moyens de paiement ci-dessous sont acceptés :\n\nPour les ventes à l'intérieur du chapiteau, seul le bar accepte les paiements espèces et cartes bancaires (CB, Visa, Eurocard)\nNos snacks, boissons, souvenirs et certains de nos autres stands ambulants n'acceptent que les espèces.\n\n\n\n\n\t\t\tLes poussettes et cosy sont-ils autorisés sous le chapiteau ?\n\n\nLes poussettes et cosy ne sont pas autorisés dans la salle de spectacle et devront impérativement être déposés dans le hall du chapiteau, où un espace avec signalétique leur est dédié.\n\n\n\n\n\t\t\tJ’ai fait une réservation sur internet, et me suis trompé de séance, que faire ?\n\n\nDans un premier temps merci de ne pas ré-effectuer de commande. Les achats de places sur internet sont définitifs et ne peuvent être modifiés. Toutefois en cas de force majeure uniquement, nous vous conseillons de nous contacter par mail :  $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$ ou au  0812 106 406  (de 12h à 15h et de 16h à 19h) Numéro indigo (0,05€ l'appel). \n\n\n\n\n\t\t\tComment se déroulera le placement sous le chapiteau ?\n\n\nLe placement est numéroté selon n° d'accès, de place et de rang figurant sur vos billets. A noter toutefois, en fonction de contraintes organisationnelles notamment par rapport au service, que nous pouvons être amené à replacer votre commande. Dans ce cas vous serez averti par mail et recevrez de nouveaux E-billets.\n\n\n\n\n\t\t\tMes numéros de place ne se suivent pas, est-ce normal ?\n\n\nOui ! Le chapiteau est divisé en un côté pair (2-4-6-8 ... ) et impair (1-3-5-7-9 ...).À noter par ailleurs que la place (ou Loges) 13 et 113 n'existe pas sous notre chapiteau.\n\n\n\n\n\t\t\tJʼai réservé pour une autre personne, comment faire pour la pièce dʼidentité ?\n\n\nFaire une photocopie de la pièce dʼidentité et la donner aux personnes concernées.\n\n\n\n\n\t\t\tJe ne peux pas imprimer les E-billets, que puis-je faire ?\n\n\nVous pourrez présenter vos E-Billets préalablement enregistrés sur votre mobile. Il sera aussi possible de se présenter aux guichets de la billetterie du cirque avec une pièce d'identité au même nom que la commande afin de procéder au retrait des billets.\n\n\n\n\n\t\t\tJe nʼai pas reçu dʼe-mail de confirmation, est-ce normal ?\n\n\nNon, merci de vérifier dans vos courriers indésirables.\nRendez-vous également dans votre espace client(opens in new tab) sur notre site de réservation afin de télécharger à nouveau vos E-billets.Si non, merci de nous contacter par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tJʼai réservé des places pour samedi, puis-je les retirer avant ?\n\n\nOui, sur présentation de la carte dʼidentité.Les guichets de la billetterie sont ouverts tous les jours de 12h à 15H et de 16h à 19h (sauf le jour d'arrivée dans la ville)\nPour connaitre les horaires d'ouverture dans votre ville visitez notre page tournée et cliquez sur la ville de votre choix.\n\n\n\n\n\t\t\tJʼai réservé mes places, mais il y a une personne en fauteuil roulant, que faire ?\n\n\nNous contacter rapidement par téléphone au 0812 106 406  (de 12h à 15 et de 16h à19h) Numéro indigo (0,05€ l'appel) ou par mail : $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tJe me suis trompé, jʼai réservé des places enfants au lieu des places adultes. Que dois-je faire ?\n\n\nMerci de nous contacter par mail : $[E498d35fbe5815c0e22cc5680cf18b94a1e10d7d12c1e2a22aff985d0a4bf70d9]$ par téléphone : 0812 106 406  (12h à 15h et de 16h à 19h) Numéro indigo (0,05€ l'appel)  pour effectuer votre changement.\n\n\n\n\n\t\t\tEst-ce que je peux changer de menu une fois les places réservées ? \n\n\nNon malheureusement la modification de menu n’est pas possible une fois les billets réservées sur notre site internet.\n\n\n\n\n\t\t\tJ’ai une intolérance/allergie alimentaire est-il possible d’adapter les menus ?\n\n\nIl est tout à fait possible d’adapter les menus. Il faudra simplement nous le signaler au moment de votre réservation et ce au plus tard 7 jours avant la représentation. Passé ce délai nous ne pourrions plus prendre en compte vos éventuelles demandes. Pour ce faire nous vous invitons à nous faire part de vos demandes par mail à l’adresse $[E08673d6a3fb34aaa508dafdcdc92e3a77d4518bd41f73b821dc7b90989eeb6a5]$\n\n\n\n\n\t\t\tPuis-je acheter les boissons sur places ?\n\n\nOui l’achat de boisson supplémentaire est possible en se rendant à notre bar situé dans le hall d’accueil du chapiteau.\n\n\n\n\n\t\t\tCombien de temps dure le Dîner Spectacle ?\n\n\nLa soirée dure 2h30 environ.\n\n\n\n\n\t\t\tPuis-je échanger ou annuler mes billets ?\n\n\nEn application des conditions de l’article 221-28 12° du Code de la consommation, le Client ne bénéficie pas d’un droit de rétractation. Le billet émis au titre de la Prestation ne peut être ni repris, ni remboursé, ni échangé. Ainsi, si le Client annule sa réservation, le prix payé par le Client au titre du billet restera acquis au Cirque Arlette Gruss à titre indemnitaire.\n\n\n\n\n\t\t\tPuis-je prendre des photos pendant le spectacle ?\n\n\nPour des questions de droits d’auteur et de sécurité, il est strictement interdit de filmer ou enregistrer, tout ou partie de la salle et du spectacle. Il est toutefois possible de prendre des photos sans flash.\n\n\n\n\n\t\t\tEst-il possible de fumer ou vapoter dans la salle ?\n\n\nNous vous informons que le Cirque Arlette Gruss est un établissement non-fumeur : entrée, hall, salle de spectacle. La cigarette électronique n’est pas autorisée.\n\n\n\n\n\t\t\tLe programme de la soirée (déroulé, spectacle etc.) est-il susceptible de changer ?\n\n\nLa Direction se réserve le droit de modifier le programme.\n\n\n\n\n\t\t\tA quelle heure dois-je arriver sur place ?\n\n\nAfin de vous recevoir dans les meilleures conditions, l’ouverture des portes du Cirque Arlette Gruss a lieu 30 minutes avant l’horaire de la représentation.\n\nPour les soirées « dîner-spectacle 20h00», merci de vous présenter à partir de 19H30. Sortie à 22h30.\nPour la soirée « St Sylvestre » merci de vous présenter à partir de 19H30. Sortie à 02H00.\nPour les soirées « spectacle 20h30 », merci de vous présenter à partir de 20H00. Sortie à 23h00.\n\nEn cas d’arrivée tardive après le début du spectacle le placement ne pourra pu être garanti tout comme le service des plats qui aurait déjà été dégusté. Aucun remboursement ne pourra être accordé. Nous vous remercions de votre compréhension et vous souhaitons la plus belle des soirées.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","type":"https://schema.org/CreativeWork"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"properties.url.0":"\n\n","properties.url.1":"\n\n","type":"http://schema.org/WPFooter"},"tagProtocol":1},{"tagData":{"properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"og:locale":"fr_FR"},"tagProtocol":3},{"tagData":{"og:type":"article"},"tagProtocol":3},{"tagData":{"og:title":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !"},"tagProtocol":3},{"tagData":{"og:description":"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau"},"tagProtocol":3},{"tagData":{"og:url":"https://www.cirque-gruss.com/questions-frequentes"},"tagProtocol":3},{"tagData":{"og:site_name":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque"},"tagProtocol":3},{"tagData":{"og:updated_time":"2025-06-23T17:15:04+02:00"},"tagProtocol":3},{"tagData":{"og:image":"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg"},"tagProtocol":3},{"tagData":{"og:image:secure_url":"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg"},"tagProtocol":3},{"tagData":{"og:image:width":"1000"},"tagProtocol":3},{"tagData":{"og:image:height":"666"},"tagProtocol":3},{"tagData":{"og:image:alt":"questions"},"tagProtocol":3},{"tagData":{"og:image:type":"image/jpeg"},"tagProtocol":3},{"tagData":{"@context":"https://schema.org","@graph.0.@id":"https://www.cirque-gruss.com/#organization","@graph.0.@type":"Organization","@graph.0.logo.@id":"https://www.cirque-gruss.com/#logo","@graph.0.logo.@type":"ImageObject","@graph.0.logo.caption":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque","@graph.0.logo.contentUrl":"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png","@graph.0.logo.height":"42","@graph.0.logo.inLanguage":"fr-FR","@graph.0.logo.url":"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png","@graph.0.logo.width":"400","@graph.0.name":"Cirque Arlette Gruss","@graph.0.sameAs.0":"https://www.facebook.com/CirqueArletteGrussOfficiel/","@graph.1.@id":"https://www.cirque-gruss.com/#website","@graph.1.@type":"WebSite","@graph.1.inLanguage":"fr-FR","@graph.1.name":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque","@graph.1.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.1.url":"https://www.cirque-gruss.com","@graph.2.@id":"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png","@graph.2.@type":"ImageObject","@graph.2.height":"200","@graph.2.inLanguage":"fr-FR","@graph.2.url":"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png","@graph.2.width":"200","@graph.3.@id":"https://www.cirque-gruss.com/questions-frequentes#breadcrumb","@graph.3.@type":"BreadcrumbList","@graph.3.itemListElement.0.@type":"ListItem","@graph.3.itemListElement.0.item.@id":"https://www.cirque-gruss.com","@graph.3.itemListElement.0.item.name":"Home","@graph.3.itemListElement.0.position":"1","@graph.3.itemListElement.1.@type":"ListItem","@graph.3.itemListElement.1.item.@id":"https://www.cirque-gruss.com/questions-frequentes","@graph.3.itemListElement.1.item.name":"Questions fréquentes","@graph.3.itemListElement.1.position":"2","@graph.4.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.4.@type":"WebPage","@graph.4.breadcrumb.@id":"https://www.cirque-gruss.com/questions-frequentes#breadcrumb","@graph.4.dateModified":"2025-06-23T17:15:04+02:00","@graph.4.datePublished":"2019-10-05T21:06:21+02:00","@graph.4.inLanguage":"fr-FR","@graph.4.isPartOf.@id":"https://www.cirque-gruss.com/#website","@graph.4.name":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.4.primaryImageOfPage.@id":"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png","@graph.4.url":"https://www.cirque-gruss.com/questions-frequentes","@graph.5.@id":"https://www.cirque-gruss.com/questions-frequentes#schema-88099","@graph.5.@type":"Article","@graph.5.author.@type":"Person","@graph.5.author.name":"test04","@graph.5.dateModified":"2025-06-23T17:15:04+02:00","@graph.5.datePublished":"2019-10-05T21:06:21+02:00","@graph.5.description":"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau","@graph.5.headline":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.5.image.@id":"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png","@graph.5.inLanguage":"fr-FR","@graph.5.isPartOf.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.5.mainEntityOfPage.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.5.name":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.5.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.6.@id":"https://www.cirque-gruss.com/questions-frequentes#schema-202522","@graph.6.@type":"Article","@graph.6.author.@type":"Person","@graph.6.author.name":"test04","@graph.6.dateModified":"2025-06-23T17:15:04+02:00","@graph.6.datePublished":"2019-10-05T21:06:21+02:00","@graph.6.description":"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau","@graph.6.headline":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.6.image.@id":"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png","@graph.6.inLanguage":"fr-FR","@graph.6.isPartOf.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.6.mainEntityOfPage.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.6.name":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.6.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.7.@id":"https://www.cirque-gruss.com/questions-frequentes#schema-205809","@graph.7.@type":"Article","@graph.7.author.@type":"Person","@graph.7.author.name":"test04","@graph.7.dateModified":"2025-06-23T17:15:04+02:00","@graph.7.datePublished":"2019-10-05T21:06:21+02:00","@graph.7.description":"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau","@graph.7.headline":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.7.image.@id":"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png","@graph.7.inLanguage":"fr-FR","@graph.7.isPartOf.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.7.mainEntityOfPage.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.7.name":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.7.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.8.@id":"https://www.cirque-gruss.com/questions-frequentes#schema-207385","@graph.8.@type":"Article","@graph.8.author.@type":"Person","@graph.8.author.name":"test04","@graph.8.dateModified":"2025-06-23T17:15:04+02:00","@graph.8.datePublished":"2019-10-05T21:06:21+02:00","@graph.8.description":"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau","@graph.8.headline":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.8.image.@id":"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png","@graph.8.inLanguage":"fr-FR","@graph.8.isPartOf.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.8.mainEntityOfPage.@id":"https://www.cirque-gruss.com/questions-frequentes#webpage","@graph.8.name":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.8.publisher.@id":"https://www.cirque-gruss.com/#organization"},"tagProtocol":4},{"tagData":{"meta:viewport":"width=device-width, initial-scale=1"},"tagProtocol":5},{"tagData":{"meta:description":"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau"},"tagProtocol":5},{"tagData":{"meta:robots":"follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"},"tagProtocol":5},{"tagData":{"meta:twitter:card":"summary_large_image"},"tagProtocol":5},{"tagData":{"meta:twitter:title":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !"},"tagProtocol":5},{"tagData":{"meta:twitter:description":"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau"},"tagProtocol":5},{"tagData":{"meta:twitter:image":"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg"},"tagProtocol":5},{"tagData":{"meta:twitter:label1":"Temps de lecture"},"tagProtocol":5},{"tagData":{"meta:twitter:data1":"13 minutes"},"tagProtocol":5},{"tagData":{"meta:msapplication-TileImage":"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-300x300.png"},"tagProtocol":5},{"tagData":{"title":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !"},"tagProtocol":5},{"tagData":{"canonicalUrl":"https://www.cirque-gruss.com/questions-frequentes"},"tagProtocol":6}],"ms":2,"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"]}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{"_inspection":{"inter_id":"1.-1455.81::0.0.0.0::0.0.0","vids":"76936274"},"action":"Metadata","auto_collected_properties":{"content_data":{"json_ld":"[{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.cirque-gruss.com/#organization\",\"name\":\"Cirque Arlette Gruss\",\"sameAs\":[\"https://www.facebook.com/CirqueArletteGrussOfficiel/\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https://www.cirque-gruss.com/#logo\",\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png\",\"contentUrl\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png\",\"caption\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"inLanguage\":\"fr-FR\",\"width\":\"400\",\"height\":\"42\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.cirque-gruss.com/#website\",\"url\":\"https://www.cirque-gruss.com\",\"name\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"inLanguage\":\"fr-FR\"},{\"@type\":\"ImageObject\",\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"url\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\",\"width\":\"200\",\"height\":\"200\",\"inLanguage\":\"fr-FR\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":\"1\",\"item\":{\"@id\":\"https://www.cirque-gruss.com\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":\"2\",\"item\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes\",\"name\":\"Questions fréquentes\"}}]},{\"@type\":\"WebPage\",\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\",\"url\":\"https://www.cirque-gruss.com/questions-frequentes\",\"name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2019-10-05T21:06:21+02:00\",\"dateModified\":\"2025-06-23T17:15:04+02:00\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/#website\"},\"primaryImageOfPage\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\"},\"inLanguage\":\"fr-FR\",\"breadcrumb\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#breadcrumb\"}},{\"@type\":\"Article\",\"headline\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2019-10-05T21:06:21+02:00\",\"dateModified\":\"2025-06-23T17:15:04+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#schema-88099\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2019-10-05T21:06:21+02:00\",\"dateModified\":\"2025-06-23T17:15:04+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#schema-202522\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2019-10-05T21:06:21+02:00\",\"dateModified\":\"2025-06-23T17:15:04+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#schema-205809\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2019-10-05T21:06:21+02:00\",\"dateModified\":\"2025-06-23T17:15:04+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"name\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#schema-207385\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2021/03/Capture-decran-2021-03-15-a-10.33.57.png\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com/questions-frequentes#webpage\"}}]}]","meta":"{\"title\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"meta:description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\"}","microdata":"[{\"dimensions\":{\"h\":6738,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":107,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":0,\"w\":0},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/Organization\"},{\"dimensions\":{\"h\":0,\"w\":0},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":20,\"w\":190},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/Organization\"}],\"type\":\"https://schema.org/WPHeader\"},{\"dimensions\":{\"h\":5136,\"w\":353},\"properties\":{\"text\":\"À propos du Cirque et son spectacle\\n\\tPeut-on acheter nos places juste avant le spectacle ?\\n\\nOui. Attention toutefois, les réservations étant ouvertes plusieurs mois à l’avance, certaines séances peuvent être complètes, il est donc vivement conseillé de réserver vos places à l’avance. Dans tous les cas votre réservation devra être réglé au plus tard 24h avant l'horaire de la représentation.\\n\\n\\tEst-il possible de s'assurer et de se faire rembourser ses billets en cas d'imprévus ?\\n\\tJ’ai réservé une \"},\"subscopes\":[],\"type\":\"https://schema.org/CreativeWork\"},{\"dimensions\":{\"h\":269,\"w\":318},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":482,\"w\":318},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":1373,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":89,\"w\":133},\"properties\":{\"url\":\"https://www.cirque-gruss.com/\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":17,\"w\":133},\"properties\":{\"url\":\"tel:0812106406\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"}],\"type\":\"http://schema.org/WPFooter\"},{\"dimensions\":{\"h\":41,\"w\":243},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"}],\"type\":\"https://schema.org/WebPage\"}]","open_graph":"{\"og:locale\":\"fr_FR\",\"og:type\":\"article\",\"og:title\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"og:description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"og:url\":\"https://www.cirque-gruss.com/questions-frequentes\",\"og:site_name\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"article:publisher\":\"https://www.facebook.com/CirqueArletteGrussOfficiel/\",\"article:author\":\"https://CirqueGruss\",\"og:updated_time\":\"2025-06-23T17:15:04+02:00\",\"og:image\":\"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg\",\"og:image:secure_url\":\"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg\",\"og:image:width\":\"1000\",\"og:image:height\":\"666\",\"og:image:alt\":\"questions\",\"og:image:type\":\"image/jpeg\",\"article:published_time\":\"2019-10-05T21:06:21+02:00\",\"article:modified_time\":\"2025-06-23T17:15:04+02:00\",\"twitter:card\":\"summary_large_image\",\"twitter:title\":\"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"twitter:description\":\"Peut-on acheter nos places juste avant le spectacle ? J'ai un enfant de moins de trois ans Quels sont les modes de paiement acceptés Les poussettes et cosy sont-ils autorisés sous le chapiteau\",\"twitter:image\":\"https://www.cirque-gruss.com/assets/uploads/2019/10/le-chapiteau-cirque-arlette-gruss.jpg\",\"twitter:label1\":\"Temps de lecture\",\"twitter:data1\":\"13 minutes\"}"},"page_trigger":"PageView"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":2,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"2","referrer":"","url":"https://www.cirque-gruss.com/questions-frequentes"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-ehsNK.2.0::eb588d11-c68c-11f1-89f2-4e8cfd4c4d19","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","sessions":[{"csct":1,"csid":"1791844398213::bVkDfkfOnTPx19smVJ_b","page_csid":"1791844398214::ZotcZCBaJ7peTZjKVxzo","pixel_code":"C50A482LQH64DC0FCGG0"},{"csct":1,"csid":"1791844398216::1hXMv600fYQOf6hfGqVL","page_csid":"1791844398214::ZotcZCBaJ7peTZjKVxzo","pixel_code":"CT443I3C77U9RNPHCGL0"}],"user":{"anonymous_id":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844398543-5889853816278","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:18.543Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/act"},{"data":{"body":{},"filter":"||pagead2.googlesyndication.com^","listName":"easylist.txt","query":{"_tu":"CA","apvc":0,"did":"dNGJiYT","dl":"https://www.cirque-gruss.com/questions-frequentes","dma":1,"dma_cps":"-","en":"page_view","fmt":8,"frm":0,"gcd":"13p3p3p2p5l1","gcs":"G100","gdid":"dNGJiYT","gtm":"45be6a91h1v9224546821za20ozb894699499zd894699499xecxf1","navt":"n","npa":1,"rcb":19,"rnd":475126393.17918444,"scrsrc":"www.googletagmanager.com","tag_exp":"115616985~115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153~121046263~121046271~121246026~121246034","tfd":1770,"tft":1791844398529,"tid":"AW-11241157491","tids":"AW-11241157491"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://pagead2.googlesyndication.com/ccm/collect?rcb=19&frm=0&apvc=0&tid=AW-11241157491&en=page_view&dl=https%3A%2F%2Fwww.cirque-gruss.com%2Fquestions-frequentes&scrsrc=www.googletagmanager.com&rnd=475126393.1791844398&navt=n&npa=1&did=dNGJiYT&gdid=dNGJiYT&_tu=CA&gtm=45be6a91h1v9224546821za20ozb894699499zd894699499xecxf1&gcs=G100&gcd=13p3p3p2p5l1&dma_cps=-&dma=1&tag_exp=115616985~115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153~121046263~121046271~121246026~121246034&tft=1791844398529&tfd=1770&tids=AW-11241157491&fmt=8"},{"data":{"body":{},"filter":"||pagead2.googlesyndication.com^","listName":"easylist.txt","query":{"_tu":"CA","async":1,"bg":"ffffff","bttype":"purchase","category":"acrcp_v1_512","currency_code":"EUR","cv":11,"did":"dNGJiYT","dma":1,"dma_cps":"-","en":"conversion","ept":6,"fmt":8,"frm":0,"fst":1791844397960,"gcd":"13p3p3p2p5l1","gcs":"G100","gdid":"dNGJiYT","gtm":"45be6a91h1v9224546821z8894699499za20gzb894699499zd894699499xeaxf1","guid":"ON","hn":"www.googleadservices.com","label":"whADCKTgy-0aEPPmmfAp","npa":1,"pscdl":"denied","random":1791844397960,"rcb":19,"tag_exp":"115616985~115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153~121046263~121046271~121246026~121246034","tiba":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","u_h":745,"u_w":353,"uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"url":"https://www.cirque-gruss.com/questions-frequentes","value":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://pagead2.googlesyndication.com/pagead/conversion/11241157491/?random=1791844397960&cv=11&fst=1791844397960&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion&gtm=45be6a91h1v9224546821z8894699499za20gzb894699499zd894699499xeaxf1&gcs=G100&gcd=13p3p3p2p5l1&dma_cps=-&dma=1&tag_exp=115616985~115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153~121046263~121046271~121246026~121246034&u_w=353&u_h=745&url=https%3A%2F%2Fwww.cirque-gruss.com%2Fquestions-frequentes&rcb=19&label=whADCKTgy-0aEPPmmfAp&frm=0&tiba=Questions%20fr%C3%A9quentes%20-%20Cirque%20Arlette%20Gruss%20%E2%80%A2%20Nouveau%20Spectacle%20Essentiel%20en%20tourn%C3%A9e%20!&did=dNGJiYT&gdid=dNGJiYT&bttype=purchase&value=0&currency_code=EUR&hn=www.googleadservices.com&npa=1&pscdl=denied&uaa=&uab=&uafvl=&uamb=0&uam=&uap=&uapv=&uaw=0&_tu=CA&category=acrcp_v1_512&ept=6"},{"data":{"body":{"ctx":{"a":[18,24,29,29,1],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","df":true,"huah":true,"lc":"2ced1154-9243-44bd-998f-1764081465fc","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[492,499,435,0,1314],"pv":2,"r":"64d6e73b-a457-433a-941c-6a2a0d89cf7b","rd":1541,"sa":1791844398071,"sh":745,"si":"054DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0Zcz9TzkhvPWB-A5-0i1PfJQszNh16kDsXMTbKxXwy9mAyWBnfvKrW5bS6FrzILzivIL0XknOdAl09LQeos7RFUkkO8vdOPF2QIFGX86HZQwZiky2pk1uc7pFc4OmscaioNic97IG8mqKud","sps":227,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844398300,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/questions-frequentes","v":"3.60.0-2608111919"},"req":[{"del":10,"i":{"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"]}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr6.snapchat.com/p"},{"data":{"body":{"_inspection":{"inter_id":"1.-1455.0::0.0.0.0::0.0.0","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844398216::1hXMv600fYQOf6hfGqVL","css":1,"device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/questions-frequentes"},"page_csid":"1791844398214::ZotcZCBaJ7peTZjKVxzo","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-ehsNK.2.0::ebb99778-c68c-11f1-81ec-ce459699e743-CT443I3C77U9RNPHCGL0","pixel":{"code":"CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-CT443I3C77U9RNPHCGL0","user":{"anonymous_id":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"Pageview","event_id":"","is_onsite":false,"message_id":"messageId-1791844398236-6845248348991-CT443I3C77U9RNPHCGL0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:18.236Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-1455.0::0.0.0.0::0.0.0","trigger_source":"pixel_self","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844398216::1hXMv600fYQOf6hfGqVL","device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/questions-frequentes"},"page_csid":"1791844398214::ZotcZCBaJ7peTZjKVxzo","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-ehsNK.2.0::ebb99778-c68c-11f1-81ec-ce459699e743-CT443I3C77U9RNPHCGL0","pixel":{"code":"CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-CT443I3C77U9RNPHCGL0","user":{"anonymous_id":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"LandingPageView","event_id":"","is_onsite":false,"message_id":"messageId-1791844398241-4596509688398-CT443I3C77U9RNPHCGL0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:18.241Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-1455.0::0.0.0.0::0.0.0","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844398213::bVkDfkfOnTPx19smVJ_b","css":1,"device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/questions-frequentes"},"page_csid":"1791844398214::ZotcZCBaJ7peTZjKVxzo","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-ehsNK.2.0::eb588d11-c68c-11f1-89f2-4e8cfd4c4d19-C50A482LQH64DC0FCGG0","pixel":{"code":"C50A482LQH64DC0FCGG0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-C50A482LQH64DC0FCGG0","user":{"anonymous_id":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"Pageview","event_id":"","is_onsite":false,"message_id":"messageId-1791844398222-8285865026095-C50A482LQH64DC0FCGG0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:18.222Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-1455.0::0.0.0.0::0.0.0","trigger_source":"pixel_self","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844398213::bVkDfkfOnTPx19smVJ_b","device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/questions-frequentes"},"page_csid":"1791844398214::ZotcZCBaJ7peTZjKVxzo","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-ehsNK.2.0::eb588d11-c68c-11f1-89f2-4e8cfd4c4d19-C50A482LQH64DC0FCGG0","pixel":{"code":"C50A482LQH64DC0FCGG0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-C50A482LQH64DC0FCGG0","user":{"anonymous_id":"01M4S3ZD3KRGQCRJ2GGX9PS157_.tt.1.1791844398196"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"LandingPageView","event_id":"","is_onsite":false,"message_id":"messageId-1791844398227-3193832384226-C50A482LQH64DC0FCGG0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:18.227Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/identify_0504602d.js"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/main.MWU2MzIzODM0MA.js"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"bg":false,"bt":"1d53c387","cdid":"@-178f2ea5-d662-48b7-8a80-9747b52f724f","d_bvs":"","df":true,"ev":"PAGE_VIEW","gat":"AW-11241157491,GTM-WGZHD7C","huah":true,"intg":"gtm","m_dcl":499,"m_fcps":435,"m_pi":492,"m_pl":0,"m_pv":2,"m_rd":1345,"m_sh":745,"m_sl":1314,"m_sw":353,"pid":"bdb43125-632f-4607-bcd8-ba1682ca837c","pids":"bdb43125-632f-4607-bcd8-ba1682ca837c","pl":"https://www.cirque-gruss.com/questions-frequentes","trackId":"7881784d-6daa-4d57-8bbf-00ee67fc3362","ts":1791844398104,"u_c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","u_sclid":"921bcf58-1f80-4fed-93d4-f7c942cccd87","u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b","v":"3.60.0-2608111919"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p?pid=bdb43125-632f-4607-bcd8-ba1682ca837c&ev=PAGE_VIEW&intg=gtm&pids=bdb43125-632f-4607-bcd8-ba1682ca837c&u_c1=039cfbd0-f6d1-4383-b591-a45e4f8fea23&cdid=%40-178f2ea5-d662-48b7-8a80-9747b52f724f&u_sclid=921bcf58-1f80-4fed-93d4-f7c942cccd87&u_scsid=0c960677-ef2a-41b9-842e-85af320bce2b&gat=AW-11241157491%2CGTM-WGZHD7C&bg=false&bt=1d53c387&d_bvs=&df=true&huah=true&m_dcl=499&m_fcps=435&m_pi=492&m_pl=0&m_pv=2&m_rd=1345&m_sh=745&m_sl=1314&m_sw=353&pl=https%3A%2F%2Fwww.cirque-gruss.com%2Fquestions-frequentes&trackId=7881784d-6daa-4d57-8bbf-00ee67fc3362&ts=1791844398104&v=3.60.0-2608111919"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"pid":"bdb43125-632f-4607-bcd8-ba1682ca837c","u_sclid":"921bcf58-1f80-4fed-93d4-f7c942cccd87","u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"}},"stack":[{"fileName":"","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/cm/i?pid=bdb43125-632f-4607-bcd8-ba1682ca837c&u_scsid=0c960677-ef2a-41b9-842e-85af320bce2b&u_sclid=921bcf58-1f80-4fed-93d4-f7c942cccd87"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"v":"3.60.0-2608111919"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/config/com/bdb43125-632f-4607-bcd8-ba1682ca837c.js?v=3.60.0-2608111919"},{"data":{"body":{},"filter":"||connect.facebook.net/signals/$third-party","listName":"easyprivacy.txt","query":{"domain":"www.cirque-gruss.com","ex_m":"118,241,171,27,82,83,162,78,77,11,181,102,20,153,141,46,85,90,149,176,183,8,4,5,7,6,3,103,115,32,17,31,18,33,34,35,37,55,163,87,126,22,24,51,47,49,48,95,104,108,124,160,164,53,125,29,26,133,79,43,166,165,167,157,155,30,42,66,123,178,80,21,128,93,76,23,97,98,130,96,151,150,154,109,177,180,41,56,127,54,161,72,185,110,184,210,255,84,274,273,272,14,25,28,40,62,117,68,10,73,111,112,113,119,144,38,36,146,147,148,143,142,172,86,175,173,174,57,69,67,137,19,179,52,324,325,326,323,339,361,248,237,70,238,236,364,355,59,249,121,145,92,135,61,134,140,139,65,74,168,88,89,129,44,39,60,63,114,182,1,138,16,136,12,2,64,105,15,75,71,132,101,100,187,188,106,107,9,116,186,58,158,99,91,81,131,120,169,50,159,0,94,152,156,170,45,122,13,189","hme":"7459fa3e38c2784dbaf309537bed5fa7e8560fab51fb61e53e5ffafeb46a02a9","im":1,"r":"stable","v":"2.9.419"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://connect.facebook.net/signals/config/735734249165336?v=2.9.419&r=stable&domain=www.cirque-gruss.com&im=1&hme=7459fa3e38c2784dbaf309537bed5fa7e8560fab51fb61e53e5ffafeb46a02a9&ex_m=118%2C241%2C171%2C27%2C82%2C83%2C162%2C78%2C77%2C11%2C181%2C102%2C20%2C153%2C141%2C46%2C85%2C90%2C149%2C176%2C183%2C8%2C4%2C5%2C7%2C6%2C3%2C103%2C115%2C32%2C17%2C31%2C18%2C33%2C34%2C35%2C37%2C55%2C163%2C87%2C126%2C22%2C24%2C51%2C47%2C49%2C48%2C95%2C104%2C108%2C124%2C160%2C164%2C53%2C125%2C29%2C26%2C133%2C79%2C43%2C166%2C165%2C167%2C157%2C155%2C30%2C42%2C66%2C123%2C178%2C80%2C21%2C128%2C93%2C76%2C23%2C97%2C98%2C130%2C96%2C151%2C150%2C154%2C109%2C177%2C180%2C41%2C56%2C127%2C54%2C161%2C72%2C185%2C110%2C184%2C210%2C255%2C84%2C274%2C273%2C272%2C14%2C25%2C28%2C40%2C62%2C117%2C68%2C10%2C73%2C111%2C112%2C113%2C119%2C144%2C38%2C36%2C146%2C147%2C148%2C143%2C142%2C172%2C86%2C175%2C173%2C174%2C57%2C69%2C67%2C137%2C19%2C179%2C52%2C324%2C325%2C326%2C323%2C339%2C361%2C248%2C237%2C70%2C238%2C236%2C364%2C355%2C59%2C249%2C121%2C145%2C92%2C135%2C61%2C134%2C140%2C139%2C65%2C74%2C168%2C88%2C89%2C129%2C44%2C39%2C60%2C63%2C114%2C182%2C1%2C138%2C16%2C136%2C12%2C2%2C64%2C105%2C15%2C75%2C71%2C132%2C101%2C100%2C187%2C188%2C106%2C107%2C9%2C116%2C186%2C58%2C158%2C99%2C91%2C81%2C131%2C120%2C169%2C50%2C159%2C0%2C94%2C152%2C156%2C170%2C45%2C122%2C13%2C189"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"_id":"ec08195a5da10415","_idn":1,"_refts":0,"action_name":"Questions fréquentes - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","fa_fp[0][fa_fv]":1,"fa_fp[0][fa_name]":"subscription","fa_fp[0][fa_vid]":"qYidGY","fa_pv":1,"h":22,"idsite":1,"m":33,"pf_dm1":413,"pf_net":0,"pf_srv":30,"pf_tfr":4,"pv_id":"VRN3x4","r":814001,"rec":1,"s":17,"send_image":0,"uadata":{},"url":"https://www.cirque-gruss.com/questions-frequentes"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cirquegruss.matomo.cloud/matomo.php?action_name=Questions%20fr%C3%A9quentes%20-%20Cirque%20Arlette%20Gruss%20%E2%80%A2%20Nouveau%20Spectacle%20Essentiel%20en%20tourn%C3%A9e%20!&idsite=1&rec=1&r=814001&h=22&m=33&s=17&url=https%3A%2F%2Fwww.cirque-gruss.com%2Fquestions-frequentes&_id=ec08195a5da10415&_idn=1&send_image=0&_refts=0&pv_id=VRN3x4&fa_pv=1&fa_fp[0][fa_vid]=qYidGY&fa_fp[0][fa_name]=subscription&fa_fp[0][fa_fv]=1&pf_net=0&pf_srv=30&pf_tfr=4&pf_dm1=413&uadata=%7B%7D"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/main.MWU2MzIzODM0OA.js"},{"data":{"body":[{"botBehavior":null,"config":{"identifier":"6154472452a02c49b33a1f66","language":"fr","name":"ga_fb"},"correlationId":"","deployment":"2026-07-28T10:03:07.519Z","domain":"www.cirque-gruss.com","geolocation":{"countryCode":"FR","isFallback":false,"reglementation":"gpdr","subdivisionCode":"Unknown","userLanguage":"en-US"},"metadata":{"sdkVersion":"1.13.0"},"pathname":"/questions-frequentes","preferences":{"disabled":[],"enabled":[]},"projectId":"61278530702fed3d78f5d8bb","referrer":null,"source":"sdk-web","timestamp":"2026-10-12T22:33:17.717Z","token":"XmQnLsvXwwzrmxm53JMXOplMhX","type":"pageview","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36"},{"botBehavior":null,"config":{"identifier":"6154472452a02c49b33a1f66","language":"fr","name":"ga_fb"},"correlationId":"","deployment":"2026-07-28T10:03:07.519Z","domain":"www.cirque-gruss.com","geolocation":{"countryCode":"FR","isFallback":false,"reglementation":"gpdr","subdivisionCode":"Unknown","userLanguage":"en-US"},"metadata":{"sdkVersion":"1.13.0","widget":{"configLoadMs":19,"configResolvedAt":"2026-10-12T22:33:17.735Z","cookiesVersion":"ga_fb","gcm":{"adsDataRedaction":false,"display":true,"displayIllustrations":true,"position":"last","urlPassthrough":false},"isGppConfig":false,"msftUet":null,"mspaOptOutMode":null,"platform":null,"position":"left","restrictedMode":false,"sdkBuild":"sdk","subscription":"free","tastePromotion":false}},"pathname":"/questions-frequentes","preferences":{"disabled":[],"enabled":[]},"projectId":"61278530702fed3d78f5d8bb","referrer":null,"source":"sdk-web","timestamp":"2026-10-12T22:33:17.718Z","token":"XmQnLsvXwwzrmxm53JMXOplMhX","type":"cookies:loaded","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36"}],"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://api.axept.io/v1/analytics/evts"},{"data":{"body":{},"filter":"://analytics.*/event","listName":"easyprivacy.txt","query":{"lib":"ttq","sdkid":"CT443I3C77U9RNPHCGL0"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=CT443I3C77U9RNPHCGL0&lib=ttq"},{"data":{"body":{},"filter":"/matomo.js$domain=~github.com","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.matomo.cloud/cirquegruss.matomo.cloud/matomo.js"},{"data":{"body":{},"filter":"/fbevents.js","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://connect.facebook.net/en_US/fbevents.js"},{"data":{"body":{},"filter":"||sc-static.net^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://sc-static.net/scevent.min.js"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cx":"c","gtm":"4e6a91h1","id":"AW-11241157491"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=AW-11241157491&cx=c&gtm=4e6a91h1"},{"data":{"body":{},"filter":"://analytics.*/event","listName":"easyprivacy.txt","query":{"lib":"ttq","sdkid":"C50A482LQH64DC0FCGG0"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=C50A482LQH64DC0FCGG0&lib=ttq"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"GTM-WGZHD7C"}},"stack":[{"fileName":"https://www.cirque-gruss.com/questions-frequentes","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtm.js?id=GTM-WGZHD7C"},{"data":{"body":[{"botBehavior":{"confidence":0,"score":0.05000000000000001},"config":{"identifier":"6154472452a02c49b33a1f66","language":"fr","name":"ga_fb"},"correlationId":"","deployment":"2026-07-28T10:03:07.519Z","domain":"www.cirque-gruss.com","geolocation":{"countryCode":"FR","isFallback":false,"reglementation":"gpdr","subdivisionCode":"Unknown","userLanguage":"en-US"},"metadata":{"sdkVersion":"1.13.0"},"pathname":"/evenementiel","preferences":{"disabled":[],"enabled":[]},"projectId":"61278530702fed3d78f5d8bb","referrer":null,"source":"sdk-web","timestamp":"2026-10-12T22:33:16.832Z","token":"oFB1AqkGWEx3jtfUe3SUCn5j-l","type":"pagehide","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36"}],"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://api.axept.io/v1/analytics/evts"},{"data":{"body":{"_inspection":{"inter_id":"1.-1638.127::0.0.0.0::9144.4.900","vids":"76936274"},"action":"Pf","auto_collected_properties":{"action_event":"pl","inter":{"ct":0,"pl":11087,"st":2},"page_inter":{"ct":0,"metrics_type":"ct|st|pl","pl":11087,"st":2}},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":1,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"2","referrer":"","url":"https://www.cirque-gruss.com/evenementiel"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-W3NyC.1.0::e4b99c4c-c68c-11f1-90e0-963feef81235","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","user":{"anonymous_id":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844396830-4017273718990","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:16.830Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/inter"},{"data":{"body":{"context":{"client":{"browserName":"Chrome Mobile","browserVersion":"99.0.4812.0","clientName":56,"clientVersion":"2.20261012.01.00","configInfo":{"appInstallData":"CKLAtdYGEMn2gBMQyvuAExD36NIcEKSOgRMQwY_QHBDt-9IcEL22rgUQm-XSHBDbrdIcEI3k0RwQuOTOHBDa984cEIeszhwQr4q4IhDlirgiEL_a0hwQn8-AExDM364FELW1gBMQj_DSHBCelYETEN68zhwQ8N7RHBCBzc4cEJmNsQUQ9quwBRC-hNEcEPjEgBMQ09rSHBD82tIcEOfr0RwQrt7RHBCkqdEcEK7WzxwQ6fLSHBDxtNAcEL6KsAUQntCwBRC8pNAcEKXj0hwQjLnSHBCumdIcEO-70hwQkvLRHBCv-NEcEImwzhwQ8u7SHBD299EcEOzN0BwQuL7SHBDE_dIcEJi40hwqcENBTVNUeFZNLVpxLURMaVVFcFFDbkE3NUZYYXZCcGp5RC1FRDBnVU11QVdiQWJZRTNBU0lydWtMTXF1c0JKUE1BN2JrQnVTRkY2eTdBOW5WQmQwc25Jc0Q5WFAycEFVRkJRUUR4N01Hb2FnQUhRYz0wAA%3D%3D"},"connectionType":"CONN_CELLULAR_4G","deviceMake":"google","deviceModel":"pixel 4a (5g)","gl":"FR","hl":"en","osName":"Android","osVersion":"11","platform":"MOBILE","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","windowHeightPoints":176,"windowWidthPoints":313},"thirdParty":{"embedUrl":"https://www.cirque-gruss.com/"}},"events":[{"context":{"lastActivityMs":"8143"},"eventTimeMs":1791844396232,"visualElementAttached":{"childVes":[{"elementIndex":0,"veCounter":3,"veType":23851}],"csn":"bKalt3otTcm3_KXW","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"8143"},"eventTimeMs":1791844396232,"visualElementShown":{"csn":"bKalt3otTcm3_KXW","eventType":1,"ve":{"elementIndex":0,"veCounter":3,"veType":23851}}},{"context":{"lastActivityMs":"8143"},"eventTimeMs":1791844396232,"visualElementAttached":{"childVes":[{"elementIndex":0,"veCounter":4,"veType":36925}],"csn":"bKalt3otTcm3_KXW","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"8143"},"eventTimeMs":1791844396232,"visualElementShown":{"csn":"bKalt3otTcm3_KXW","eventType":1,"ve":{"elementIndex":0,"veCounter":4,"veType":36925}}},{"context":{"lastActivityMs":"8144"},"eventTimeMs":1791844396233,"foregroundHeartbeatScreenAssociated":{"clientDocumentNonce":"e2t8odXDz9swabv8","clientScreenNonce":"K9O_b76HzoOwZEIG"}},{"context":{"lastActivityMs":"8144"},"eventTimeMs":1791844396233,"foregroundHeartbeatScreenAssociated":{"clientDocumentNonce":"e2t8odXDz9swabv8","clientScreenNonce":"bKalt3otTcm3_KXW"}},{"context":{"lastActivityMs":"8144"},"eventTimeMs":1791844396233,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ftl"}},{"context":{"lastActivityMs":"8144"},"eventTimeMs":1791844396233,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ol"}},{"context":{"lastActivityMs":"8145"},"eventTimeMs":1791844396234,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ol"}},{"context":{"lastActivityMs":"8146"},"eventTimeMs":1791844396235,"visualElementShown":{"clientData":{},"csn":"bKalt3otTcm3_KXW","eventType":1,"ve":{"elementIndex":0,"veCounter":2,"veType":28572}}},{"context":{"lastActivityMs":"8149"},"eventTimeMs":1791844396237,"visualElementShown":{"clientData":{},"csn":"bKalt3otTcm3_KXW","eventType":1,"ve":{"elementIndex":0,"veCounter":3,"veType":23851}}},{"context":{"lastActivityMs":"8149"},"eventTimeMs":1791844396238,"visualElementShown":{"clientData":{},"csn":"bKalt3otTcm3_KXW","eventType":1,"ve":{"elementIndex":0,"veCounter":4,"veType":36925}}},{"context":{"lastActivityMs":"8689"},"eventTimeMs":1791844396778,"finalPayload":{"csn":"bKalt3otTcm3_KXW"}}],"serializedClientEventId":{"clientCounter":"20510","serializedEventId":"ImDNas72FMqCkeQPn9WGuAw"}},"filter":"/v1/log_event","listName":"easyprivacy.txt","query":{"alt":"json"}},"stack":[{"fileName":"https://www.youtube.com/embed/LvQVQ2i-nKw?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/youtubei/v1/log_event?alt=json"},{"data":{"body":{"context":{"client":{"browserName":"Chrome Mobile","browserVersion":"99.0.4812.0","clientName":56,"clientVersion":"2.20261012.01.00","configInfo":{"appInstallData":"CKLAtdYGEMn2gBMQyvuAExD36NIcEKSOgRMQwY_QHBDt-9IcEL22rgUQm-XSHBDbrdIcEI3k0RwQuOTOHBDa984cEIeszhwQsIq4IhDlirgiEL_a0hwQn8-AExDM364FELW1gBMQj_DSHBCelYETEN68zhwQ8N7RHBCBzc4cEJmNsQUQ9quwBRC-hNEcEPjEgBMQ09rSHBD82tIcEOfr0RwQrt7RHBCkqdEcEK7WzxwQ6fLSHBDxtNAcEL6KsAUQntCwBRC8pNAcEKXj0hwQjLnSHBCumdIcEO-70hwQkvLRHBCv-NEcEImwzhwQ8u7SHBD299EcEOzN0BwQuL7SHBDE_dIcEJi40hwqcENBTVNUeFZNLVpxLURMaVVFcFFDbkE3NUZYYXZCcGp5RC1FRDBnVU11QVdiQWJZRTNBU0lydWtMTXF1c0JKUE1BN2JrQnVTRkY2eTdBOW5WQmQwc25Jc0Q5WFAycEFVRkJRUUR4N01Hb2FnQUhRYz0wAA%3D%3D"},"connectionType":"CONN_CELLULAR_4G","deviceMake":"google","deviceModel":"pixel 4a (5g)","gl":"FR","hl":"en","osName":"Android","osVersion":"11","platform":"MOBILE","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","windowHeightPoints":176,"windowWidthPoints":313},"thirdParty":{"embedUrl":"https://www.cirque-gruss.com/"}},"events":[{"context":{"lastActivityMs":"8481"},"eventTimeMs":1791844396764,"finalPayload":{"csn":"8uw5A9G0wH7tkba9"}}],"serializedClientEventId":{"clientCounter":"20232","serializedEventId":"ImDNao7zFKbDhcIP4v6m4Q0"}},"filter":"/v1/log_event","listName":"easyprivacy.txt","query":{"alt":"json"}},"stack":[{"fileName":"https://www.youtube.com/embed/aVO51A81h0k?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/youtubei/v1/log_event?alt=json"},{"data":{"body":{"context":{"client":{"browserName":"Chrome Mobile","browserVersion":"99.0.4812.0","clientName":56,"clientVersion":"2.20261012.01.00","configInfo":{"appInstallData":"CKLAtdYGEMn2gBMQyvuAExD36NIcEKSOgRMQwY_QHBDt-9IcEL22rgUQm-XSHBDcrdIcEI3k0RwQuOTOHBDa984cEIeszhwQsIq4IhDlirgiEL_a0hwQn8-AExDM364FELW1gBMQj_DSHBCelYETEN68zhwQ8N7RHBCBzc4cEJmNsQUQ9quwBRC-hNEcEPjEgBMQ09rSHBD82tIcEOfr0RwQrt7RHBCkqdEcEK7WzxwQ6fLSHBDxtNAcEL6KsAUQntCwBRC8pNAcEKXj0hwQjLnSHBCumdIcEO-70hwQkvLRHBCv-NEcEImwzhwQ8u7SHBD299EcEOzN0BwQuL7SHBDE_dIcEJi40hwqcENBTVNUeFZNLVpxLURMaVVFcFFDbkE3NUZYYXZCcGp5RC1FRDBnVU11QVdiQWJZRTNBU0lydWtMTXF1c0JKUE1BN2JrQnVTRkY2eTdBOW5WQmQwc25Jc0Q5WFAycEFVRkJRUUR4N01Hb2FnQUhRYz0wAA%3D%3D"},"connectionType":"CONN_CELLULAR_4G","deviceMake":"google","deviceModel":"pixel 4a (5g)","gl":"FR","hl":"en","osName":"Android","osVersion":"11","platform":"MOBILE","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","windowHeightPoints":176,"windowWidthPoints":313},"thirdParty":{"embedUrl":"https://www.cirque-gruss.com/"}},"events":[{"context":{"lastActivityMs":"7797"},"eventTimeMs":1791844396432,"visualElementAttached":{"childVes":[{"elementIndex":0,"veCounter":3,"veType":23851}],"csn":"Z3A2NinVPmWUYGuW","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"7797"},"eventTimeMs":1791844396432,"visualElementShown":{"csn":"Z3A2NinVPmWUYGuW","eventType":1,"ve":{"elementIndex":0,"veCounter":3,"veType":23851}}},{"context":{"lastActivityMs":"7797"},"eventTimeMs":1791844396432,"visualElementAttached":{"childVes":[{"elementIndex":0,"veCounter":4,"veType":36925}],"csn":"Z3A2NinVPmWUYGuW","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"7797"},"eventTimeMs":1791844396432,"visualElementShown":{"csn":"Z3A2NinVPmWUYGuW","eventType":1,"ve":{"elementIndex":0,"veCounter":4,"veType":36925}}},{"context":{"lastActivityMs":"7799"},"eventTimeMs":1791844396434,"foregroundHeartbeatScreenAssociated":{"clientDocumentNonce":"2p7WOhdKkMnxioRF","clientScreenNonce":"eK_x1tOBsQR9esrI"}},{"context":{"lastActivityMs":"7799"},"eventTimeMs":1791844396434,"foregroundHeartbeatScreenAssociated":{"clientDocumentNonce":"2p7WOhdKkMnxioRF","clientScreenNonce":"Z3A2NinVPmWUYGuW"}},{"context":{"lastActivityMs":"7799"},"eventTimeMs":1791844396434,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ol"}},{"context":{"lastActivityMs":"7799"},"eventTimeMs":1791844396435,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ol"}},{"context":{"lastActivityMs":"7800"},"eventTimeMs":1791844396435,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ftl"}},{"context":{"lastActivityMs":"7864"},"eventTimeMs":1791844396499,"visualElementShown":{"clientData":{},"csn":"Z3A2NinVPmWUYGuW","eventType":1,"ve":{"elementIndex":0,"veCounter":2,"veType":28572}}},{"context":{"lastActivityMs":"7864"},"eventTimeMs":1791844396500,"visualElementShown":{"clientData":{},"csn":"Z3A2NinVPmWUYGuW","eventType":1,"ve":{"elementIndex":0,"veCounter":3,"veType":23851}}},{"context":{"lastActivityMs":"7865"},"eventTimeMs":1791844396500,"visualElementShown":{"clientData":{},"csn":"Z3A2NinVPmWUYGuW","eventType":1,"ve":{"elementIndex":0,"veCounter":4,"veType":36925}}},{"context":{"lastActivityMs":"8112"},"eventTimeMs":1791844396747,"finalPayload":{"csn":"Z3A2NinVPmWUYGuW"}}],"serializedClientEventId":{"clientCounter":"15291","serializedEventId":"ImDNaoryFOqjkeQP8NCcwQ0"}},"filter":"/v1/log_event","listName":"easyprivacy.txt","query":{"alt":"json"}},"stack":[{"fileName":"https://www.youtube.com/embed/tKKdjrT81js?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/youtubei/v1/log_event?alt=json"},{"data":{"body":{"ctx":{"a":[30,49,61,61,0],"bg":true,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","df":true,"huah":true,"lc":"e9251a11-500d-49e3-907c-136927b4057e","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[485,494,429,3769,849],"pv":2,"r":"723ab445-5ca4-4a35-b646-00d3ed014d0f","rd":11003,"sa":1791844386587,"sh":745,"si":"0p4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0ZcztPzkhvPWB-A5-0i1PfJQszNh16kDsXMTbKxXwu8mAyWBnfvKrW5bS6FrzILzivIL0XknOdAl09KwGzpJRoRUA3n48d8E2kntAV-pb5ZjiqCKf5yOrRFXKQ6NbdGANPtAU0PPsPzsk3X","sps":10154,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844396746,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/evenementiel","v":"3.60.0-2608111919"},"req":[{"del":0,"md":{"ms":3,"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"psc":2}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{"context":{"client":{"browserName":"Chrome Mobile","browserVersion":"99.0.4812.0","clientName":56,"clientVersion":"2.20261012.01.00","configInfo":{"appInstallData":"CKLAtdYGEMn2gBMQyvuAExD36NIcEKSOgRMQwY_QHBDt-9IcEL22rgUQm-XSHBDcrdIcEI3k0RwQuOTOHBDa984cEIeszhwQsIq4IhDlirgiEL_a0hwQn8-AExDM364FELW1gBMQj_DSHBCelYETEN68zhwQ8N7RHBCBzc4cEJmNsQUQ9quwBRC-hNEcEPjEgBMQ09rSHBD82tIcEOfr0RwQrt7RHBCkqdEcEK7WzxwQ6fLSHBDxtNAcEL6KsAUQntCwBRC8pNAcEKXj0hwQjLnSHBCumdIcEO-70hwQkvLRHBCv-NEcEImwzhwQ8u7SHBD299EcEOzN0BwQuL7SHBDE_dIcEJi40hwqcENBTVNUeFZNLVpxLURMaVVFcFFDbkE3NUZYYXZCcGp5RC1FRDBnVU11QVdiQWJZRTNBU0lydWtMTXF1c0JKUE1BN2JrQnVTRkY2eTdBOW5WQmQwc25Jc0Q5WFAycEFVRkJRUUR4N01Hb2FnQUhRYz0wAA%3D%3D"},"connectionType":"CONN_CELLULAR_4G","deviceMake":"google","deviceModel":"pixel 4a (5g)","gl":"FR","hl":"en","osName":"Android","osVersion":"11","platform":"MOBILE","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","windowHeightPoints":176,"windowWidthPoints":313},"thirdParty":{"embedUrl":"https://www.cirque-gruss.com/"}},"events":[{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387412,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"mm_is"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387418,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"mm_ie"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387429,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_cus"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387430,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_eps"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387432,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_epe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387432,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_cue"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844388002,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"pe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844388235,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_wes"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386470,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"srt"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386298,"latencyActionBaselined":{"clientActionNonce":"iTa5fCNlOHpoZ83l"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386334,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"nreqs"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386470,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"nress"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386495,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"nrese"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386305,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ntcps"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386322,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ntcpe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386311,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"nstcps"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386322,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ntcpe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386568,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"wffs"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386722,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"wffe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386551,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rsf_pj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386835,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rse_pj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386550,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rsf_pc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386728,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rse_pc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386551,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rsf_ecj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386790,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rse_ecj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386551,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rsf_ecc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386639,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rse_ecc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844388248,"latencyActionInfo":{"actionType":"LATENCY_ACTION_VIDEO_PREVIEW","clientActionNonce":"iTa5fCNlOHpoZ83l","httpProtocol":"h2","isNavigation":true,"isVisible":true,"loadType":"cold","resourceInfo":[{"resourceCache":"pj"},{"resourceCache":"pc"},{"resourceCache":"ecj"},{"resourceCache":"ecc"}],"transportProtocol":"tcp"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387330,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"rses_dpj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844388262,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_wee"}},{"context":{"lastActivityMs":"88"},"eventTimeMs":1791844388723,"screenCreated":{"csn":"eK_x1tOBsQR9esrI","pageVe":{"veType":16623,"youtubeData":{"servletData":{"serializedServletEventId":"ImDNaoryFOqjkeQP8NCcwQ0"}}}}},{"context":{"lastActivityMs":"88"},"eventTimeMs":1791844388724,"latencyActionInfo":{"clientActionNonce":"iTa5fCNlOHpoZ83l","clientScreenNonce":"eK_x1tOBsQR9esrI"}},{"context":{"lastActivityMs":"89"},"eventTimeMs":1791844388724,"screenCreated":{"csn":"Z3A2NinVPmWUYGuW","implicitGesture":{"gestureType":"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED","gesturedVe":{"veType":16623},"parentCsn":"eK_x1tOBsQR9esrI"},"pageVe":{"veType":32594}}},{"context":{"lastActivityMs":"89"},"eventTimeMs":1791844388724,"visualElementHidden":{"csn":"eK_x1tOBsQR9esrI","eventType":16,"ve":{"veType":16623}}},{"context":{"lastActivityMs":"89"},"eventTimeMs":1791844388724,"latencyActionInfo":{"clientActionNonce":"iTa5fCNlOHpoZ83l","clientScreenNonce":"Z3A2NinVPmWUYGuW"}},{"context":{"lastActivityMs":"90"},"eventTimeMs":1791844388725,"visualElementAttached":{"childVes":[{"trackingParams":"CAAQru4BIhMI9_-TwcS1lwMV6T7xBR1noSeXygEE4EsnWg=="}],"csn":"Z3A2NinVPmWUYGuW","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"104"},"eventTimeMs":1791844388739,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"qoes"}},{"context":{"lastActivityMs":"108"},"eventTimeMs":1791844388743,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"fs"}},{"context":{"lastActivityMs":"150"},"eventTimeMs":1791844388785,"latencyActionInfo":{"clientActionNonce":"iTa5fCNlOHpoZ83l","clientPlaybackNonce":"thO9EGHUuY_lPJ9o"}},{"context":{"lastActivityMs":"153"},"eventTimeMs":1791844388788,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_pr"}},{"context":{"lastActivityMs":"168"},"eventTimeMs":1791844388803,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"pot_ist"}},{"context":{"lastActivityMs":"530"},"eventTimeMs":1791844389165,"latencyActionInfo":{"clientActionNonce":"iTa5fCNlOHpoZ83l","serverTimeMs":116}},{"context":{"lastActivityMs":"667"},"eventTimeMs":1791844389302,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_ijs"}},{"context":{"lastActivityMs":"669"},"eventTimeMs":1791844389304,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_ije"}},{"context":{"lastActivityMs":"674"},"eventTimeMs":1791844389309,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_rs"}},{"context":{"lastActivityMs":"678"},"eventTimeMs":1791844389313,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ep_init_re"}},{"context":{"lastActivityMs":"923"},"eventTimeMs":1791844389558,"visualElementAttached":{"childVes":[{"elementIndex":0,"veCounter":2,"veType":28572}],"csn":"Z3A2NinVPmWUYGuW","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"924"},"eventTimeMs":1791844389559,"visualElementShown":{"csn":"Z3A2NinVPmWUYGuW","eventType":1,"ve":{"elementIndex":0,"veCounter":2,"veType":28572}}},{"context":{"lastActivityMs":"963"},"eventTimeMs":1791844389598,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"ftr"}},{"context":{"lastActivityMs":"1791"},"eventTimeMs":1791844390426,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIFA=="}},{"context":{"lastActivityMs":"1792"},"eventTimeMs":1791844390428,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAgMyhAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAEAzLEAiGAoDCgFoCgYKBGFHSWYSCREAAAAA4MwtQCIYCgMKAWgKBgoEYUdJZhIJEQAAAABgZiZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAKCZJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAYGYiQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAANPs/IhgKAwoBaAoGCgRhR0lmEgkRAAAAAMDMMEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAwMwnQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAMuM/IhgKAwoBaAoGCgRhR0lmEgkRAAAAAGBmJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAoJkiQCIYCgMKAWgKBgoEYUdJZhIJEQAAAACAZidAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAwJkZQCIYCgMKAWgKBgoEYUdJZhIJEQAAAABgZiZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAzQCIYCgMKAWgKBgoEYUdJZhIJEQAAAABgZiZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAEBmHkAiGAoDCgF0CgYKBGFHSWYSCREAANDMzDyMQA=="}},{"context":{"lastActivityMs":"1838"},"eventTimeMs":1791844390473,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"pot_if"}},{"context":{"lastActivityMs":"1838"},"eventTimeMs":1791844390473,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"pot_cms"}},{"context":{"lastActivityMs":"1840"},"eventTimeMs":1791844390475,"latencyActionTicked":{"clientActionNonce":"iTa5fCNlOHpoZ83l","tickName":"pot_cmf"}},{"context":{"lastActivityMs":"2806"},"eventTimeMs":1791844391441,"streamzIncremented":{"serializedIncrementBatch":"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAABKgQA=="}},{"context":{"lastActivityMs":"2806"},"eventTimeMs":1791844391442,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB"}},{"context":{"lastActivityMs":"2807"},"eventTimeMs":1791844391442,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAMzMzDVAIhgKAwoBaQoGCgRhR0lmEgkRAAAA4MzM/D8iGAoDCgFvCgYKBGFHSWYSCREAAGhmZgCaQCIYCgMKAWMKBgoEYUdJZhIJEQAAAACamck/IhgKAwoBQwoGCgRhR0lmEgkRAAAAoJmZ+T8iGAoDCgF4CgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAW0KBgoEYUdJZhIJEQAAAIBmZv4/"}}],"serializedClientEventId":{"clientCounter":"15290","serializedEventId":"ImDNaoryFOqjkeQP8NCcwQ0"}},"filter":"/v1/log_event","listName":"easyprivacy.txt","query":{"alt":"json"}},"stack":[{"fileName":"https://www.youtube.com/embed/tKKdjrT81js?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/youtubei/v1/log_event?alt=json"},{"data":{"body":{"context":{"client":{"browserName":"Chrome Mobile","browserVersion":"99.0.4812.0","clientName":56,"clientVersion":"2.20261012.01.00","configInfo":{"appInstallData":"CKLAtdYGEMn2gBMQyvuAExD36NIcEKSOgRMQwY_QHBDt-9IcEL22rgUQm-XSHBDbrdIcEI3k0RwQuOTOHBDa984cEIeszhwQsIq4IhDlirgiEL_a0hwQn8-AExDM364FELW1gBMQj_DSHBCelYETEN68zhwQ8N7RHBCBzc4cEJmNsQUQ9quwBRC-hNEcEPjEgBMQ09rSHBD82tIcEOfr0RwQrt7RHBCkqdEcEK7WzxwQ6fLSHBDxtNAcEL6KsAUQntCwBRC8pNAcEKXj0hwQjLnSHBCumdIcEO-70hwQkvLRHBCv-NEcEImwzhwQ8u7SHBD299EcEOzN0BwQuL7SHBDE_dIcEJi40hwqcENBTVNUeFZNLVpxLURMaVVFcFFDbkE3NUZYYXZCcGp5RC1FRDBnVU11QVdiQWJZRTNBU0lydWtMTXF1c0JKUE1BN2JrQnVTRkY2eTdBOW5WQmQwc25Jc0Q5WFAycEFVRkJRUUR4N01Hb2FnQUhRYz0wAA%3D%3D"},"connectionType":"CONN_CELLULAR_4G","deviceMake":"google","deviceModel":"pixel 4a (5g)","gl":"FR","hl":"en","osName":"Android","osVersion":"11","platform":"MOBILE","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","windowHeightPoints":176,"windowWidthPoints":313},"thirdParty":{"embedUrl":"https://www.cirque-gruss.com/"}},"events":[{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387020,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"mm_is"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387024,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"mm_ie"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387031,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_cus"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387031,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_eps"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387033,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_epe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387033,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_cue"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387661,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"pe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844388012,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_wes"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386454,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"srt"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386298,"latencyActionBaselined":{"clientActionNonce":"Z8ByhD0P0hsf59mZ"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386334,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"nreqs"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386454,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"nress"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386491,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"nrese"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386564,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"wffs"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386708,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"wffe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386527,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rsf_pj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386835,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rse_pj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386526,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rsf_pc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386710,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rse_pc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386527,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rsf_ecj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386775,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rse_ecj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386526,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rsf_ecc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386608,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rse_ecc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844388025,"latencyActionInfo":{"actionType":"LATENCY_ACTION_VIDEO_PREVIEW","clientActionNonce":"Z8ByhD0P0hsf59mZ","httpProtocol":"h2","isNavigation":true,"isVisible":true,"loadType":"cold","resourceInfo":[{"resourceCache":"pj"},{"resourceCache":"pc"},{"resourceCache":"ecj"},{"resourceCache":"ecc"}],"transportProtocol":"tcp"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386953,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"rses_dpj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844388067,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_wee"}},{"context":{"lastActivityMs":"64"},"eventTimeMs":1791844388347,"screenCreated":{"csn":"cJpOsoUfyhdqi12F","pageVe":{"veType":16623,"youtubeData":{"servletData":{"serializedServletEventId":"ImDNao7zFKbDhcIP4v6m4Q0"}}}}},{"context":{"lastActivityMs":"65"},"eventTimeMs":1791844388348,"latencyActionInfo":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","clientScreenNonce":"cJpOsoUfyhdqi12F"}},{"context":{"lastActivityMs":"66"},"eventTimeMs":1791844388349,"screenCreated":{"csn":"8uw5A9G0wH7tkba9","implicitGesture":{"gestureType":"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED","gesturedVe":{"veType":16623},"parentCsn":"cJpOsoUfyhdqi12F"},"pageVe":{"veType":32594}}},{"context":{"lastActivityMs":"66"},"eventTimeMs":1791844388349,"visualElementHidden":{"csn":"cJpOsoUfyhdqi12F","eventType":16,"ve":{"veType":16623}}},{"context":{"lastActivityMs":"66"},"eventTimeMs":1791844388349,"latencyActionInfo":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","clientScreenNonce":"8uw5A9G0wH7tkba9"}},{"context":{"lastActivityMs":"67"},"eventTimeMs":1791844388350,"visualElementAttached":{"childVes":[{"trackingParams":"CAAQru4BIhMIxr6SwcS1lwMVAiQGAB2KLAZMygEE4EsnWg=="}],"csn":"8uw5A9G0wH7tkba9","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"79"},"eventTimeMs":1791844388362,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"qoes"}},{"context":{"lastActivityMs":"84"},"eventTimeMs":1791844388367,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"fs"}},{"context":{"lastActivityMs":"128"},"eventTimeMs":1791844388411,"latencyActionInfo":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","clientPlaybackNonce":"DR6qRSbXL4k5QvXp"}},{"context":{"lastActivityMs":"130"},"eventTimeMs":1791844388413,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_pr"}},{"context":{"lastActivityMs":"147"},"eventTimeMs":1791844388430,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"pot_ist"}},{"context":{"lastActivityMs":"548"},"eventTimeMs":1791844388831,"latencyActionInfo":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","serverTimeMs":101}},{"context":{"lastActivityMs":"724"},"eventTimeMs":1791844389008,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_ijs"}},{"context":{"lastActivityMs":"727"},"eventTimeMs":1791844389011,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_ije"}},{"context":{"lastActivityMs":"734"},"eventTimeMs":1791844389017,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_rs"}},{"context":{"lastActivityMs":"738"},"eventTimeMs":1791844389021,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ep_init_re"}},{"context":{"lastActivityMs":"1104"},"eventTimeMs":1791844389387,"visualElementAttached":{"childVes":[{"elementIndex":0,"veCounter":2,"veType":28572}],"csn":"8uw5A9G0wH7tkba9","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"1104"},"eventTimeMs":1791844389387,"visualElementShown":{"csn":"8uw5A9G0wH7tkba9","eventType":1,"ve":{"elementIndex":0,"veCounter":2,"veType":28572}}},{"context":{"lastActivityMs":"1142"},"eventTimeMs":1791844389425,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"ftr"}},{"context":{"lastActivityMs":"2111"},"eventTimeMs":1791844390395,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIFA=="}},{"context":{"lastActivityMs":"2113"},"eventTimeMs":1791844390396,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAABAMylAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAJCZNUAiGAoDCgFoCgYKBGFHSWYSCREAAAAAQDMmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAQDMZQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAANPs/IhgKAwoBaAoGCgRhR0lmEgkRAAAAAECzMEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAQDMnQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAZuY/IhgKAwoBaAoGCgRhR0lmEgkRAAAAAODMJ0AiGAoDCgFoCgYKBGFHSWYSCREAAAAAQDMVQCIYCgMKAWgKBgoEYUdJZhIJEQAAAABgZiZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAODMKEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAgJkbQCIYCgMKAWgKBgoEYUdJZhIJEQAAAACAmSZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAMDMJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAGBUQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAChAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAKCZIUAiGAoDCgF0CgYKBGFHSWYSCREAAAAAAGaQQA=="}},{"context":{"lastActivityMs":"2180"},"eventTimeMs":1791844390463,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"pot_if"}},{"context":{"lastActivityMs":"2180"},"eventTimeMs":1791844390464,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"pot_cms"}},{"context":{"lastActivityMs":"2182"},"eventTimeMs":1791844390466,"latencyActionTicked":{"clientActionNonce":"Z8ByhD0P0hsf59mZ","tickName":"pot_cmf"}},{"context":{"lastActivityMs":"3126"},"eventTimeMs":1791844391409,"streamzIncremented":{"serializedIncrementBatch":"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAABCgQA=="}},{"context":{"lastActivityMs":"3126"},"eventTimeMs":1791844391410,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB"}},{"context":{"lastActivityMs":"3127"},"eventTimeMs":1791844391410,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAgDdAIhgKAwoBaQoGCgRhR0lmEgkRAAAA4MzM/D8iGAoDCgFvCgYKBGFHSWYSCREAAGhmZrCfQCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAwMzM9D8iGAoDCgF4CgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAPg/"}}],"serializedClientEventId":{"clientCounter":"20231","serializedEventId":"ImDNao7zFKbDhcIP4v6m4Q0"}},"filter":"/v1/log_event","listName":"easyprivacy.txt","query":{"alt":"json"}},"stack":[{"fileName":"https://www.youtube.com/embed/aVO51A81h0k?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/youtubei/v1/log_event?alt=json"},{"data":{"body":{"context":{"client":{"browserName":"Chrome Mobile","browserVersion":"99.0.4812.0","clientName":56,"clientVersion":"2.20261012.01.00","configInfo":{"appInstallData":"CKLAtdYGEMn2gBMQyvuAExD36NIcEKSOgRMQwY_QHBDt-9IcEL22rgUQm-XSHBDbrdIcEI3k0RwQuOTOHBDa984cEIeszhwQr4q4IhDlirgiEL_a0hwQn8-AExDM364FELW1gBMQj_DSHBCelYETEN68zhwQ8N7RHBCBzc4cEJmNsQUQ9quwBRC-hNEcEPjEgBMQ09rSHBD82tIcEOfr0RwQrt7RHBCkqdEcEK7WzxwQ6fLSHBDxtNAcEL6KsAUQntCwBRC8pNAcEKXj0hwQjLnSHBCumdIcEO-70hwQkvLRHBCv-NEcEImwzhwQ8u7SHBD299EcEOzN0BwQuL7SHBDE_dIcEJi40hwqcENBTVNUeFZNLVpxLURMaVVFcFFDbkE3NUZYYXZCcGp5RC1FRDBnVU11QVdiQWJZRTNBU0lydWtMTXF1c0JKUE1BN2JrQnVTRkY2eTdBOW5WQmQwc25Jc0Q5WFAycEFVRkJRUUR4N01Hb2FnQUhRYz0wAA%3D%3D"},"connectionType":"CONN_CELLULAR_4G","deviceMake":"google","deviceModel":"pixel 4a (5g)","gl":"FR","hl":"en","osName":"Android","osVersion":"11","platform":"MOBILE","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","windowHeightPoints":176,"windowWidthPoints":313},"thirdParty":{"embedUrl":"https://www.cirque-gruss.com/"}},"events":[{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386906,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"mm_is"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386915,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"mm_ie"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386927,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_cus"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386927,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_eps"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386929,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_epe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386929,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_cue"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387316,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"pe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387680,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_wes"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386437,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"srt"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386298,"latencyActionBaselined":{"clientActionNonce":"QCV7erdbpaWW3LiF"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386334,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"nreqs"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386437,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"nress"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386446,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"nrese"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386555,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"wffs"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386660,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"wffe"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386498,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rsf_pj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386832,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rse_pj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386496,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rsf_pc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386674,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rse_pc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386497,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rsf_ecj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386737,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rse_ecj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386497,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rsf_ecc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386588,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rse_ecc"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387703,"latencyActionInfo":{"actionType":"LATENCY_ACTION_VIDEO_PREVIEW","clientActionNonce":"QCV7erdbpaWW3LiF","httpProtocol":"h2","isNavigation":true,"isVisible":true,"loadType":"cold","transportProtocol":"tcp"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844386785,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"rses_dpj"}},{"context":{"lastActivityMs":"-1"},"eventTimeMs":1791844387726,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_wee"}},{"context":{"lastActivityMs":"64"},"eventTimeMs":1791844388153,"screenCreated":{"csn":"K9O_b76HzoOwZEIG","pageVe":{"veType":16623,"youtubeData":{"servletData":{"serializedServletEventId":"ImDNas72FMqCkeQPn9WGuAw"}}}}},{"context":{"lastActivityMs":"65"},"eventTimeMs":1791844388154,"latencyActionInfo":{"clientActionNonce":"QCV7erdbpaWW3LiF","clientScreenNonce":"K9O_b76HzoOwZEIG"}},{"context":{"lastActivityMs":"65"},"eventTimeMs":1791844388154,"screenCreated":{"csn":"bKalt3otTcm3_KXW","implicitGesture":{"gestureType":"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED","gesturedVe":{"veType":16623},"parentCsn":"K9O_b76HzoOwZEIG"},"pageVe":{"veType":32594}}},{"context":{"lastActivityMs":"65"},"eventTimeMs":1791844388154,"visualElementHidden":{"csn":"K9O_b76HzoOwZEIG","eventType":16,"ve":{"veType":16623}}},{"context":{"lastActivityMs":"66"},"eventTimeMs":1791844388155,"latencyActionInfo":{"clientActionNonce":"QCV7erdbpaWW3LiF","clientScreenNonce":"bKalt3otTcm3_KXW"}},{"context":{"lastActivityMs":"67"},"eventTimeMs":1791844388156,"visualElementAttached":{"childVes":[{"trackingParams":"CAAQru4BIhMI0KaSwcS1lwMVvAvxBR1A4wZXygEE4EsnWg=="}],"csn":"bKalt3otTcm3_KXW","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"76"},"eventTimeMs":1791844388165,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"qoes"}},{"context":{"lastActivityMs":"79"},"eventTimeMs":1791844388168,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"fs"}},{"context":{"lastActivityMs":"113"},"eventTimeMs":1791844388202,"latencyActionInfo":{"clientActionNonce":"QCV7erdbpaWW3LiF","clientPlaybackNonce":"lNF7VVXzP980uRiQ"}},{"context":{"lastActivityMs":"115"},"eventTimeMs":1791844388204,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_pr"}},{"context":{"lastActivityMs":"130"},"eventTimeMs":1791844388219,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"pot_ist"}},{"context":{"lastActivityMs":"368"},"eventTimeMs":1791844388457,"latencyActionInfo":{"clientActionNonce":"QCV7erdbpaWW3LiF","serverTimeMs":90}},{"context":{"lastActivityMs":"515"},"eventTimeMs":1791844388604,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_ijs"}},{"context":{"lastActivityMs":"518"},"eventTimeMs":1791844388607,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_ije"}},{"context":{"lastActivityMs":"524"},"eventTimeMs":1791844388613,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_rs"}},{"context":{"lastActivityMs":"528"},"eventTimeMs":1791844388617,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ep_init_re"}},{"context":{"lastActivityMs":"976"},"eventTimeMs":1791844389064,"visualElementAttached":{"childVes":[{"elementIndex":0,"veCounter":2,"veType":28572}],"csn":"bKalt3otTcm3_KXW","parentVe":{"veType":32594}}},{"context":{"lastActivityMs":"976"},"eventTimeMs":1791844389065,"visualElementShown":{"csn":"bKalt3otTcm3_KXW","eventType":1,"ve":{"elementIndex":0,"veCounter":2,"veType":28572}}},{"context":{"lastActivityMs":"1015"},"eventTimeMs":1791844389104,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"ftr"}},{"context":{"lastActivityMs":"2256"},"eventTimeMs":1791844390345,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIFA=="}},{"context":{"lastActivityMs":"2258"},"eventTimeMs":1791844390347,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAACgmSZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAADAzNkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAWQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAAhAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAALUAiGAoDCgFoCgYKBGFHSWYSCREAAAAAoJkjQCIYCgMKAWgKBgoEYUdJZhIJEQAAAABAMyZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAFkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAYGYnQCIYCgMKAWgKBgoEYUdJZhIJEQAAAADAzCZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAIBmEEAiGAoDCgFoCgYKBGFHSWYSCREAAAAA4MwmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAACAZihAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAMDMNUAiGAoDCgFoCgYKBGFHSWYSCREAAAAAQDMmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAABgZiZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAABn/j8iGAoDCgF0CgYKBGFHSWYSCREAAGBmZnqSQA=="}},{"context":{"lastActivityMs":"2368"},"eventTimeMs":1791844390457,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"pot_if"}},{"context":{"lastActivityMs":"2369"},"eventTimeMs":1791844390458,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"pot_cms"}},{"context":{"lastActivityMs":"2371"},"eventTimeMs":1791844390460,"latencyActionTicked":{"clientActionNonce":"QCV7erdbpaWW3LiF","tickName":"pot_cmf"}},{"context":{"lastActivityMs":"3258"},"eventTimeMs":1791844391347,"streamzIncremented":{"serializedIncrementBatch":"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAABigQA=="}},{"context":{"lastActivityMs":"3259"},"eventTimeMs":1791844391348,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB"}},{"context":{"lastActivityMs":"3260"},"eventTimeMs":1791844391349,"streamzIncremented":{"serializedIncrementBatch":"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAADIzMzZAIhgKAwoBaQoGCgRhR0lmEgkRAAAAYGZm/j8iGAoDCgFvCgYKBGFHSWYSCREAAMzMzHOhQCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAoJmZ+T8iGAoDCgF4CgYKBGFHSWYSCREAAAAAmpm5PyIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAABA"}}],"serializedClientEventId":{"clientCounter":"20509","serializedEventId":"ImDNas72FMqCkeQPn9WGuAw"}},"filter":"/v1/log_event","listName":"easyprivacy.txt","query":{"alt":"json"}},"stack":[{"fileName":"https://www.youtube.com/embed/LvQVQ2i-nKw?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/youtubei/v1/log_event?alt=json"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"_id":"8eb4f0628a9faf9f","_idn":0,"_refts":0,"ca":1,"h":22,"idsite":1,"m":33,"ma_fs":0,"ma_h":"","ma_id":"DnmIHw","ma_le":"","ma_mt":"Video","ma_pn":"html5video","ma_ps":0,"ma_re":"https://www.cirque-gruss.com/evenementiel","ma_se":"","ma_st":0,"ma_ti":"","ma_ttp":"","ma_w":"","pv_id":"eFhnkv","r":548142,"rec":1,"s":8,"send_image":0,"uadata":{},"url":"https://www.cirque-gruss.com/evenementiel"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cirquegruss.matomo.cloud/matomo.php?ma_id=DnmIHw&ma_ti=&ma_pn=html5video&ma_mt=Video&ma_re=https%3A%2F%2Fwww.cirque-gruss.com%2Fevenementiel&ma_st=0&ma_ps=0&ma_le=&ma_ttp=&ma_w=&ma_h=&ma_fs=0&ma_se=&ca=1&&idsite=1&rec=1&r=548142&h=22&m=33&s=8&url=https%3A%2F%2Fwww.cirque-gruss.com%2Fevenementiel&_id=8eb4f0628a9faf9f&_idn=0&send_image=0&_refts=0&pv_id=eFhnkv&uadata=%7B%7D"},{"data":{"body":{},"filter":"/generate_204$~xmlhttprequest","listName":"easyprivacy.txt","query":{"pkIlWA":""}},"stack":[{"fileName":"https://www.youtube.com/embed/tKKdjrT81js?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/generate_204?pkIlWA"},{"data":{"body":{},"filter":"/generate_204$~xmlhttprequest","listName":"easyprivacy.txt","query":{"LlmX4g":""}},"stack":[{"fileName":"https://www.youtube.com/embed/aVO51A81h0k?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/generate_204?LlmX4g"},{"data":{"body":{},"filter":"/generate_204$~xmlhttprequest","listName":"easyprivacy.txt","query":{"xx2sZw":""}},"stack":[{"fileName":"https://www.youtube.com/embed/LvQVQ2i-nKw?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.youtube.com/generate_204?xx2sZw"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{"slf_rd":1}},"stack":[{"fileName":"https://www.youtube.com/embed/tKKdjrT81js?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://googleads.g.doubleclick.net/pagead/id?slf_rd=1"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{"slf_rd":1}},"stack":[{"fileName":"https://www.youtube.com/embed/aVO51A81h0k?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://googleads.g.doubleclick.net/pagead/id?slf_rd=1"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{}},"stack":[{"fileName":"https://www.youtube.com/embed/tKKdjrT81js?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://static.doubleclick.net/instream/ad_status.js"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{}},"stack":[{"fileName":"https://www.youtube.com/embed/tKKdjrT81js?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://googleads.g.doubleclick.net/pagead/id"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{"slf_rd":1}},"stack":[{"fileName":"https://www.youtube.com/embed/LvQVQ2i-nKw?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://googleads.g.doubleclick.net/pagead/id?slf_rd=1"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{}},"stack":[{"fileName":"https://www.youtube.com/embed/aVO51A81h0k?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://static.doubleclick.net/instream/ad_status.js"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{}},"stack":[{"fileName":"https://www.youtube.com/embed/aVO51A81h0k?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://googleads.g.doubleclick.net/pagead/id"},{"data":{"body":{"ad_id":"undefined","app_name":"external","att_status":3,"creative_id":"undefined","custom_enum":"form_visible","custom_name":"form_funnel","ext_json":{"message":"form_1|1.-1638.127::0.0.0.0::0.0.0|","performance":[],"pixel_api_conflict_flag":false,"pixel_list":"C50A482LQH64DC0FCGG0,CT443I3C77U9RNPHCGL0"},"in_iframe":1,"latency":0,"lib":{"lib_version":"2.2.1","ttq_name":"ttq"},"load_id":"e4b99c4c-c68c-11f1-90e0-963feef81235","metric_name":"custom_info","net_type":"4g","page_url":"https://www.cirque-gruss.com/evenementiel","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-W3NyC.1.0","partner":"non","pixel_code":"C50A482LQH64DC0FCGG0","pixel_monitor_version":"v2","placement":"non","platform":1,"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","time_to_last_start":1970,"time_to_navigation_start":2125,"user_agent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default","vids":"76936274"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/monitor"},{"data":{"body":{"_inspection":{"inter_id":"1.-1638.127::0.0.0.0::0.0.0","vids":"76936274"},"action":"Direct","auto_collected_properties":{"page_trigger":"tts-lf-form_visible"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":1,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/evenementiel"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-W3NyC.1.0::e4b99c4c-c68c-11f1-90e0-963feef81235","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","sessions":[{"csct":1,"csid":"1791844387378::e8NGqIZ93M_rPFZl8mYe","page_csid":"1791844387380::RnLNCBMM-A86P2CAWaww","pixel_code":"C50A482LQH64DC0FCGG0"},{"csct":1,"csid":"1791844387382::eKZqJZ5Uk0b_rPmDmJuD","page_csid":"1791844387380::RnLNCBMM-A86P2CAWaww","pixel_code":"CT443I3C77U9RNPHCGL0"}],"user":{"anonymous_id":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844387871-2443612023510","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:07.871Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/act"},{"data":{"body":{"ctx":{"a":[30,49,61,61,0],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","df":true,"huah":true,"lc":"e9251a11-500d-49e3-907c-136927b4057e","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[485,494,429,0,849],"pv":2,"r":"f4bccc0a-8dfa-47e5-ab42-37e39570141d","rd":2087,"sa":1791844386587,"sh":745,"si":"0p4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0ZcztPzkhvPWB-A5-0i1PfJQszNh16kDsXMTbKxXwu8mAyWBnfvKrW5bS6FrzILzivIL0XknOdAl09KwGzpJRoRUA3n48d8E2kntAV-pb5ZjiqCFgz0vMwKjfrn5ahCN-OVcBQdsEULd1tZ","sps":1238,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844387830,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/evenementiel","v":"3.60.0-2608111919"},"req":[{"del":193,"log":{"message":"","name":"SB","pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"stack":"    at Nt (https://sc-static.net/scevent.min.js:2:6428)\n    at $e (https://sc-static.net/scevent.min.js:2:24509)\n    at io (https://sc-static.net/scevent.min.js:2:44473)\n    at bo (https://sc-static.net/scevent.min.js:2:49688)\n    at https://sc-static.net/scevent.min.js:2:4817\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at s (https://sc-static.net/scevent.min.js:2:4794)\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at c.send (https://sc-static.net/scevent.min.js:2:5102)\n    at y (https://sc-static.net/scevent.min.js:2:2806)"}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{"_inspection":{"inter_id":"1.-1638.127::0.0.0.0::0.0.0","vids":"76936274"},"action":"Metadata","auto_collected_properties":{"content_data":{"json_ld":"[{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.cirque-gruss.com/#organization\",\"name\":\"Cirque Arlette Gruss\",\"sameAs\":[\"https://www.facebook.com/CirqueArletteGrussOfficiel/\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https://www.cirque-gruss.com/#logo\",\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png\",\"contentUrl\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png\",\"caption\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"inLanguage\":\"fr-FR\",\"width\":\"400\",\"height\":\"42\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.cirque-gruss.com/#website\",\"url\":\"https://www.cirque-gruss.com\",\"name\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"inLanguage\":\"fr-FR\"},{\"@type\":\"ImageObject\",\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png\",\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png\",\"width\":\"200\",\"height\":\"200\",\"inLanguage\":\"fr-FR\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.cirque-gruss.com/evenementiel#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":\"1\",\"item\":{\"@id\":\"https://www.cirque-gruss.com\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":\"2\",\"item\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel\",\"name\":\"Evenementiel\"}}]},{\"@type\":\"WebPage\",\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\",\"url\":\"https://www.cirque-gruss.com/evenementiel\",\"name\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2020-02-01T15:43:09+01:00\",\"dateModified\":\"2026-05-06T22:58:35+02:00\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/#website\"},\"primaryImageOfPage\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png\"},\"inLanguage\":\"fr-FR\",\"breadcrumb\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#breadcrumb\"}},{\"@type\":\"Article\",\"headline\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2020-02-01T15:43:09+01:00\",\"dateModified\":\"2026-05-06T22:58:35+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original\",\"name\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@id\":\"https://www.cirque-gruss.com/evenementiel#schema-88115\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2020-02-01T15:43:09+01:00\",\"dateModified\":\"2026-05-06T22:58:35+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original\",\"name\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@id\":\"https://www.cirque-gruss.com/evenementiel#schema-202911\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2020-02-01T15:43:09+01:00\",\"dateModified\":\"2026-05-06T22:58:35+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original\",\"name\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@id\":\"https://www.cirque-gruss.com/evenementiel#schema-206198\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"datePublished\":\"2020-02-01T15:43:09+01:00\",\"dateModified\":\"2026-05-06T22:58:35+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original\",\"name\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"@id\":\"https://www.cirque-gruss.com/evenementiel#schema-207774\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com/evenementiel#webpage\"}}]}]","meta":"{\"title\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"meta:description\":\"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original\"}","microdata":"[{\"dimensions\":{\"h\":14621,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":107,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":0,\"w\":0},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/Organization\"},{\"dimensions\":{\"h\":0,\"w\":0},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":20,\"w\":190},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/Organization\"}],\"type\":\"https://schema.org/WPHeader\"},{\"dimensions\":{\"h\":13141,\"w\":353},\"properties\":{\"text\":\"ENSEMBLE\\nL'ÉVÉNEMENTIEL AU CIRQUE\\n\\nDes offres \\\"sur mesure\\\" pour vos événements dans un cadre  unique\\n\\nLe Cirque Arlette Gruss c'est aussi le lieu idéal pour organiser tous vos événements !\\n\\n \\n\\nVous prévoyez un événement pour vos clients ? Vous souhaitez célébrer l’anniversaire de votre société ?\\nVous envisagez de présenter un nouveau produit ? Vous organisez une fête d’entreprise ?\\nVous recherchez un lieu unique offrant des possibilités variées ?\\n\\nVous recherchez simplement un lieu uniqu\"},\"subscopes\":[{\"dimensions\":{\"h\":61,\"w\":313},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":273,\"w\":273},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-150x150.png\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":273,\"w\":273},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/spectacle.png\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":313,\"w\":313},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/geographique.png\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-de-prix-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-de-prix-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_21-1024x576.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_21-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8885-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8885-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3718-1024x683.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3718-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_34-1024x576.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_34-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/reception-au-cirque-arlette-gruss-1024x692.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/reception-au-cirque-arlette-gruss-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/salon4-1024x768.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/salon4-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_19-1024x576.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_19-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/voiture-alone-1024x715.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/voiture-alone-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-dresse-dans-chapiteau.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-dresse-dans-chapiteau-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/sophie-marceau-au-cirque.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/sophie-marceau-au-cirque-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/hall-accueil-cirque.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/hall-accueil-cirque-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/foule-accueil-1024x681.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/foule-accueil-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_030-1024x684.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_030-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5690-1024x768.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5690-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/credit-mutuel-chapiteau.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/credit-mutuel-chapiteau-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-espaces-privatif-avec-public-1-1024x765.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-espaces-privatif-avec-public-1-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/concert-au-chapiteau-1024x747.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/concert-au-chapiteau-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service-1024x678.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/banque-populaire-au-cirque-1024x1024.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/banque-populaire-au-cirque-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/exterieur-1024x768.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/exterieur-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3626-1024x683.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3626-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-au-cirque-arlette-gruss-1024x682.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-au-cirque-arlette-gruss-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-cirque-arlette-gruss-1024x682.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-cirque-arlette-gruss-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/maquillage--1024x768.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/maquillage--280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/votre-soiree-evenementielle-au-cirque-arlette-gruss-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/votre-soiree-evenementielle-au-cirque-arlette-gruss-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_3-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_3-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/noel-13-1024x768.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/noel-13-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-prix-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-prix-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/Diner-sous-le-chapiteau-du-cirque-arlette-gruss-1024x565.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/Diner-sous-le-chapiteau-du-cirque-arlette-gruss-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8178-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8178-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8817-1024x682.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8817-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9165-copie-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9165-copie-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9357-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9357-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_45-1024x576.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_45-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_56-1024x576.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_56-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/salon-desanfans-1024x768.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/salon-desanfans-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_13-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_13-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_257-1024x684.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_257-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_097-1024x684.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_097-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/Hall-daccueil2-1024x768.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/Hall-daccueil2-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3728-1024x683.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3728-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-buffet-pro-au-cirque.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-buffet-pro-au-cirque-150x150.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BORDEAUX-1024x683.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/BORDEAUX-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5583-1024x768.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5583-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_0472-1024x768.jpg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_0472-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/cokctail-hall4-1024x683.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/cokctail-hall4-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/hall-1024x768.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/hall-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":150,\"w\":150},\"properties\":{\"url\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/salle-spectacle-1024x683.jpeg\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/02/salle-spectacle-280x280.jpeg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":193,\"w\":333},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-01.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":214,\"w\":353},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-03.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":199,\"w\":353},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-02.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":182,\"w\":313},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/05/societes-041.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":135,\"w\":313},\"properties\":{\"url\":\"https://www.cirque-gruss.com/groupes\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":135,\"w\":313},\"properties\":{\"url\":\"https://www.cirque-gruss.com/comites-d-entreprise\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":135,\"w\":313},\"properties\":{\"url\":\"https://www.cirque-gruss.com/scolaires\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"}],\"type\":\"https://schema.org/CreativeWork\"},{\"dimensions\":{\"h\":269,\"w\":318},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":482,\"w\":318},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":1373,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":89,\"w\":133},\"properties\":{\"url\":\"https://www.cirque-gruss.com/\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":17,\"w\":133},\"properties\":{\"url\":\"tel:0812106406\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"}],\"type\":\"http://schema.org/WPFooter\"},{\"dimensions\":{\"h\":41,\"w\":243},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"}],\"type\":\"https://schema.org/WebPage\"}]","open_graph":"{\"og:locale\":\"fr_FR\",\"og:type\":\"article\",\"og:title\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"og:description\":\"Vous prévoyez un événement pour vos clients ?Vous souhaitez célébrer l’anniversaire de votre société ?Vous envisagez de présenter un nouveau produit ?Vous organisez une fête d’entreprise ?Vous recherchez un lieu unique et original ?\",\"og:url\":\"https://www.cirque-gruss.com/evenementiel\",\"og:site_name\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"article:publisher\":\"https://www.facebook.com/CirqueArletteGrussOfficiel/\",\"article:author\":\"https://CirqueGruss\",\"og:updated_time\":\"2026-05-06T22:58:35+02:00\",\"og:image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service.jpg\",\"og:image:secure_url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service.jpg\",\"og:image:width\":\"1200\",\"og:image:height\":\"795\",\"og:image:alt\":\"evenementiel\",\"og:image:type\":\"image/jpeg\",\"article:published_time\":\"2020-02-01T15:43:09+01:00\",\"article:modified_time\":\"2026-05-06T22:58:35+02:00\",\"twitter:card\":\"summary_large_image\",\"twitter:title\":\"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !\",\"twitter:description\":\"Vous prévoyez un événement pour vos clients ?Vous souhaitez célébrer l’anniversaire de votre société ?Vous envisagez de présenter un nouveau produit ?Vous organisez une fête d’entreprise ?Vous recherchez un lieu unique et original ?\",\"twitter:image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service.jpg\",\"twitter:label1\":\"Temps de lecture\",\"twitter:data1\":\"4 minutes\"}"},"page_trigger":"PageView"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":1,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/evenementiel"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-W3NyC.1.0::e4b99c4c-c68c-11f1-90e0-963feef81235","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","sessions":[{"csct":1,"csid":"1791844387378::e8NGqIZ93M_rPFZl8mYe","page_csid":"1791844387380::RnLNCBMM-A86P2CAWaww","pixel_code":"C50A482LQH64DC0FCGG0"},{"csct":1,"csid":"1791844387382::eKZqJZ5Uk0b_rPmDmJuD","page_csid":"1791844387380::RnLNCBMM-A86P2CAWaww","pixel_code":"CT443I3C77U9RNPHCGL0"}],"user":{"anonymous_id":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844387747-6006365573929","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:07.747Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/act"},{"data":{"body":{},"filter":"||pagead2.googlesyndication.com^","listName":"easylist.txt","query":{"_tu":"CA","apvc":0,"did":"dNGJiYT","dl":"https://www.cirque-gruss.com/evenementiel","dma":1,"dma_cps":"-","en":"page_view","fmt":8,"frm":0,"gcd":"13p3p3p2p5l1","gcs":"G100","gdid":"dNGJiYT","gtm":"45be6a91v9224546821za20ozb894699499zd894699499xecxf1","navt":"n","npa":1,"rcb":7,"rnd":1909759362.1791844,"scrsrc":"www.googletagmanager.com","tag_exp":"115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153~121046263~121046271~121246026~121246034","tfd":1982,"tft":1791844387725,"tid":"AW-11241157491","tids":"AW-11241157491"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://pagead2.googlesyndication.com/ccm/collect?rcb=7&frm=0&apvc=0&tid=AW-11241157491&en=page_view&dl=https%3A%2F%2Fwww.cirque-gruss.com%2Fevenementiel&scrsrc=www.googletagmanager.com&rnd=1909759362.1791844386&navt=n&npa=1&did=dNGJiYT&gdid=dNGJiYT&_tu=CA&gtm=45be6a91v9224546821za20ozb894699499zd894699499xecxf1&gcs=G100&gcd=13p3p3p2p5l1&dma_cps=-&dma=1&tag_exp=115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153~121046263~121046271~121246026~121246034&tft=1791844387725&tfd=1982&tids=AW-11241157491&fmt=8"},{"data":{"body":{},"filter":"||pagead2.googlesyndication.com^","listName":"easylist.txt","query":{"_tu":"CA","async":1,"bg":"ffffff","bttype":"purchase","category":"acrcp_v1_512","currency_code":"EUR","cv":11,"did":"dNGJiYT","dma":1,"dma_cps":"-","en":"conversion","ept":6,"fmt":8,"frm":0,"fst":1791844387170,"gcd":"13p3p3p2p5l1","gcs":"G100","gdid":"dNGJiYT","gtm":"45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1","guid":"ON","hn":"www.googleadservices.com","label":"whADCKTgy-0aEPPmmfAp","npa":1,"pscdl":"denied","random":1791844387170,"rcb":7,"tag_exp":"115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153~121046263~121046271~121246026~121246034","tiba":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","u_h":745,"u_w":353,"uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"url":"https://www.cirque-gruss.com/evenementiel","value":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://pagead2.googlesyndication.com/pagead/conversion/11241157491/?random=1791844387170&cv=11&fst=1791844387170&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion&gtm=45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1&gcs=G100&gcd=13p3p3p2p5l1&dma_cps=-&dma=1&tag_exp=115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153~121046263~121046271~121246026~121246034&u_w=353&u_h=745&url=https%3A%2F%2Fwww.cirque-gruss.com%2Fevenementiel&rcb=7&label=whADCKTgy-0aEPPmmfAp&frm=0&tiba=Evenementiel%20-%20Cirque%20Arlette%20Gruss%20%E2%80%A2%20Nouveau%20Spectacle%20Essentiel%20en%20tourn%C3%A9e%20!&did=dNGJiYT&gdid=dNGJiYT&bttype=purchase&value=0&currency_code=EUR&hn=www.googleadservices.com&npa=1&pscdl=denied&uaa=&uab=&uafvl=&uamb=0&uam=&uap=&uapv=&uaw=0&_tu=CA&category=acrcp_v1_512&ept=6"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{}},"stack":[{"fileName":"https://www.youtube.com/embed/LvQVQ2i-nKw?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://static.doubleclick.net/instream/ad_status.js"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{}},"stack":[{"fileName":"https://www.youtube.com/embed/LvQVQ2i-nKw?rel=0&start&end&controls=1&mute=0&modestbranding=0&","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://googleads.g.doubleclick.net/pagead/id"},{"data":{"body":{"ctx":{"a":[30,49,61,61,0],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","df":true,"huah":true,"lc":"e9251a11-500d-49e3-907c-136927b4057e","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[485,494,429,0,849],"pv":2,"r":"f383cc99-ef02-4b39-a892-5c3b46414bde","rd":1887,"sa":1791844386587,"sh":745,"si":"0p4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0ZcztPzkhvPWB-A5-0i1PfJQszNh16kDsXMTbKxXwu8mAyWBnfvKrW5bS6FrzILzivIL0XknOdAl09KwGzpJRoRUA3n48d8E2kntAV-pb5ZjiqCSM3zg8yZ7wI_OfWSXDtGQUvevxwLBr2Z","sps":1038,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844387630,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/evenementiel","v":"3.60.0-2608111919"},"req":[{"del":303,"log":{"message":"event_type","name":"TPFA","pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"stack":"    at Nt (https://sc-static.net/scevent.min.js:2:6415)\n    at pa (https://sc-static.net/scevent.min.js:2:35167)\n    at ka (https://sc-static.net/scevent.min.js:2:37879)\n    at https://sc-static.net/scevent.min.js:2:39341\n    at https://sc-static.net/scevent.min.js:2:4817\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at s (https://sc-static.net/scevent.min.js:2:4794)\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at c.send (https://sc-static.net/scevent.min.js:2:5102)\n    at y (https://sc-static.net/scevent.min.js:2:2806)"}},{"del":156,"md":{"gat":["AW-11241157491","GTM-WGZHD7C"],"md":[{"tagData":{"properties.image.0":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","properties.image.1":"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-150x150.png","properties.image.10":"https://www.cirque-gruss.com/assets/uploads/2026/02/salon4-280x280.jpg","properties.image.11":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_19-280x280.jpg","properties.image.12":"https://www.cirque-gruss.com/assets/uploads/2020/01/voiture-alone-150x150.jpg","properties.image.13":"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-dresse-dans-chapiteau-150x150.jpg","properties.image.14":"https://www.cirque-gruss.com/assets/uploads/2020/01/sophie-marceau-au-cirque-150x150.jpg","properties.image.15":"https://www.cirque-gruss.com/assets/uploads/2020/01/hall-accueil-cirque-150x150.jpg","properties.image.16":"https://www.cirque-gruss.com/assets/uploads/2020/01/foule-accueil-150x150.jpg","properties.image.17":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_030-280x280.jpg","properties.image.18":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5690-280x280.jpeg","properties.image.19":"https://www.cirque-gruss.com/assets/uploads/2020/01/credit-mutuel-chapiteau-150x150.jpg","properties.image.2":"https://www.cirque-gruss.com/assets/uploads/2020/02/spectacle.png","properties.image.20":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-espaces-privatif-avec-public-1-280x280.jpg","properties.image.21":"https://www.cirque-gruss.com/assets/uploads/2020/01/concert-au-chapiteau-150x150.jpg","properties.image.22":"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service-150x150.jpg","properties.image.23":"https://www.cirque-gruss.com/assets/uploads/2020/01/banque-populaire-au-cirque-150x150.jpg","properties.image.24":"https://www.cirque-gruss.com/assets/uploads/2026/02/exterieur-280x280.jpeg","properties.image.25":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3626-280x280.jpeg","properties.image.26":"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-au-cirque-arlette-gruss-280x280.jpg","properties.image.27":"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-cirque-arlette-gruss-280x280.jpg","properties.image.28":"https://www.cirque-gruss.com/assets/uploads/2026/02/maquillage--280x280.jpeg","properties.image.29":"https://www.cirque-gruss.com/assets/uploads/2020/02/votre-soiree-evenementielle-au-cirque-arlette-gruss-280x280.jpg","properties.image.3":"https://www.cirque-gruss.com/assets/uploads/2020/02/geographique.png","properties.image.30":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_3-280x280.jpg","properties.image.31":"https://www.cirque-gruss.com/assets/uploads/2026/02/noel-13-280x280.jpeg","properties.image.32":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-prix-280x280.jpg","properties.image.33":"https://www.cirque-gruss.com/assets/uploads/2020/02/Diner-sous-le-chapiteau-du-cirque-arlette-gruss-280x280.jpg","properties.image.34":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8178-280x280.jpg","properties.image.35":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8817-280x280.jpg","properties.image.36":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9165-copie-280x280.jpg","properties.image.37":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9357-280x280.jpg","properties.image.38":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_45-280x280.jpg","properties.image.39":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_56-280x280.jpg","properties.image.4":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-de-prix-280x280.jpg","properties.image.40":"https://www.cirque-gruss.com/assets/uploads/2026/02/salon-desanfans-280x280.jpg","properties.image.41":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_13-280x280.jpg","properties.image.42":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_257-280x280.jpg","properties.image.43":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_097-280x280.jpg","properties.image.44":"https://www.cirque-gruss.com/assets/uploads/2026/02/Hall-daccueil2-280x280.jpeg","properties.image.45":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3728-280x280.jpeg","properties.image.46":"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-buffet-pro-au-cirque-150x150.jpg","properties.image.47":"https://www.cirque-gruss.com/assets/uploads/2026/02/BORDEAUX-280x280.jpg","properties.image.48":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5583-280x280.jpeg","properties.image.49":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_0472-280x280.jpg","properties.image.5":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_21-280x280.jpg","properties.image.50":"https://www.cirque-gruss.com/assets/uploads/2026/02/cokctail-hall4-280x280.jpeg","properties.image.51":"https://www.cirque-gruss.com/assets/uploads/2026/02/hall-280x280.jpeg","properties.image.52":"https://www.cirque-gruss.com/assets/uploads/2026/02/salle-spectacle-280x280.jpeg","properties.image.53":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-01.jpg","properties.image.54":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-03.jpg","properties.image.55":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-02.jpg","properties.image.56":"https://www.cirque-gruss.com/assets/uploads/2020/05/societes-041.jpg","properties.image.57":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.image.58":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.image.59":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.image.6":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8885-280x280.jpg","properties.image.60":"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png","properties.image.7":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3718-280x280.jpeg","properties.image.8":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_34-280x280.jpg","properties.image.9":"https://www.cirque-gruss.com/assets/uploads/2020/01/reception-au-cirque-arlette-gruss-150x150.jpg","properties.text":"\n\n\n\n\n\n\n\n\t\t\n\n\nENSEMBLE\n\n\n\n\n\n\nL'ÉVÉNEMENTIEL AU CIRQUE\n\n\n\n\n\n\n Des offres \"sur mesure\" pour vos événements dans un cadre  unique \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\nLe Cirque Arlette Gruss c'est aussi le lieu idéal pour organiser tous vos événements !\n\n\n\n\n\n\t\t\n\n\n \nVous prévoyez un événement pour vos clients ? Vous souhaitez célébrer l’anniversaire de votre société ?\nVous envisagez de présenter un nouveau produit ? Vous organisez une fête d’entreprise ?\nVous recherchez un lieu unique offrant des possibilités variées ?\nVous recherchez simplement un lieu unique, original et modulable  ?\nRéunissez tous vos employés, partenaires ou clients autour d’un spectacle ou Dîner-Spectacle du cirque Arlette Gruss, un moment propice à l’échange et au divertissement ou louez simplement nos infrastructures pour vos événements.\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\nVoir un aperçu de notre savoir-faire événementiel\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\nUN GAGE DE QUALITÉ\nAvec 41 années d’expérience le Cirque Arlette Gruss est votre partenaire incontournable pour vos événements.\n\n\n\n\n\n\n\n\n\n\n\nUN ACCUEIL MODULABLE\nProfitez de nos multiples possibilités d'agencement avec une large gamme de services pour accueillir de 30 à 1300 personnes.\n1300 places en version plénière et 650 places en version Dîner-spectacle.\n\n\n\n\n\n\n\n\n\n\n\nUNE AIDE QUALIFIÉE\nNos équipes conjuguent chaque jour leur savoir-faire pour séduire vos invités, et planifient avec vous l’événement qui correspond aux profils et aux attentes de vos participants.\n\n\n\n\n\n\n\n\n\n\n\nUN LIEU ORIGINAL ET MAGIQUE\nOffrez à vos invités une immersion dans un univers unique empreint de magie et de rêve.\n\n\n\n\n\n\n\t\t\n\n\nLe cirque Arlette GRUSS offre à ses clients professionnels des possibilités uniques\nAccueil personnalisé\nVisite des installations\nSpectacle avec tarifs préférentiels\nUn gradin modulable en spectacle ou dîner\nCollations à l'entracte\nPrestations de dîner ou déjeuner assis dans le chapiteau\nCocktail et buffet après le spectacle\nCadeaux souvenirs\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\nChoisir d’organiser son événement au sein de notre cirque,\nc’est faire le choix de l’originalité dans un lieu unique aux valeurs multiples\navec de nombreux avantages :\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\nLACAPACITÉ\t\t\t\nLe chapiteau permet d'accueillir de 30 à 1300 personnes en siège individuel, classés par zone et numérotés.\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\nLA DIMENSIONARTISTIQUE\t\t\t\nVous disposez de larges possibilités d'associer votre événement à la magie du spectacle lui-même et avec ses artistes.\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\nLA COUVERTUREGÉOGRAPHIQUE\t\t\t\nLa diversité des régions traversées par le cirque sur 10 mois permet à une entreprise nationale d’organiser l’ensemble de ses réunions locales et régionales.\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nORGANISEZVOTRE ÉVÉNEMENT SUR MESURE\t\t\t\nProfitez de nos multiples possibilités d’agencement afin d'y organiser vos événements au sein du chapiteau et tentes annexes\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n+ de détails\n\n\nNos installations constituent un cadre éphémère exceptionnel, pourquoi ne pas faire de votre manifestation un événement inoubliable ?\nÀ l’occasion d’un lancement de produit, d'une marque, d’une présentation de collection, d’un meeting ou d’une soirée privée, nous mettons à votre disposition l’ensemble de nos espaces.\nDès 30 invités nous sommes à votre écoute pour vous aider à organiser votre événement. \nVous pouvez même envisager la privatisation de notre chapiteau.\nLa diversité de nos espaces permet également l’organisation de vos repas en mode assis ou dînatoire : le chapiteau, le hall d’accueil, la tente de répétitions peuvent, tour à tour et selon les besoins, accueillir tous vos cocktails, dîner, déjeuners, repas d’affaires et autres buffets.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nPROFITEZ DELA SALLE DE SPECTACLE ET SON ÉQUIPEMENT\t\t\t\nLe Cirque Arlette Gruss c’est une infrastructure et un équipement performant adaptable à tout type de manifestation.\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n+ de détails\n\n\nNotre salle de spectacle est en tout point unique et révolutionnaire puisqu'elle permet dans un seul lieu l'organisation de tous les moments de votre évènement : accueil, réunion, repas et divertissement. En moins d'une heure nous pouvons passer d'une configuration spectacle à une configuration restauration !\nEn optant pour l’originalité, vous faites également le choix de la qualité technique et artistique de notre salle de spectacle parmi la mieux équipée de France : nous mettons notre mobilier (tables et chaises), sonorisation et notre éclairage haut de gamme au service de votre projet.\nL’écran circulaire de plus de 160 m2 installé autour de la piste pourra diffuser vos contenus ou présentations dans un style original et immersif.\nLa salle est équipée de micros et d’éclairages permettant une sonorisation et mise en lumière de très grande qualité.\n Des équipements performants pour un événement réussi, qui impressionnera vos invités.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\t\t\n\n\n\n\nDONNEZUNE DIMENSION « CIRCASSIENNE » ET ARTISTIQUE À TOUS VOS PROJETS\t\t\t\n\n\n\n\n\n\n\n\n+ de détails\n\n\nEt bien sûr, profitez de ce que le cirque a de plus merveilleux : SES ARTISTES !\nIntégrez les à votre manifestation à travers leurs numéros ou autour d’un spectacle déambulatoire, faites visiter les coulisses à vos invités, conviez ces jeunes talents à venir rencontrer votre public, découvrez les secrets de notre village itinérant...\nFaites de vos convives de véritables privilégiés et offrez leur des souvenirs inoubliables.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nIl nous font confiance\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\nInfos réservations\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\nNotre équipe commerciale met tout son savoir-faire à votre disposition pour organiser journées de travail, séminaires, conventions, dîners, déjeuners, banquets, soirées de gala, voyages de stimulation, lancement de produits, mariages.\n\n\n\n\n\n\n\nTéléchargez le plaquette de présentation\n(opens in new tab)\n\n\n\n\n\n\n\t\t\n\n\nN’hésitez pas à contacter\nRegis Wintzer\n\n\n\n\n\n06 78 05 89 49\t\n\n\n\nregis.wintzer@cirque-gruss.com\t\n\n\n\n\n\n\nAdresse postale\n\n\nCirque Arlette Gruss16 rue de Cancon68600 ALGOLSHEIM\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nNOS OFFRES GROUPES\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCENTRES DE LOISIRS  ASSOCIATIONS  MAISONS DE RETRAITE\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCSE  AMICALE   CE  et  ENTREPRISE \n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSORTIES  SCOLAIRES\n\n\n\n\n\n\n\n\n\n\n\n","properties.url.0":"\n\n","properties.url.1":"\n\n","properties.url.10":"\n\n","properties.url.11":"\n\n","properties.url.12":"\n\n","properties.url.13":"\n\n","properties.url.14":"\n\n","properties.url.15":"\n\n","properties.url.16":"\n\n","properties.url.17":"\n\n","properties.url.18":"\n\n","properties.url.19":"\n\n","properties.url.2":"\n\n","properties.url.20":"\n\n","properties.url.21":"\n\n","properties.url.22":"\n\n","properties.url.23":"\n\n","properties.url.24":"\n\n","properties.url.25":"\n\n","properties.url.26":"\n\n","properties.url.27":"\n\n","properties.url.28":"\n\n","properties.url.29":"\n\n","properties.url.3":"\n\n","properties.url.30":"\n\n","properties.url.31":"\n\n","properties.url.32":"\n\n","properties.url.33":"\n\n","properties.url.34":"\n\n","properties.url.35":"\n\n","properties.url.36":"\n\n","properties.url.37":"\n\n","properties.url.38":"\n\n","properties.url.39":"\n\n","properties.url.4":"\n\n","properties.url.40":"\n\n","properties.url.41":"\n\n","properties.url.42":"\n\n","properties.url.43":"\n\n","properties.url.44":"\n\n","properties.url.45":"\n\n","properties.url.46":"\n\n","properties.url.47":"\n\n","properties.url.48":"\n\n","properties.url.49":"\n\n","properties.url.5":"\n\n","properties.url.50":"\n\n","properties.url.51":"\n\n","properties.url.52":"\n\n","properties.url.53":"\n\n","properties.url.6":"\n\n","properties.url.7":"\n\n","properties.url.8":"\n\n","properties.url.9":"\n\n","type":"https://schema.org/WebPage"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/WPHeader"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/Organization"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/Organization"},"tagProtocol":1},{"tagData":{"properties.image.0":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","properties.image.1":"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-150x150.png","properties.image.10":"https://www.cirque-gruss.com/assets/uploads/2026/02/salon4-280x280.jpg","properties.image.11":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_19-280x280.jpg","properties.image.12":"https://www.cirque-gruss.com/assets/uploads/2020/01/voiture-alone-150x150.jpg","properties.image.13":"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-dresse-dans-chapiteau-150x150.jpg","properties.image.14":"https://www.cirque-gruss.com/assets/uploads/2020/01/sophie-marceau-au-cirque-150x150.jpg","properties.image.15":"https://www.cirque-gruss.com/assets/uploads/2020/01/hall-accueil-cirque-150x150.jpg","properties.image.16":"https://www.cirque-gruss.com/assets/uploads/2020/01/foule-accueil-150x150.jpg","properties.image.17":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_030-280x280.jpg","properties.image.18":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5690-280x280.jpeg","properties.image.19":"https://www.cirque-gruss.com/assets/uploads/2020/01/credit-mutuel-chapiteau-150x150.jpg","properties.image.2":"https://www.cirque-gruss.com/assets/uploads/2020/02/spectacle.png","properties.image.20":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-espaces-privatif-avec-public-1-280x280.jpg","properties.image.21":"https://www.cirque-gruss.com/assets/uploads/2020/01/concert-au-chapiteau-150x150.jpg","properties.image.22":"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service-150x150.jpg","properties.image.23":"https://www.cirque-gruss.com/assets/uploads/2020/01/banque-populaire-au-cirque-150x150.jpg","properties.image.24":"https://www.cirque-gruss.com/assets/uploads/2026/02/exterieur-280x280.jpeg","properties.image.25":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3626-280x280.jpeg","properties.image.26":"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-au-cirque-arlette-gruss-280x280.jpg","properties.image.27":"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-cirque-arlette-gruss-280x280.jpg","properties.image.28":"https://www.cirque-gruss.com/assets/uploads/2026/02/maquillage--280x280.jpeg","properties.image.29":"https://www.cirque-gruss.com/assets/uploads/2020/02/votre-soiree-evenementielle-au-cirque-arlette-gruss-280x280.jpg","properties.image.3":"https://www.cirque-gruss.com/assets/uploads/2020/02/geographique.png","properties.image.30":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_3-280x280.jpg","properties.image.31":"https://www.cirque-gruss.com/assets/uploads/2026/02/noel-13-280x280.jpeg","properties.image.32":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-prix-280x280.jpg","properties.image.33":"https://www.cirque-gruss.com/assets/uploads/2020/02/Diner-sous-le-chapiteau-du-cirque-arlette-gruss-280x280.jpg","properties.image.34":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8178-280x280.jpg","properties.image.35":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8817-280x280.jpg","properties.image.36":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9165-copie-280x280.jpg","properties.image.37":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9357-280x280.jpg","properties.image.38":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_45-280x280.jpg","properties.image.39":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_56-280x280.jpg","properties.image.4":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-de-prix-280x280.jpg","properties.image.40":"https://www.cirque-gruss.com/assets/uploads/2026/02/salon-desanfans-280x280.jpg","properties.image.41":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_13-280x280.jpg","properties.image.42":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_257-280x280.jpg","properties.image.43":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_097-280x280.jpg","properties.image.44":"https://www.cirque-gruss.com/assets/uploads/2026/02/Hall-daccueil2-280x280.jpeg","properties.image.45":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3728-280x280.jpeg","properties.image.46":"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-buffet-pro-au-cirque-150x150.jpg","properties.image.47":"https://www.cirque-gruss.com/assets/uploads/2026/02/BORDEAUX-280x280.jpg","properties.image.48":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5583-280x280.jpeg","properties.image.49":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_0472-280x280.jpg","properties.image.5":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_21-280x280.jpg","properties.image.50":"https://www.cirque-gruss.com/assets/uploads/2026/02/cokctail-hall4-280x280.jpeg","properties.image.51":"https://www.cirque-gruss.com/assets/uploads/2026/02/hall-280x280.jpeg","properties.image.52":"https://www.cirque-gruss.com/assets/uploads/2026/02/salle-spectacle-280x280.jpeg","properties.image.53":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-01.jpg","properties.image.54":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-03.jpg","properties.image.55":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-02.jpg","properties.image.56":"https://www.cirque-gruss.com/assets/uploads/2020/05/societes-041.jpg","properties.image.57":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.image.58":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.image.59":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.image.6":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8885-280x280.jpg","properties.image.7":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3718-280x280.jpeg","properties.image.8":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_34-280x280.jpg","properties.image.9":"https://www.cirque-gruss.com/assets/uploads/2020/01/reception-au-cirque-arlette-gruss-150x150.jpg","properties.text":"\n\n\n\n\n\n\n\n\t\t\n\n\nENSEMBLE\n\n\n\n\n\n\nL'ÉVÉNEMENTIEL AU CIRQUE\n\n\n\n\n\n\n Des offres \"sur mesure\" pour vos événements dans un cadre  unique \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\nLe Cirque Arlette Gruss c'est aussi le lieu idéal pour organiser tous vos événements !\n\n\n\n\n\n\t\t\n\n\n \nVous prévoyez un événement pour vos clients ? Vous souhaitez célébrer l’anniversaire de votre société ?\nVous envisagez de présenter un nouveau produit ? Vous organisez une fête d’entreprise ?\nVous recherchez un lieu unique offrant des possibilités variées ?\nVous recherchez simplement un lieu unique, original et modulable  ?\nRéunissez tous vos employés, partenaires ou clients autour d’un spectacle ou Dîner-Spectacle du cirque Arlette Gruss, un moment propice à l’échange et au divertissement ou louez simplement nos infrastructures pour vos événements.\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\nVoir un aperçu de notre savoir-faire événementiel\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\nUN GAGE DE QUALITÉ\nAvec 41 années d’expérience le Cirque Arlette Gruss est votre partenaire incontournable pour vos événements.\n\n\n\n\n\n\n\n\n\n\n\nUN ACCUEIL MODULABLE\nProfitez de nos multiples possibilités d'agencement avec une large gamme de services pour accueillir de 30 à 1300 personnes.\n1300 places en version plénière et 650 places en version Dîner-spectacle.\n\n\n\n\n\n\n\n\n\n\n\nUNE AIDE QUALIFIÉE\nNos équipes conjuguent chaque jour leur savoir-faire pour séduire vos invités, et planifient avec vous l’événement qui correspond aux profils et aux attentes de vos participants.\n\n\n\n\n\n\n\n\n\n\n\nUN LIEU ORIGINAL ET MAGIQUE\nOffrez à vos invités une immersion dans un univers unique empreint de magie et de rêve.\n\n\n\n\n\n\n\t\t\n\n\nLe cirque Arlette GRUSS offre à ses clients professionnels des possibilités uniques\nAccueil personnalisé\nVisite des installations\nSpectacle avec tarifs préférentiels\nUn gradin modulable en spectacle ou dîner\nCollations à l'entracte\nPrestations de dîner ou déjeuner assis dans le chapiteau\nCocktail et buffet après le spectacle\nCadeaux souvenirs\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\nChoisir d’organiser son événement au sein de notre cirque,\nc’est faire le choix de l’originalité dans un lieu unique aux valeurs multiples\navec de nombreux avantages :\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\nLACAPACITÉ\t\t\t\nLe chapiteau permet d'accueillir de 30 à 1300 personnes en siège individuel, classés par zone et numérotés.\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\nLA DIMENSIONARTISTIQUE\t\t\t\nVous disposez de larges possibilités d'associer votre événement à la magie du spectacle lui-même et avec ses artistes.\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\nLA COUVERTUREGÉOGRAPHIQUE\t\t\t\nLa diversité des régions traversées par le cirque sur 10 mois permet à une entreprise nationale d’organiser l’ensemble de ses réunions locales et régionales.\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nORGANISEZVOTRE ÉVÉNEMENT SUR MESURE\t\t\t\nProfitez de nos multiples possibilités d’agencement afin d'y organiser vos événements au sein du chapiteau et tentes annexes\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n+ de détails\n\n\nNos installations constituent un cadre éphémère exceptionnel, pourquoi ne pas faire de votre manifestation un événement inoubliable ?\nÀ l’occasion d’un lancement de produit, d'une marque, d’une présentation de collection, d’un meeting ou d’une soirée privée, nous mettons à votre disposition l’ensemble de nos espaces.\nDès 30 invités nous sommes à votre écoute pour vous aider à organiser votre événement. \nVous pouvez même envisager la privatisation de notre chapiteau.\nLa diversité de nos espaces permet également l’organisation de vos repas en mode assis ou dînatoire : le chapiteau, le hall d’accueil, la tente de répétitions peuvent, tour à tour et selon les besoins, accueillir tous vos cocktails, dîner, déjeuners, repas d’affaires et autres buffets.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nPROFITEZ DELA SALLE DE SPECTACLE ET SON ÉQUIPEMENT\t\t\t\nLe Cirque Arlette Gruss c’est une infrastructure et un équipement performant adaptable à tout type de manifestation.\n\t\t\t\n\t\n\n\n\n\n\n\n\n\n+ de détails\n\n\nNotre salle de spectacle est en tout point unique et révolutionnaire puisqu'elle permet dans un seul lieu l'organisation de tous les moments de votre évènement : accueil, réunion, repas et divertissement. En moins d'une heure nous pouvons passer d'une configuration spectacle à une configuration restauration !\nEn optant pour l’originalité, vous faites également le choix de la qualité technique et artistique de notre salle de spectacle parmi la mieux équipée de France : nous mettons notre mobilier (tables et chaises), sonorisation et notre éclairage haut de gamme au service de votre projet.\nL’écran circulaire de plus de 160 m2 installé autour de la piste pourra diffuser vos contenus ou présentations dans un style original et immersif.\nLa salle est équipée de micros et d’éclairages permettant une sonorisation et mise en lumière de très grande qualité.\n Des équipements performants pour un événement réussi, qui impressionnera vos invités.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\t\t\n\n\n\n\nDONNEZUNE DIMENSION « CIRCASSIENNE » ET ARTISTIQUE À TOUS VOS PROJETS\t\t\t\n\n\n\n\n\n\n\n\n+ de détails\n\n\nEt bien sûr, profitez de ce que le cirque a de plus merveilleux : SES ARTISTES !\nIntégrez les à votre manifestation à travers leurs numéros ou autour d’un spectacle déambulatoire, faites visiter les coulisses à vos invités, conviez ces jeunes talents à venir rencontrer votre public, découvrez les secrets de notre village itinérant...\nFaites de vos convives de véritables privilégiés et offrez leur des souvenirs inoubliables.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nIl nous font confiance\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\nInfos réservations\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\nNotre équipe commerciale met tout son savoir-faire à votre disposition pour organiser journées de travail, séminaires, conventions, dîners, déjeuners, banquets, soirées de gala, voyages de stimulation, lancement de produits, mariages.\n\n\n\n\n\n\n\nTéléchargez le plaquette de présentation\n(opens in new tab)\n\n\n\n\n\n\n\t\t\n\n\nN’hésitez pas à contacter\nRegis Wintzer\n\n\n\n\n\n06 78 05 89 49\t\n\n\n\nregis.wintzer@cirque-gruss.com\t\n\n\n\n\n\n\nAdresse postale\n\n\nCirque Arlette Gruss16 rue de Cancon68600 ALGOLSHEIM\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nNOS OFFRES GROUPES\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCENTRES DE LOISIRS  ASSOCIATIONS  MAISONS DE RETRAITE\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCSE  AMICALE   CE  et  ENTREPRISE \n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSORTIES  SCOLAIRES\n\n\n\n\n\n\n\n\n\n\n\n","properties.url.0":"\n\n","properties.url.1":"\n\n","properties.url.10":"\n\n","properties.url.11":"\n\n","properties.url.12":"\n\n","properties.url.13":"\n\n","properties.url.14":"\n\n","properties.url.15":"\n\n","properties.url.16":"\n\n","properties.url.17":"\n\n","properties.url.18":"\n\n","properties.url.19":"\n\n","properties.url.2":"\n\n","properties.url.20":"\n\n","properties.url.21":"\n\n","properties.url.22":"\n\n","properties.url.23":"\n\n","properties.url.24":"\n\n","properties.url.25":"\n\n","properties.url.26":"\n\n","properties.url.27":"\n\n","properties.url.28":"\n\n","properties.url.29":"\n\n","properties.url.3":"\n\n","properties.url.30":"\n\n","properties.url.31":"\n\n","properties.url.32":"\n\n","properties.url.33":"\n\n","properties.url.34":"\n\n","properties.url.35":"\n\n","properties.url.36":"\n\n","properties.url.37":"\n\n","properties.url.38":"\n\n","properties.url.39":"\n\n","properties.url.4":"\n\n","properties.url.40":"\n\n","properties.url.41":"\n\n","properties.url.42":"\n\n","properties.url.43":"\n\n","properties.url.44":"\n\n","properties.url.45":"\n\n","properties.url.46":"\n\n","properties.url.47":"\n\n","properties.url.48":"\n\n","properties.url.49":"\n\n","properties.url.5":"\n\n","properties.url.50":"\n\n","properties.url.51":"\n\n","properties.url.6":"\n\n","properties.url.7":"\n\n","properties.url.8":"\n\n","properties.url.9":"\n\n","type":"https://schema.org/CreativeWork"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-150x150.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/spectacle.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/geographique.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-de-prix-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_21-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8885-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3718-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_34-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/reception-au-cirque-arlette-gruss-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/salon4-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_19-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/voiture-alone-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-dresse-dans-chapiteau-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/sophie-marceau-au-cirque-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/hall-accueil-cirque-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/foule-accueil-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_030-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5690-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/credit-mutuel-chapiteau-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-espaces-privatif-avec-public-1-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/concert-au-chapiteau-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/banque-populaire-au-cirque-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/exterieur-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3626-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-au-cirque-arlette-gruss-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/soiree-evenementielle-cirque-arlette-gruss-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/maquillage--280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/votre-soiree-evenementielle-au-cirque-arlette-gruss-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_3-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/noel-13-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/Photo-remise-prix-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/Diner-sous-le-chapiteau-du-cirque-arlette-gruss-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8178-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC8817-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9165-copie-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC9357-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_45-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/BIENVENUE_56-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/salon-desanfans-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/SPECTACLE_13-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_257-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/220520Soiree70Ans_097-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/Hall-daccueil2-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/DSC_3728-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/repas-buffet-pro-au-cirque-150x150.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/BORDEAUX-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_5583-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/IMG_0472-280x280.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/cokctail-hall4-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/hall-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/02/salle-spectacle-280x280.jpeg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-01.jpg","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-03.jpg","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/societes-02.jpg","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/05/societes-041.jpg","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"properties.url.0":"\n\n","properties.url.1":"\n\n","type":"http://schema.org/WPFooter"},"tagProtocol":1},{"tagData":{"properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"og:locale":"fr_FR"},"tagProtocol":3},{"tagData":{"og:type":"article"},"tagProtocol":3},{"tagData":{"og:title":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !"},"tagProtocol":3},{"tagData":{"og:description":"Vous prévoyez un événement pour vos clients ?Vous souhaitez célébrer l’anniversaire de votre société ?Vous envisagez de présenter un nouveau produit ?Vous organisez une fête d’entreprise ?Vous recherchez un lieu unique et original ?"},"tagProtocol":3},{"tagData":{"og:url":"https://www.cirque-gruss.com/evenementiel"},"tagProtocol":3},{"tagData":{"og:site_name":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque"},"tagProtocol":3},{"tagData":{"og:updated_time":"2026-05-06T22:58:35+02:00"},"tagProtocol":3},{"tagData":{"og:image":"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service.jpg"},"tagProtocol":3},{"tagData":{"og:image:secure_url":"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service.jpg"},"tagProtocol":3},{"tagData":{"og:image:width":"1200"},"tagProtocol":3},{"tagData":{"og:image:height":"795"},"tagProtocol":3},{"tagData":{"og:image:alt":"evenementiel"},"tagProtocol":3},{"tagData":{"og:image:type":"image/jpeg"},"tagProtocol":3},{"tagData":{"@context":"https://schema.org","@graph.0.@id":"https://www.cirque-gruss.com/#organization","@graph.0.@type":"Organization","@graph.0.logo.@id":"https://www.cirque-gruss.com/#logo","@graph.0.logo.@type":"ImageObject","@graph.0.logo.caption":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque","@graph.0.logo.contentUrl":"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png","@graph.0.logo.height":"42","@graph.0.logo.inLanguage":"fr-FR","@graph.0.logo.url":"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png","@graph.0.logo.width":"400","@graph.0.name":"Cirque Arlette Gruss","@graph.0.sameAs.0":"https://www.facebook.com/CirqueArletteGrussOfficiel/","@graph.1.@id":"https://www.cirque-gruss.com/#website","@graph.1.@type":"WebSite","@graph.1.inLanguage":"fr-FR","@graph.1.name":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque","@graph.1.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.1.url":"https://www.cirque-gruss.com","@graph.2.@id":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","@graph.2.@type":"ImageObject","@graph.2.height":"200","@graph.2.inLanguage":"fr-FR","@graph.2.url":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","@graph.2.width":"200","@graph.3.@id":"https://www.cirque-gruss.com/evenementiel#breadcrumb","@graph.3.@type":"BreadcrumbList","@graph.3.itemListElement.0.@type":"ListItem","@graph.3.itemListElement.0.item.@id":"https://www.cirque-gruss.com","@graph.3.itemListElement.0.item.name":"Home","@graph.3.itemListElement.0.position":"1","@graph.3.itemListElement.1.@type":"ListItem","@graph.3.itemListElement.1.item.@id":"https://www.cirque-gruss.com/evenementiel","@graph.3.itemListElement.1.item.name":"Evenementiel","@graph.3.itemListElement.1.position":"2","@graph.4.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.4.@type":"WebPage","@graph.4.breadcrumb.@id":"https://www.cirque-gruss.com/evenementiel#breadcrumb","@graph.4.dateModified":"2026-05-06T22:58:35+02:00","@graph.4.datePublished":"2020-02-01T15:43:09+01:00","@graph.4.inLanguage":"fr-FR","@graph.4.isPartOf.@id":"https://www.cirque-gruss.com/#website","@graph.4.name":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.4.primaryImageOfPage.@id":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","@graph.4.url":"https://www.cirque-gruss.com/evenementiel","@graph.5.@id":"https://www.cirque-gruss.com/evenementiel#schema-88115","@graph.5.@type":"Article","@graph.5.author.@type":"Person","@graph.5.author.name":"test04","@graph.5.dateModified":"2026-05-06T22:58:35+02:00","@graph.5.datePublished":"2020-02-01T15:43:09+01:00","@graph.5.description":"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original","@graph.5.headline":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.5.image.@id":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","@graph.5.inLanguage":"fr-FR","@graph.5.isPartOf.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.5.mainEntityOfPage.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.5.name":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.5.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.6.@id":"https://www.cirque-gruss.com/evenementiel#schema-202911","@graph.6.@type":"Article","@graph.6.author.@type":"Person","@graph.6.author.name":"test04","@graph.6.dateModified":"2026-05-06T22:58:35+02:00","@graph.6.datePublished":"2020-02-01T15:43:09+01:00","@graph.6.description":"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original","@graph.6.headline":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.6.image.@id":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","@graph.6.inLanguage":"fr-FR","@graph.6.isPartOf.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.6.mainEntityOfPage.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.6.name":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.6.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.7.@id":"https://www.cirque-gruss.com/evenementiel#schema-206198","@graph.7.@type":"Article","@graph.7.author.@type":"Person","@graph.7.author.name":"test04","@graph.7.dateModified":"2026-05-06T22:58:35+02:00","@graph.7.datePublished":"2020-02-01T15:43:09+01:00","@graph.7.description":"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original","@graph.7.headline":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.7.image.@id":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","@graph.7.inLanguage":"fr-FR","@graph.7.isPartOf.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.7.mainEntityOfPage.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.7.name":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.7.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.8.@id":"https://www.cirque-gruss.com/evenementiel#schema-207774","@graph.8.@type":"Article","@graph.8.author.@type":"Person","@graph.8.author.name":"test04","@graph.8.dateModified":"2026-05-06T22:58:35+02:00","@graph.8.datePublished":"2020-02-01T15:43:09+01:00","@graph.8.description":"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original","@graph.8.headline":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.8.image.@id":"https://www.cirque-gruss.com/assets/uploads/2020/01/chapiteau-arlette-gruss.png","@graph.8.inLanguage":"fr-FR","@graph.8.isPartOf.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.8.mainEntityOfPage.@id":"https://www.cirque-gruss.com/evenementiel#webpage","@graph.8.name":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","@graph.8.publisher.@id":"https://www.cirque-gruss.com/#organization"},"tagProtocol":4},{"tagData":{"meta:viewport":"width=device-width, initial-scale=1"},"tagProtocol":5},{"tagData":{"meta:description":"Prévoyez un événement pour vos clients , célébrez l’anniversaire de votre société une fête d’entreprise, présentez un nouveau produit, voici un lieu unique et original"},"tagProtocol":5},{"tagData":{"meta:robots":"follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"},"tagProtocol":5},{"tagData":{"meta:twitter:card":"summary_large_image"},"tagProtocol":5},{"tagData":{"meta:twitter:title":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !"},"tagProtocol":5},{"tagData":{"meta:twitter:description":"Vous prévoyez un événement pour vos clients ?Vous souhaitez célébrer l’anniversaire de votre société ?Vous envisagez de présenter un nouveau produit ?Vous organisez une fête d’entreprise ?Vous recherchez un lieu unique et original ?"},"tagProtocol":5},{"tagData":{"meta:twitter:image":"https://www.cirque-gruss.com/assets/uploads/2020/01/champagne-service.jpg"},"tagProtocol":5},{"tagData":{"meta:twitter:label1":"Temps de lecture"},"tagProtocol":5},{"tagData":{"meta:twitter:data1":"4 minutes"},"tagProtocol":5},{"tagData":{"meta:msapplication-TileImage":"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-300x300.png"},"tagProtocol":5},{"tagData":{"title":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !"},"tagProtocol":5},{"tagData":{"canonicalUrl":"https://www.cirque-gruss.com/evenementiel"},"tagProtocol":6}],"ms":2,"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"]}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{"ctx":{"a":[30,49,61,61,0],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","df":true,"huah":true,"lc":"e9251a11-500d-49e3-907c-136927b4057e","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[485,494,429,0,849],"pv":2,"r":"f10b0316-f251-4b54-ad00-57cded0cb532","rd":1732,"sa":1791844386587,"sh":745,"si":"0p4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOeb0ZcztPzkhvPWB-A5-0i1PfJQszNh16kDsXMTbKxXwu8mAyWBnfvKrW5bS6FrzILzivIL0XknOdAl09KwGzpJRoRUA3n48d8E2kntAV-pb5ZjiqCgyHxCwMW8lFaVGgAV83tDLUyvZRCg89d","sps":883,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844387475,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/evenementiel","v":"3.60.0-2608111919"},"req":[{"del":150,"i":{"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"]}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr6.snapchat.com/p"},{"data":{"body":{"_inspection":{"inter_id":"1.-1638.0::0.0.0.0::0.0.0","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844387382::eKZqJZ5Uk0b_rPmDmJuD","css":1,"device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/evenementiel"},"page_csid":"1791844387380::RnLNCBMM-A86P2CAWaww","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-W3NyC.1.0::e50a4d2d-c68c-11f1-9d8c-de48682c0604-CT443I3C77U9RNPHCGL0","pixel":{"code":"CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-CT443I3C77U9RNPHCGL0","user":{"anonymous_id":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"Pageview","event_id":"","is_onsite":false,"message_id":"messageId-1791844387408-9442230115867-CT443I3C77U9RNPHCGL0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:07.408Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-1638.0::0.0.0.0::0.0.0","trigger_source":"pixel_self","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844387382::eKZqJZ5Uk0b_rPmDmJuD","device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/evenementiel"},"page_csid":"1791844387380::RnLNCBMM-A86P2CAWaww","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-W3NyC.1.0::e50a4d2d-c68c-11f1-9d8c-de48682c0604-CT443I3C77U9RNPHCGL0","pixel":{"code":"CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-CT443I3C77U9RNPHCGL0","user":{"anonymous_id":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"LandingPageView","event_id":"","is_onsite":false,"message_id":"messageId-1791844387415-9136848181591-CT443I3C77U9RNPHCGL0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:07.415Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-1638.0::0.0.0.0::0.0.0","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844387378::e8NGqIZ93M_rPFZl8mYe","css":1,"device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/evenementiel"},"page_csid":"1791844387380::RnLNCBMM-A86P2CAWaww","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-W3NyC.1.0::e4b99c4c-c68c-11f1-90e0-963feef81235-C50A482LQH64DC0FCGG0","pixel":{"code":"C50A482LQH64DC0FCGG0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-C50A482LQH64DC0FCGG0","user":{"anonymous_id":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"Pageview","event_id":"","is_onsite":false,"message_id":"messageId-1791844387389-2094859208680-C50A482LQH64DC0FCGG0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:07.389Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-1638.0::0.0.0.0::0.0.0","trigger_source":"pixel_self","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844387378::e8NGqIZ93M_rPFZl8mYe","device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/evenementiel"},"page_csid":"1791844387380::RnLNCBMM-A86P2CAWaww","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-W3NyC.1.0::e4b99c4c-c68c-11f1-90e0-963feef81235-C50A482LQH64DC0FCGG0","pixel":{"code":"C50A482LQH64DC0FCGG0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-C50A482LQH64DC0FCGG0","user":{"anonymous_id":"01M4S3Z2GV7KQY6DJE8TRQEQ8Z_.tt.1.1791844387356"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"LandingPageView","event_id":"","is_onsite":false,"message_id":"messageId-1791844387397-2357500170621-C50A482LQH64DC0FCGG0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:07.397Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/identify_0504602d.js"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/main.MWU2MzIzODM0MA.js"},{"data":{"body":{},"filter":"||connect.facebook.net/signals/$third-party","listName":"easyprivacy.txt","query":{"domain":"www.cirque-gruss.com","ex_m":"118,241,171,27,82,83,162,78,77,11,181,102,20,153,141,46,85,90,149,176,183,8,4,5,7,6,3,103,115,32,17,31,18,33,34,35,37,55,163,87,126,22,24,51,47,49,48,95,104,108,124,160,164,53,125,29,26,133,79,43,166,165,167,157,155,30,42,66,123,178,80,21,128,93,76,23,97,98,130,96,151,150,154,109,177,180,41,56,127,54,161,72,185,110,184,210,255,84,274,273,272,14,25,28,40,62,117,68,10,73,111,112,113,119,144,38,36,146,147,148,143,142,172,86,175,173,174,57,69,67,137,19,179,52,324,325,326,323,339,361,248,237,70,238,236,364,355,59,249,121,145,92,135,61,134,140,139,65,74,168,88,89,129,44,39,60,63,114,182,1,138,16,136,12,2,64,105,15,75,71,132,101,100,187,188,106,107,9,116,186,58,158,99,91,81,131,120,169,50,159,0,94,152,156,170,45,122,13,189","hme":"7459fa3e38c2784dbaf309537bed5fa7e8560fab51fb61e53e5ffafeb46a02a9","im":1,"r":"stable","v":"2.9.419"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://connect.facebook.net/signals/config/735734249165336?v=2.9.419&r=stable&domain=www.cirque-gruss.com&im=1&hme=7459fa3e38c2784dbaf309537bed5fa7e8560fab51fb61e53e5ffafeb46a02a9&ex_m=118%2C241%2C171%2C27%2C82%2C83%2C162%2C78%2C77%2C11%2C181%2C102%2C20%2C153%2C141%2C46%2C85%2C90%2C149%2C176%2C183%2C8%2C4%2C5%2C7%2C6%2C3%2C103%2C115%2C32%2C17%2C31%2C18%2C33%2C34%2C35%2C37%2C55%2C163%2C87%2C126%2C22%2C24%2C51%2C47%2C49%2C48%2C95%2C104%2C108%2C124%2C160%2C164%2C53%2C125%2C29%2C26%2C133%2C79%2C43%2C166%2C165%2C167%2C157%2C155%2C30%2C42%2C66%2C123%2C178%2C80%2C21%2C128%2C93%2C76%2C23%2C97%2C98%2C130%2C96%2C151%2C150%2C154%2C109%2C177%2C180%2C41%2C56%2C127%2C54%2C161%2C72%2C185%2C110%2C184%2C210%2C255%2C84%2C274%2C273%2C272%2C14%2C25%2C28%2C40%2C62%2C117%2C68%2C10%2C73%2C111%2C112%2C113%2C119%2C144%2C38%2C36%2C146%2C147%2C148%2C143%2C142%2C172%2C86%2C175%2C173%2C174%2C57%2C69%2C67%2C137%2C19%2C179%2C52%2C324%2C325%2C326%2C323%2C339%2C361%2C248%2C237%2C70%2C238%2C236%2C364%2C355%2C59%2C249%2C121%2C145%2C92%2C135%2C61%2C134%2C140%2C139%2C65%2C74%2C168%2C88%2C89%2C129%2C44%2C39%2C60%2C63%2C114%2C182%2C1%2C138%2C16%2C136%2C12%2C2%2C64%2C105%2C15%2C75%2C71%2C132%2C101%2C100%2C187%2C188%2C106%2C107%2C9%2C116%2C186%2C58%2C158%2C99%2C91%2C81%2C131%2C120%2C169%2C50%2C159%2C0%2C94%2C152%2C156%2C170%2C45%2C122%2C13%2C189"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"_id":"8eb4f0628a9faf9f","_idn":0,"_refts":0,"action_name":"Evenementiel - Cirque Arlette Gruss • Nouveau Spectacle Essentiel en tournée !","fa_fp[0][fa_fv]":1,"fa_fp[0][fa_name]":"subscription","fa_fp[0][fa_vid]":"GJGK21","fa_pv":1,"h":22,"idsite":1,"m":33,"pf_dm1":437,"pf_net":0,"pf_srv":29,"pf_tfr":4,"pv_id":"eFhnkv","r":543117,"rec":1,"s":7,"send_image":0,"uadata":{},"url":"https://www.cirque-gruss.com/evenementiel"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cirquegruss.matomo.cloud/matomo.php?action_name=Evenementiel%20-%20Cirque%20Arlette%20Gruss%20%E2%80%A2%20Nouveau%20Spectacle%20Essentiel%20en%20tourn%C3%A9e%20!&idsite=1&rec=1&r=543117&h=22&m=33&s=7&url=https%3A%2F%2Fwww.cirque-gruss.com%2Fevenementiel&_id=8eb4f0628a9faf9f&_idn=0&send_image=0&_refts=0&pv_id=eFhnkv&fa_pv=1&fa_fp[0][fa_vid]=GJGK21&fa_fp[0][fa_name]=subscription&fa_fp[0][fa_fv]=1&pf_net=0&pf_srv=29&pf_tfr=4&pf_dm1=437&uadata=%7B%7D"},{"data":{"body":[{"botBehavior":null,"config":{"identifier":"6154472452a02c49b33a1f66","language":"fr","name":"ga_fb"},"correlationId":"","deployment":"2026-07-28T10:03:07.519Z","domain":"www.cirque-gruss.com","geolocation":{"countryCode":"FR","isFallback":false,"reglementation":"gpdr","subdivisionCode":"Unknown","userLanguage":"en-US"},"metadata":{"sdkVersion":"1.13.0"},"pathname":"/evenementiel","preferences":{"disabled":[],"enabled":[]},"projectId":"61278530702fed3d78f5d8bb","referrer":null,"source":"sdk-web","timestamp":"2026-10-12T22:33:06.564Z","token":"oFB1AqkGWEx3jtfUe3SUCn5j-l","type":"pageview","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36"},{"botBehavior":null,"config":{"identifier":"6154472452a02c49b33a1f66","language":"fr","name":"ga_fb"},"correlationId":"","deployment":"2026-07-28T10:03:07.519Z","domain":"www.cirque-gruss.com","geolocation":{"countryCode":"FR","isFallback":false,"reglementation":"gpdr","subdivisionCode":"Unknown","userLanguage":"en-US"},"metadata":{"sdkVersion":"1.13.0","widget":{"configLoadMs":99,"configResolvedAt":"2026-10-12T22:33:06.662Z","cookiesVersion":"ga_fb","gcm":{"adsDataRedaction":false,"display":true,"displayIllustrations":true,"position":"last","urlPassthrough":false},"isGppConfig":false,"msftUet":null,"mspaOptOutMode":null,"platform":null,"position":"left","restrictedMode":false,"sdkBuild":"sdk","subscription":"free","tastePromotion":false}},"pathname":"/evenementiel","preferences":{"disabled":[],"enabled":[]},"projectId":"61278530702fed3d78f5d8bb","referrer":null,"source":"sdk-web","timestamp":"2026-10-12T22:33:06.565Z","token":"oFB1AqkGWEx3jtfUe3SUCn5j-l","type":"cookies:loaded","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36"}],"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://api.axept.io/v1/analytics/evts"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"bg":false,"bt":"1d53c387","cdid":"@-9899bf79-88de-4c72-9c7a-93dede5260cb","d_bvs":"","df":true,"ev":"PAGE_VIEW","gat":"AW-11241157491,GTM-WGZHD7C","huah":true,"intg":"gtm","m_dcl":494,"m_fcps":429,"m_pi":485,"m_pl":0,"m_pv":2,"m_rd":911,"m_sh":745,"m_sl":849,"m_sw":353,"pid":"bdb43125-632f-4607-bcd8-ba1682ca837c","pids":"bdb43125-632f-4607-bcd8-ba1682ca837c","pl":"https://www.cirque-gruss.com/evenementiel","trackId":"0f7c855a-14e0-4096-bf56-66306da8f2f1","ts":1791844386654,"u_c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","u_sclid":"921bcf58-1f80-4fed-93d4-f7c942cccd87","u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b","v":"3.60.0-2608111919"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p?pid=bdb43125-632f-4607-bcd8-ba1682ca837c&ev=PAGE_VIEW&intg=gtm&pids=bdb43125-632f-4607-bcd8-ba1682ca837c&u_c1=039cfbd0-f6d1-4383-b591-a45e4f8fea23&cdid=%40-9899bf79-88de-4c72-9c7a-93dede5260cb&u_sclid=921bcf58-1f80-4fed-93d4-f7c942cccd87&u_scsid=0c960677-ef2a-41b9-842e-85af320bce2b&gat=AW-11241157491%2CGTM-WGZHD7C&bg=false&bt=1d53c387&d_bvs=&df=true&huah=true&m_dcl=494&m_fcps=429&m_pi=485&m_pl=0&m_pv=2&m_rd=911&m_sh=745&m_sl=849&m_sw=353&pl=https%3A%2F%2Fwww.cirque-gruss.com%2Fevenementiel&trackId=0f7c855a-14e0-4096-bf56-66306da8f2f1&ts=1791844386654&v=3.60.0-2608111919"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"pid":"bdb43125-632f-4607-bcd8-ba1682ca837c","u_sclid":"921bcf58-1f80-4fed-93d4-f7c942cccd87","u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"}},"stack":[{"fileName":"","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/cm/i?pid=bdb43125-632f-4607-bcd8-ba1682ca837c&u_scsid=0c960677-ef2a-41b9-842e-85af320bce2b&u_sclid=921bcf58-1f80-4fed-93d4-f7c942cccd87"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"v":"3.60.0-2608111919"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/config/com/bdb43125-632f-4607-bcd8-ba1682ca837c.js?v=3.60.0-2608111919"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/main.MWU2MzIzODM0OA.js"},{"data":{"body":{},"filter":"://analytics.*/event","listName":"easyprivacy.txt","query":{"lib":"ttq","sdkid":"CT443I3C77U9RNPHCGL0"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=CT443I3C77U9RNPHCGL0&lib=ttq"},{"data":{"body":{},"filter":"/matomo.js$domain=~github.com","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.matomo.cloud/cirquegruss.matomo.cloud/matomo.js"},{"data":{"body":{},"filter":"/fbevents.js","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://connect.facebook.net/en_US/fbevents.js"},{"data":{"body":{},"filter":"||sc-static.net^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://sc-static.net/scevent.min.js"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cx":"c","gtm":"4e6a91","id":"AW-11241157491"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=AW-11241157491&cx=c&gtm=4e6a91"},{"data":{"body":{},"filter":"://analytics.*/event","listName":"easyprivacy.txt","query":{"lib":"ttq","sdkid":"C50A482LQH64DC0FCGG0"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=C50A482LQH64DC0FCGG0&lib=ttq"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"GTM-WGZHD7C"}},"stack":[{"fileName":"https://www.cirque-gruss.com/evenementiel","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtm.js?id=GTM-WGZHD7C"},{"data":{"body":[{"botBehavior":{"confidence":0.3450465072995351,"score":0.05},"config":{"identifier":"6154472452a02c49b33a1f66","language":"fr","name":"ga_fb"},"correlationId":"","deployment":"2026-07-28T10:03:07.519Z","domain":"www.cirque-gruss.com","geolocation":{"countryCode":"FR","isFallback":false,"reglementation":"gpdr","subdivisionCode":"Unknown","userLanguage":"en-US"},"metadata":{"sdkVersion":"1.13.0"},"pathname":"/","preferences":{"disabled":[],"enabled":[]},"projectId":"61278530702fed3d78f5d8bb","referrer":null,"source":"sdk-web","timestamp":"2026-10-12T22:33:05.784Z","token":"z0lL7RKqOCeoGjoAWXweYmuX5c","type":"pagehide","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36"}],"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://api.axept.io/v1/analytics/evts"},{"data":{"body":{"_inspection":{"inter_id":"1.-2835.160::0.0.0.0::6104.4.900","vids":"76936274"},"action":"Pf","auto_collected_properties":{"action_event":"pl","inter":{"ct":0,"pl":8970,"st":2},"page_inter":{"ct":0,"metrics_type":"ct|st|pl","pl":8970,"st":2}},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":0,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"2","referrer":"","url":"https://www.cirque-gruss.com/"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0::df99baf1-c68c-11f1-90e0-963feef81235","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","user":{"anonymous_id":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844385782-8073837002235","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:05.782Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/inter"},{"data":{"body":{"ctx":{"a":[26,37,45,45,1],"bg":true,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","df":true,"huah":true,"lc":"488515ac-a3cf-4065-8422-8abd998e8497","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[950,961,619,3123,2412],"pv":2,"r":"db4c3ab4-1661-455e-b09f-5d4edda1257e","rd":8931,"sa":1791844379219,"sh":745,"si":"2R4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOe2nOSG89YH4Dn7SLU98lCzM2HXqQOxcxNoxgMlgZ37yq1uW0uha8yC84ryC9F5JznaoVIhRWso89gZWEiir2ZjoSXBB5UGVCMJG3bTDq0FmFeXgqfXU7doSV-l9V5IeyY","sps":6519,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844385741,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/","v":"3.60.0-2608111919"},"req":[{"del":0,"md":{"ms":3,"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"psc":2}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"_id":"8eb4f0628a9faf9f","_idn":1,"_refts":0,"ca":1,"h":22,"idsite":1,"m":33,"ma_fs":0,"ma_h":1280,"ma_id":"vn7PGf","ma_le":47,"ma_mt":"Video","ma_pn":"html5video","ma_ps":7,"ma_re":"https://www.cirque-gruss.com/assets/uploads/2026/10/arlette-gruss-essentiel-2026.mp4","ma_se":"","ma_st":6,"ma_ti":"","ma_ttp":0,"ma_w":720,"pv_id":"66FUTY","r":224484,"rec":1,"s":5,"send_image":0,"uadata":{},"url":"https://www.cirque-gruss.com/"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cirquegruss.matomo.cloud/matomo.php?ma_id=vn7PGf&ma_ti=&ma_pn=html5video&ma_mt=Video&ma_re=https%3A%2F%2Fwww.cirque-gruss.com%2Fassets%2Fuploads%2F2026%2F10%2Farlette-gruss-essentiel-2026.mp4&ma_st=6&ma_ps=7&ma_le=47&ma_ttp=0&ma_w=720&ma_h=1280&ma_fs=0&ma_se=&ca=1&&idsite=1&rec=1&r=224484&h=22&m=33&s=5&url=https%3A%2F%2Fwww.cirque-gruss.com%2F&_id=8eb4f0628a9faf9f&_idn=1&send_image=0&_refts=0&pv_id=66FUTY&uadata=%7B%7D"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cirquegruss.matomo.cloud/matomo.php"},{"data":{"body":{"ctx":{"a":[26,37,45,45,1],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","huah":true,"lc":"488515ac-a3cf-4065-8422-8abd998e8497","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[950,961,619,3123,2412],"pv":2,"r":"cd2f1c2b-b908-4e92-b39b-4bce551a373d","rd":3644,"sa":1791844379219,"sh":745,"si":"2R4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOe2nOSG89YH4Dn7SLU98lCzM2HXqQOxcxNoxgMlgZ37yq1uW0uha8yC84ryC9F5JznaoVIhRWso89gZWEiir2ZjoSXBB5UGVCMLyzNLxwruQibkgmbS85VGjc9ibhbmGuX","sps":1232,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844380454,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/","v":"3.60.0-2608111919"},"req":[{"del":185,"log":{"message":"","name":"SB","pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"stack":"    at Nt (https://sc-static.net/scevent.min.js:2:6428)\n    at $e (https://sc-static.net/scevent.min.js:2:24509)\n    at io (https://sc-static.net/scevent.min.js:2:44473)\n    at bo (https://sc-static.net/scevent.min.js:2:49688)\n    at https://sc-static.net/scevent.min.js:2:4817\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at s (https://sc-static.net/scevent.min.js:2:4794)\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at c.send (https://sc-static.net/scevent.min.js:2:5102)\n    at y (https://sc-static.net/scevent.min.js:2:2806)"}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cv":1,"e":"gtm.load","eid":29,"es":1,"gtm":"45be6a91v9224546821za20gzb894699499zd894699499xf1","h":"Ag","id":"AW-11241157491","pid":638607459,"rv":"6a91","t":"t","tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tc":9,"u":"AgAAAIAKAAAAACAgCAAAAAAY","ut":"AgAAgA","v":3,"z":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/a?id=AW-11241157491&v=3&t=t&pid=638607459&gtm=45be6a91v9224546821za20gzb894699499zd894699499xf1&cv=1&rv=6a91&tc=9&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&es=1&e=gtm.load&eid=29&u=AgAAAIAKAAAAACAgCAAAAAAY&ut=AgAAgA&h=Ag&z=0"},{"data":{"body":{"ctx":{"a":[26,37,45,45,1],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","huah":true,"lc":"488515ac-a3cf-4065-8422-8abd998e8497","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[950,961,619,3123,2412],"pv":2,"r":"27380c3a-198e-4dd8-aa2e-319ddbd0938b","rd":3444,"sa":1791844379219,"sh":745,"si":"2R4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOe2nOSG89YH4Dn7SLU98lCzM2HXqQOxcxNoxgMlgZ37yq1uW0uha8yC84ryC9F5JznaoVIhRWso89gZWEiir2ZjoSXBB5UGVCMk3onOAw6GY7Q2IMuMZ3b0JOL48FLp8pF","sps":1032,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844380254,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/","v":"3.60.0-2608111919"},"req":[{"del":373,"log":{"message":"event_type","name":"TPFA","pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"stack":"    at Nt (https://sc-static.net/scevent.min.js:2:6415)\n    at pa (https://sc-static.net/scevent.min.js:2:35167)\n    at ka (https://sc-static.net/scevent.min.js:2:37879)\n    at https://sc-static.net/scevent.min.js:2:39341\n    at https://sc-static.net/scevent.min.js:2:4817\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at s (https://sc-static.net/scevent.min.js:2:4794)\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at c.send (https://sc-static.net/scevent.min.js:2:5102)\n    at y (https://sc-static.net/scevent.min.js:2:2806)"}},{"del":285,"md":{"gat":["AW-11241157491","GTM-WGZHD7C"],"md":[{"tagData":{"properties.image.0":"https://cirque-gruss.com/wp-content/uploads/2026/04/title.png","properties.image.1":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-billets-2025-.jpg","properties.image.10":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-au-travers-des-ages-1980.jpg","properties.image.11":"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png","properties.image.2":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-vip-2025.jpg","properties.image.3":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-tarifs-2025.jpg","properties.image.4":"https://www.cirque-gruss.com/assets/uploads/2025/02/visite-virtuelle.webp","properties.image.5":"https://www.cirque-gruss.com/assets/uploads/2026/10/Tous-les-produits-Essentiel-small-280x280.jpg","properties.image.6":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.image.7":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.image.8":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.image.9":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-famille-arlette.jpg","properties.text":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nEN TOURNÉE DANS TOUTE LA FRANCE\n\n\nLA NOUVELLE CRÉATION DU CIRQUE ARLETTE GRUSS\t\n\n\n\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n\n\n.fl-node-8nuz450pxows.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\nNOUVELLE CRÉATION\t\n\nEN TOURNÉE DANS TOUTE LA FRANCE\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n.fl-node-oj30u6v98xbd.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\t\t\n\n\n\n\n\nRéservation - Essentiel\n\n* { margin: 0; padding: 0; box-sizing: border-box; }\n.container {\nmax-width: 730px;\nmargin: 0 auto;\n}\n/* =====================\nTOGGLE SPECTACLE/DÎNER\n===================== */\n.mode-toggle {\ndisplay: flex;\nbackground: rgb(255, 255, 255, 0.2);\nborder-radius: 8px;\nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);\npadding: 0px;\nwidth: -moz-fit-content;\nwidth: fit-content;\nmargin: 0 auto 24px;\ngap: 5px;\n}\n.toggle-option {\npadding: 5px 19px;\nborder-radius: 8px;\ncursor: pointer;\ntransition: all 0.3s ease;\nfont-weight: 600;\nfont-size: 0.9rem;\nline-height: 0.7rem;\ndisplay: flex;\nalign-items: center;\ngap: 8px;\ncolor: #718096;\nbackground: transparent;\nborder: none;\nwhite-space: nowrap;\nposition: relative;\n}\n.toggle-option:hover {\nbackground: #cbd5e0;\n}\n.toggle-option.active {\nbackground: #A5172E; \ncolor: #fff;\nbox-shadow: 0 4px 12px rgba(165, 23, 46, 0.3);\n}\n/* Mode desktop : icônes uniquement, texte au hover */\n@media (min-width: 769px) {\n.toggle-option.active {\nbackground: #fff;\ncolor: #fff;\nbox-shadow: 0px 0px 16px rgba(165, 23, 46, 0.7);\nborder: solid 2px rgba(165, 23, 46, 0.4);\n}\n#mode-toggle-desktop .toggle-option {\npadding: 14px 14px;\nmin-width: 40px;\n}\n.btn-submit {\ncolor: #fff;\nborder: none;\npadding: 14px 14px;\nborder-radius: 8px;\nfont-size: 1rem;\nfont-weight: 600;\nmargin-left:0px;\ntransition: all 0.3s;\nwhite-space: nowrap;\n}\n#mode-toggle-desktop .toggle-option span {\ndisplay: none;\nposition: absolute;\nleft: 50%;\nbottom: -55px;\ntransform: translateX(-50%);\nbackground: darkred;\ncolor: #fff;\npadding: 14px 14px;\nborder-radius: 6px;\nfont-size: 0.85rem;\nwhite-space: nowrap;\nz-index: 1000;\npointer-events: none;\n}\n#mode-toggle-desktop .toggle-option span::before {\ncontent: '';\nposition: absolute;\ntop: -4px;\nleft: 50%;\ntransform: translateX(-50%);\nwidth: 0;\nheight: 0;\nborder-left: 5px solid transparent;\nborder-right: 5px solid transparent;\nborder-bottom: 5px solid #2d3748;\n}\n#mode-toggle-desktop .toggle-option:hover span {\ndisplay: block;\n}\n#mode-toggle-desktop .toggle-option::before {\ncontent: '🎪';\nfont-size: 1.3em;\n}\n#mode-toggle-desktop #toggle-diner::before {\ncontent: '🍽️';\n}\n}\n/* =====================\nSEARCH BAR (base = mobile-first)\n===================== */\n.search-bar {\n/* comme la v2 */\nbackground: #fff;\nborder-radius: 12px;\nbox-shadow: 0 10px 40px rgba(0,0,0,0.5);\npadding: 7px;\ndisplay: flex;\ngap: 7px;\nalign-items: stretch;\nwidth: fit-content;\nmin-width: 300px;\nmargin: 0 auto;           /* centre */\ntransition: all 0.4s ease;\nposition: relative;        /* IMPORTANT : plus de fixed en mobile */\nz-index: 999;              /* (et écris-le en minuscule) */\n}\n.search-field {\nflex: 1;\nmin-width: 0;\nposition: relative;\ntransition: all 0.3s ease;\n}\n.search-field label {\ndisplay: none;\nfont-size: 0.7rem;\ncolor: #718096;\nmargin-bottom: 6px;\nfont-weight: 600;\ntext-transform: uppercase;\nletter-spacing: 0.5px;\n}\n.field-content {\ndisplay: flex;\nalign-items: center;\ngap: 10px;\npadding: 14px 10px;\nborder: 2px solid #e2e8f0;\nborder-radius: 8px;\ncursor: pointer;\ntransition: all 0.3s ease;\nbackground: #fff;\nmax-height: 44px;\n}\n.field-content:hover {\nborder-color: #A5172E;\nbox-shadow: 0 2px 8px rgba(165, 23, 46, 0.10);\n}\n.field-content.active {\nborder-color: #A5172E;\nbox-shadow: 0 0 0 3px rgba(165, 23, 46, 0.10);\n}\n.icon { \nwidth: 22px; \nheight: 22px; \nflex-shrink: 0; \n}\n.field-value {\nflex: 1;\ncolor: #2d3748;\nfont-size: 0.9rem;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n.field-value.placeholder { \ncolor: #a0aec0; \n}\n/* =====================\nDROPDOWN\n===================== */\n.dropdown {\nposition: absolute;\ntop: calc(100% + 8px);\nleft: 0;\nright: 0;\nbackground: #fff;\nborder-radius: 10px;\nbox-shadow: 0 15px 50px rgba(0,0,0,0.15);\nmax-height: 350px;\noverflow-y: auto;\nz-index: 1000;\ndisplay: none;\nborder: 1px solid #e2e8f0;\n}\n.dropdown.show {\ndisplay: block;\nanimation: slideDown 0.2s ease-out;\n}\n@keyframes slideDown {\nfrom { opacity: 0; transform: translateY(-10px); }\nto { opacity: 1; transform: translateY(0); }\n}\n.dropdown-item {\npadding: 12px 16px;\ncursor: pointer;\ntransition: background 0.2s;\ncolor: #2d3748;\nborder-bottom: 1px solid #f7fafc;\n}\n.dropdown-item:last-child { \nborder-bottom: none; \n}\n.dropdown-item:hover { \nbackground: darkred;\ncolor: #fff;\n}\n.dropdown-item.selected { \nbackground: #A5172E; \ncolor: #fff; \n}\n.dropdown-item.disabled {\nopacity: 0.4;\ncursor: not-allowed;\nbackground: #fafafa;\n}\n.dropdown-item.disabled:hover { \nbackground: #fafafa; \ncolor: #2d3748;\n}\n.dropdown-item.past { \nopacity: 0.55; \n}\n.dropdown-item.active { \nbackground: #f7fafc; \n}\n.dropdown-item.active:hover { \nbackground: darkred;\ncolor: #fff;\n}\n/* Scrollbar */\n.dropdown::-webkit-scrollbar { width: 8px; }\n.dropdown::-webkit-scrollbar-track { background: #f7fafc; border-radius: 10px; }\n.dropdown::-webkit-scrollbar-thumb { background: #cbd5e0; border-radius: 10px; }\n.dropdown::-webkit-scrollbar-thumb:hover { background: #A5172E; }\n/* =====================\nCALENDAR\n===================== */\n.calendar { \npadding: 20px; \n}\n.calendar-header {\ndisplay: flex;\njustify-content: space-between;\nalign-items: center;\nmargin-bottom: 20px;\n}\n.calendar-header button {\nbackground: #fff5f5;\nborder: 2px solid;\ncursor: pointer;\npadding: 0px 12px;\ncolor: #A5172E;\nfont-size: 2rem;\nborder-radius: 12px;\ntransition: background 0.2s;\nline-height: 2.4rem;\n}\n.calendar-header button:hover:not(:disabled) { \nbackground: #f7fafc; \n}\n.calendar-header button:disabled { \nopacity: 0.03; \ncursor: not-allowed; \n}\n.calendar-header span {\nfont-weight: 600;\ncolor: #2d3748;\nfont-size: 1rem;\n}\n.calendar-grid { \ndisplay: grid; \ngrid-template-columns: repeat(7, 1fr); \ngap: 6px; \n}\n.calendar-day-header {\ntext-align: center;\nfont-size: 0.7rem;\ncolor: #718096;\npadding: 10px 0;\nfont-weight: 700;\ntext-transform: uppercase;\n}\n.calendar-day {\naspect-ratio: 1;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nborder-radius: 8px;\ncursor: pointer;\nfont-size: 0.9rem;\ncolor: #2d3748;\ntransition: all 0.2s;\nfont-weight: 500;\n}\n.calendar-day:hover:not(.disabled):not(.empty) {\ncolor: #f7fafc;\nbackground: #A5172E;\ntransform: scale(1.05);\n}\n.calendar-day.empty { \ncursor: default; \n}\n.calendar-day.disabled { \ncolor: #cbd5e0; \ncursor: not-allowed; \n}\n.calendar-day.available {\nbackground: #fff5f5;\ncolor: #A5172E;\nfont-weight: 600;\n}\n.calendar-day.available:hover { \nbackground: #A5172E; \ncolor: #fff; \n}\n.calendar-day.selected { \nbackground: #A5172E; \ncolor: #fff; \n}\n/* =====================\nCOUNTER\n===================== */\n.counter-container { \npadding: 14px; \n}\n.counter-row {\njustify-content: space-between;\nalign-items: center;\npadding: 7px 0;\nborder-bottom: 1px solid #f7fafc;\n}\n.counter-row:last-child { \nborder-bottom: none; \n}\n.counter-label {\ncolor: #2d3748;\nfont-weight: 500;\nfont-size: 0.9rem;\n}\n.counter-controls { \ndisplay: flex; \nalign-items: center; \ngap: 1px; \nmargin: 7px; \n}\n.counter-btn {\nheight: 22px;\nborder-radius: 50%;\nborder: 2px solid #A5172E;\nbackground: #fff;\ncolor: #A5172E;\nfont-size: 1.2rem;\ncursor: pointer;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\ntransition: all 0.2s;\nfont-weight: bold;\npadding: 4px;\n}\n.counter-btn:hover:not(:disabled) { \nbackground: #A5172E; \ncolor: #fff; \n}\n.counter-btn:disabled {\nopacity: 0.3;\ncursor: not-allowed;\nborder-color: #cbd5e0;\ncolor: #cbd5e0;\n}\n.counter-value {\nmin-width: 30px;\ntext-align: center;\nfont-weight: 600;\ncolor: #2d3748;\nfont-size: 1rem;\n}\n/* =====================\nBUTTON\n===================== */\n.btn-submit {\nbackground: #A5172E;\ncolor: #fff;\nborder: none;\npadding: 7px 14px;\nborder-radius: 8px;\nfont-size: 1rem;\nfont-weight: 600;\ncursor: pointer;\ntransition: all 0.3s;\nmargin-left: 0px;\nwhite-space: nowrap;\nmax-height:44px;\n}\n.btn-submit:hover {\nbackground: #8a1325;\ntransform: translateY(-2px);\nbox-shadow: 0 8px 20px rgba(165, 23, 46, 0.30);\n}\n.btn-submit:disabled {\nbackground: #cbd5e0;\ncursor: not-allowed;\ntransform: none;\nbox-shadow: none;\n}\n/* =====================\nDISABLED UI\n===================== */\n.field-content.disabled-ui {\nopacity: 0.45;\nfilter: grayscale(1);\n}\n.field-content.disabled-ui:hover {\nborder-color: #e2e8f0;\nbox-shadow: none;\n}\n/* =====================\nDESKTOP WIDTHS\n===================== */\n@media (min-width: 769px) {\n/* Masquer le toggle mobile en desktop */\n#mode-toggle-mobile { display: none; }\n/* Intégrer le toggle dans la barre en desktop */\n#mode-toggle-desktop {\ndisplay: flex;\nmargin: 0;\nbox-shadow: none;\nflex-shrink: 0;\nbackground: rgb(255, 255, 255, 0.2);\nborder: 1px solid rgb(255, 255, 255, 0.2);}\n.sf-city    { flex: 0 0 280px; }\n.sf-date    { flex: 0 0 155px; }\n.sf-session { flex: 0 0 135px; }\n.sf-diner-date { flex: 1; min-width: 300px; max-width: 400px; }\n/* =====================\nMASQUAGE TEMPORAIRE DU CHAMP PERSONNES\n===================== */\n.sf-people {\ndisplay: none !important;\n}\n/* Réduire la largeur quand il y a une seule séance */\n.sf-session.single-session-wrapper { flex: 0 0 100px; }\n#date-dropdown { min-width: 260px; }\n/* ✅ Ton comportement desktop (fix + glass) reste ici */\n.search-bar{\n/*position: fixed;*/\ntop: 27px;\nmin-width: 580px;\nbackground: rgba(255, 255, 255, 0.3);\nborder: 1px solid rgba(255, 255, 255, 0.4);\nbackdrop-filter: blur(14px);\n-webkit-backdrop-filter: blur(14px);\nbox-shadow: 0 10px 40px rgba(0,0,0,0.5);\n}\ndiv#date-field {\npadding: 14px 7px;\n}\n} /* ✅ IMPORTANT : on ferme bien le media query ici */\n/* =====================\nHIDDEN\n===================== */\n.is-hidden { \ndisplay: none !important; \n}\n/* =====================\nCHEVRON\n===================== */\n.chevron {\nwidth: 18px;\nheight: 18px;\nflex-shrink: 0;\ncolor: #A5172E;\nopacity: 0.9;\n}\n/* Masquer le chevron du champ séance quand il n'y a qu'un seul horaire */\n#session-field.single-session .chevron {\ndisplay: none;\n}\n/* =====================\nCITY INPUT MODE\n===================== */\n.city-input {\nflex: 1;\nmin-width: 0;\nborder: none;\noutline: none;\nbackground: transparent;\nfont-size: 0.95rem;\ncolor: #2d3748;\n}\n.city-input::placeholder { \ncolor: #a0aec0; \n}\n#city-field:not(.typing) #city-input { \ndisplay: none; \n}\n#city-field.typing #city-value { \ndisplay: none; \n}\n#city-field.typing #city-input { \ndisplay: block; \nwidth: 100%; \n}\n/* =====================\nMOBILE NAV\n===================== */\n#mobile-nav, #mobile-next { \ndisplay: none; \n}\n/* =====================\nERROR MESSAGE\n===================== */\n.error-container {\ntext-align: center;\npadding: 40px;\nbackground: #fff;\nborder-radius: 12px;\nbox-shadow: 0 10px 40px rgba(0,0,0,0.08);\n}\n.error-container h2 {\ncolor: #A5172E;\nmargin-bottom: 15px;\nfont-size: 1.5rem;\n}\n.error-container p {\ncolor: #2d3748;\nmargin-bottom: 20px;\nline-height: 1.6;\n}\n.error-container a {\ndisplay: inline-block;\nbackground: #A5172E;\ncolor: #fff;\npadding: 12px 24px;\nborder-radius: 8px;\ntext-decoration: none;\nfont-weight: 600;\ntransition: all 0.3s;\n}\n.error-container a:hover {\nbackground: #8a1325;\ntransform: translateY(-2px);\n}\n/* =====================\nMOBILE STYLES\n===================== */\n@media (max-width: 768px) {\n/* Masquer le toggle desktop en mobile */\n#mode-toggle-desktop {\ndisplay: none;\n}\n.mode-toggle {\ndisplay: flex;\nbackground: #fff;\nborder-radius: 40px;\nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\npadding: 8px;\nwidth: -moz-fit-content;\nwidth: fit-content;\nmargin: 0 auto 24px;\ngap: 5px;\n}\n.toggle-option { \nflex: 1;\njustify-content: center;\npadding: 18px 22px;\nborder-radius: 40px;\ncolor: #718096;\nfont-size: 1rem;\n}\n.search-bar { \nflex-direction: column; \nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\nwidth: min(370px, calc(100vw - 24px));\nmargin: 0 auto;\n}\n.search-field label { \ndisplay: none; \n}\n#mobile-nav {\ndisplay: none;\nwidth: 100%;\nalign-items: center;\ngap: 10px;\npadding: 2px 2px 8px;\nmargin-bottom: 2px;\n}\n#date-field .chevron {\ndisplay: block;}\nbody.mobile-step-2 #mobile-nav { \ndisplay: flex; \n}\n#mobile-back {\nwidth: 36px;\nheight: 36px;\nborder-radius: 999px;\nborder: 1px solid #e2e8f0;\nbackground: #fff;\ncolor: #A5172E;\nfont-size: 22px;\nline-height: 1;\ncursor: pointer;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nflex: 0 0 auto;\n}\n#mobile-summary {\nflex: 1;\nmin-width: 0;\ncolor: #2d3748;\nfont-size: 0.92rem;\nfont-weight: 700;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n#mobile-next {\ndisplay: none;\nwidth: 100%;\nmargin-top: 8px;\npadding: 12px 16px;\nborder-radius: 999px;\nborder: 1px solid #e2e8f0;\nbackground: #fff;\ncolor: #A5172E;\nfont-weight: 800;\ncursor: pointer;\njustify-content: center;\n}\nbody.mobile-step-1.mode-spectacle .sf-session,\nbody.mobile-step-1.mode-spectacle #btn-reserve {\ndisplay: none !important;\n}\nbody.mobile-step-2.mode-spectacle .sf-city,\nbody.mobile-step-2.mode-spectacle .sf-date {\ndisplay: none !important;\n}\nbody.mobile-step-2.mode-spectacle .sf-session,\nbody.mobile-step-2.mode-spectacle #btn-reserve {\nwidth: 100%;\n}\nbody.mobile-step-2.mode-spectacle #btn-reserve {\nmargin-left: 0;\nmargin-top: 10px;\n}\n/* Masquage temporaire du nombre de personnes en mobile */\nbody.mode-spectacle .sf-people,\nbody.mode-diner .sf-people {\ndisplay: none !important;\n}\n.btn-submit {\nmargin-left: 0;\nmargin-top: 10px;\nwidth: 100%;\n}\n/* =====================\nDÎNER MODE SPECIFIC\n===================== */\n.diner-date-item {\ndisplay: flex;\nalign-items: center;\ngap: 8px;\n}\n.diner-date-info {\nflex: 1;\n}\n.diner-date-main {\nfont-weight: 600;\ncolor: #2d3748;\ntext-transform: uppercase;\nfont-size: 0.95em;\n}\n.diner-date-city {\nfont-size: 0.85em;\ncolor: #718096;\nmargin-top: 2px;\ntext-transform: uppercase;\n}\n.dropdown-item.selected .diner-date-main,\n.dropdown-item.selected .diner-date-city {\ncolor: #fff;\n}\n.dropdown-item:hover .diner-date-main,\n.dropdown-item:hover .diner-date-city {\ncolor: #fff;\n}\n.hint-flash {\nborder: 3px solid #A5172E !important;\nbox-shadow: 0 0 0 3px rgba(165, 23, 46, 0.12);\n}\n\n\n\n\n\n\n\nSpectacle\n\n\nDîner-Spectacle\n\n\n\n\n‹\nRetour\n\n\n\n\nSpectacle\n\n\nDîner-Spectacle\n\n\n\n\nVille\n\n\n\n\n\nNancy\n\n\n\n\n\nAmiensArrasBordeauxBoulogne sur merDunkerqueLa RochelleLilleMetzNancyParisRouenThionvilleVilleneuve d'ascqAix les bainsAnnecy\n\n\n\nDate\n\n\n\n\nvendredi 16 octobre 2026\n\n\n\n\n\n\n\n\n‹\nOctobre 2026\n›\n\n\nLun\nMar\nMer\nJeu\nVen\nSam\nDim\n1213141516171819202122232425262728293031\nContinuer\n\n\nDate et Lieu\n\n\n\n\nNancy • sam. 24 oct.\n\n\n\n\n\n\n\n\n\nNancy\nsamedi 24 octobre à 20:00\n\n\n\n\n\n\n\n\nParis\nvendredi 11 décembre à 20:30\n\n\n\n\n\n\n\n\nBordeaux\njeudi 31 décembre à 20:00\n\n\n\n\n\n\n\n\nBordeaux\nvendredi 15 janvier à 20:00\n\n\n\n\n\n\n\n\nBordeaux\nsamedi 23 janvier à 20:00\n\n\n\n\n\n\n\n\nRouen\nvendredi 12 février à 20:00\n\n\n\n\n\n\n\n\nLille\nvendredi 12 mars à 20:00\n\n\n\n\n\n\n\nSéance\n\n\n\n\n--:--\n\n\n\n\n\n\n\n\nPersonnes\n\n\n\n\n2 pers.\n\n\n\n\nAdultes\n\n−\n1\n+\n\n\n\nEnfants\n\n−\n1\n+\n\n\n\n\n\n\nOK\n\n\n\n/************************************************************\n* CONFIG\n************************************************************/\nconst TOUR_CSV_URL = \"https://www.cirque-gruss.com/assets/uploads/2026/06/Calendrier-Essentilel-019.xlsx-Essentiel.csv\";\nconst TOUR_URL = \"https://www.cirque-gruss.com/la-tournee\";\nconst BOOKING_CUTOFF_MINUTES = 30;\n/************************************************************\n* STATE\n************************************************************/\nlet TOUR_DATA_RAW = [];\nlet tourData = [];\nlet dinerData = []; // Sous-ensemble avec Dîner O/N\nlet indexAll = null;\nlet indexDiner = null;\nlet currentMode = \"spectacle\"; // \"spectacle\" ou \"diner\"\n// SPECTACLE MODE\nlet selectedCity = null;\nlet selectedDate = null;\nlet selectedSession = null;\n// DÎNER MODE\nlet selectedDinerSlot = null; // { city, dateKey, dateTime, link }\n// COMMON\nlet adultsCount = 1;\nlet childrenCount = 1;\nlet currentMonth = new Date().getMonth();\nlet currentYear = new Date().getFullYear();\nlet filteredCities = [];\nlet activeCityIndex = -1;\nlet isPastCityMode = false;\nlet mobileStep = 1;\n// Placeholder informatif du prochain spectacle\nlet nextShowPlaceholder = null;\n// Cache\nlet sortedCitiesByAvailability = null;\nlet cachedAvailableDates = null;\nlet lastCutoffTime = 0;\nlet inputTimeout = null;\nconst monthNames = [\n\"Janvier\",\"Février\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\n\"Juillet\",\"Août\",\"Septembre\",\"Octobre\",\"Novembre\",\"Décembre\"\n];\n/************************************************************\n* UTILS\n************************************************************/\nfunction pad2(n){ return String(n).padStart(2,\"0\"); }\nfunction getCutoff(){\nreturn new Date(Date.now() + BOOKING_CUTOFF_MINUTES * 60 * 1000);\n}\nfunction parseFRDateTime(dateStr){\nconst [dPart, tPart=\"00:00:00\"] = String(dateStr).split(\" \");\nconst [dd, mm, yyyy] = dPart.split(\"/\").map(Number);\nconst [hh, mi, ss] = tPart.split(\":\").map(Number);\nreturn new Date(yyyy, (mm || 1) - 1, dd || 1, hh || 0, mi || 0, ss || 0);\n}\nfunction dateKey(d){\nreturn `${d.getFullYear()}-${pad2(d.getMonth()+1)}-${pad2(d.getDate())}`;\n}\nfunction cmpMonth(a,b){\nif (a.y !== b.y) return a.y - b.y;\nreturn a.m0 - b.m0;\n}\nfunction formatTime(dt){\nif (!dt) return \"--:--\";\nreturn dt.toLocaleTimeString(\"fr-FR\",{hour:\"2-digit\",minute:\"2-digit\"});\n}\nfunction formatDateLong(dt){\nconst options = { weekday:\"long\", year:\"numeric\", month:\"long\", day:\"numeric\" };\nreturn dt.toLocaleDateString(\"fr-FR\", options);\n}\nfunction formatDateShort(dt){\nconst d = pad2(dt.getDate());\nconst m = pad2(dt.getMonth() + 1);\nconst y = String(dt.getFullYear()).slice(-2);\nreturn `${d}/${m}/${y}`;\n}\n/************************************************************\n* UI HELPERS\n************************************************************/\nfunction setDateDisplay(d){\nconst el = document.getElementById(\"date-value\");\nif (!el) return;\n// Format court en desktop (jj/mm/aa), format long en mobile\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\nel.textContent = isDesktop ? formatDateShort(d) : formatDateLong(d);\nel.classList.remove(\"placeholder\");\n}\nfunction clearDateSelection(){\nselectedDate = null;\nconst el = document.getElementById(\"date-value\");\nif (el){\nel.textContent = \"Choisir une date\";\nel.classList.add(\"placeholder\");\n}\nupdateSessionUI();\n}\nfunction setCityValue(city){\nconst cv = document.getElementById(\"city-value\");\nconst ci = document.getElementById(\"city-input\");\nif (cv) {\nif (city) {\ncv.textContent = city;\ncv.classList.remove(\"placeholder\");\n} else {\ncv.textContent = \"Choisir une ville\";\ncv.classList.add(\"placeholder\");\n}\n}\nif (ci) ci.value = city || \"\";\n}\nfunction restorePlaceholders(){\n// Restaurer les placeholders informatifs du prochain spectacle\nif (nextShowPlaceholder && !selectedCity && !selectedDate) {\nconst cv = document.getElementById(\"city-value\");\nconst dv = document.getElementById(\"date-value\");\nif (cv) {\ncv.textContent = nextShowPlaceholder.city;\ncv.classList.add(\"placeholder\");\n}\nif (dv) {\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\ndv.textContent = isDesktop ? formatDateShort(nextShowPlaceholder.dateTime) : formatDateLong(nextShowPlaceholder.dateTime);\ndv.classList.add(\"placeholder\");\n}\n}\n}\nfunction setDinerDateValue(text){\nconst el = document.getElementById(\"diner-date-value\");\nif (!el) return;\nel.textContent = text || \"Choisir une date\";\nif (text) el.classList.remove(\"placeholder\");\nelse el.classList.add(\"placeholder\");\n}\nfunction closeAllDropdowns(){\ndocument.querySelectorAll(\".dropdown\").forEach(d => d.classList.remove(\"show\"));\ndocument.querySelectorAll(\".field-content\").forEach(f => {\nf.classList.remove(\"active\");\nif (f.getAttribute('role') === 'combobox') {\nf.setAttribute('aria-expanded', 'false');\n}\n});\n}\nfunction flashCityLinked(){\nconst field = document.getElementById(\"city-field\");\nif (!field) return;\nfield.classList.add(\"hint-flash\");\nsetTimeout(() => {\nfield.classList.remove(\"hint-flash\");\n}, 900);\n}\nfunction setPastUI(past){\nisPastCityMode = past;\nconst dateField = document.getElementById(\"date-field\");\nconst peopleField = document.getElementById(\"people-field\");\nconst sessionField = document.getElementById(\"session-field\");\nif (dateField) dateField.classList.toggle(\"disabled-ui\", past);\nif (peopleField) peopleField.classList.toggle(\"disabled-ui\", past);\nif (sessionField) sessionField.classList.toggle(\"disabled-ui\", past);\nif (past) closeAllDropdowns();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\nfunction showError(message){\nconst container = document.querySelector('.container');\nif (!container) return;\ncontainer.innerHTML = `\n<div class=\"error-container\">\n<h2>⚠️ Erreur de chargement</h2>\n<p>${message}</p>\n<a href=\"${TOUR_URL}\">Voir la tournée complète</a>\n</div>\n`;\n}\nfunction showEmptyState(){\nconst container = document.querySelector('.container');\nif (!container) return;\ncontainer.innerHTML = `\n<div class=\"error-container\">\n<h2>📅 Aucune représentation programmée</h2>\n<p>Aucune date n'est disponible pour le moment.<br>Consultez la page de la tournée pour plus d'informations.</p>\n<a href=\"${TOUR_URL}\">Voir la tournée</a>\n</div>\n`;\n}\n/************************************************************\n* CSV PARSER\n************************************************************/\nfunction detectDelimiter(headerLine){\nconst commas = (headerLine.match(/,/g) || []).length;\nconst semis  = (headerLine.match(/;/g) || []).length;\nreturn semis > commas ? \";\" : \",\";\n}\nfunction parseCSVRow(line, delimiter){\nconst out = [];\nlet cur = \"\";\nlet inQuotes = false;\nfor (let i=0;i<line.length;i++){\nconst ch = line[i];\nif (ch === '\"'){\nif (inQuotes && line[i+1] === '\"'){ cur += '\"'; i++; }\nelse inQuotes = !inQuotes;\ncontinue;\n}\nif (!inQuotes && ch === delimiter){\nout.push(cur);\ncur = \"\";\ncontinue;\n}\ncur += ch;\n}\nout.push(cur);\nreturn out.map(v => v.trim());\n}\nfunction csvToObjects(text){\nconst cleaned = text\n.replace(/^\\uFEFF/,\"\")\n.replace(/\\r\\n/g,\"\\n\")\n.replace(/\\r/g,\"\\n\")\n.trim();\nif (!cleaned) return [];\nconst lines = cleaned.split(\"\\n\").filter(l => l.trim().length);\nif (!lines.length) return [];\nconst delimiter = detectDelimiter(lines[0]);\nconst headers = parseCSVRow(lines[0], delimiter);\nconst rows = [];\nfor (let i=1;i<lines.length;i++){\nconst cols = parseCSVRow(lines[i], delimiter);\nif (!cols.length) continue;\nconst obj = {};\nfor (let j=0;j<headers.length;j++){\nobj[headers[j]] = (cols[j] ?? \"\").trim();\n}\nrows.push(obj);\n}\nreturn rows;\n}\nfunction truthyFlag(v){\nconst s = String(v ?? \"\").trim().toLowerCase();\nreturn [\"o\",\"oui\",\"y\",\"yes\",\"1\",\"true\",\"x\"].includes(s);\n}\nfunction normalizeKey(k){\nreturn String(k ?? \"\")\n.trim().toLowerCase()\n.replace(/\\s+/g,\"\")\n.replace(/['']/g,\"\");\n}\nfunction getAny(row, keys){\nconst rowKeys = Object.keys(row || {});\nfor (const wanted of keys){\nconst nw = normalizeKey(wanted);\nconst found = rowKeys.find(rk => normalizeKey(rk) === nw);\nif (found) return row[found];\n}\nreturn \"\";\n}\nasync function loadRawFromCSV(){\nconst res = await fetch(TOUR_CSV_URL, { cache:\"no-store\" });\nif (!res.ok) throw new Error(`Impossible de charger le calendrier (HTTP ${res.status})`);\nconst text = await res.text();\nconst objs = csvToObjects(text);\nconst data = [];\nfor (const r of objs){\nconst city    = String(getAny(r, [\"Ville\",\"city\"])).trim();\nconst dateStr = String(getAny(r, [\"Date\",\"date\",\"dateStr\"])).trim();\nconst link    = String(getAny(r, [\"LIEN\",\"link\",\"Lien\"])).trim();\nif (!city || !dateStr || !link) continue;\nconst scolaireVal = String(getAny(r, [\"scolaire O/N\",\"scolaire\",\"scolaireO/N\"])).trim().toLowerCase();\nif (scolaireVal.includes(\"scolaire\")) continue;\nconst soldOut = truthyFlag(getAny(r, [\"Complet\",\"complet\",\"soldout\"]));\nconst isDiner = truthyFlag(getAny(r, [\"Diner O/N\",\"Dîner O/N\",\"dinerO/N\",\"diner\"]));\ndata.push({\ncity: city.replace(/\\s+/g,\" \").trim(),\ndateStr,\nlink,\nsoldOut,\nisDiner\n});\n}\nreturn data;\n}\n/************************************************************\n* INDEX\n************************************************************/\nfunction buildIndexAll(data){\nconst citiesSet = new Set();\nconst sessionsByCityDate = new Map();\nconst cityByDateKey = new Map();\nconst dateKeysAll = new Set();\nfor (const item of data){\ncitiesSet.add(item.city);\ndateKeysAll.add(item.dateKey);\nif (!sessionsByCityDate.has(item.city)) sessionsByCityDate.set(item.city, new Map());\nconst m = sessionsByCityDate.get(item.city);\nif (!m.has(item.dateKey)) m.set(item.dateKey, []);\nm.get(item.dateKey).push({\ndateTime: item.dateTime,\nlink: item.link,\nsoldOut: !!item.soldOut,\nisDiner: !!item.isDiner\n});\nif (!cityByDateKey.has(item.dateKey)){\ncityByDateKey.set(item.dateKey, item.city);\n}\n}\nfor (const cityMap of sessionsByCityDate.values()){\nfor (const sessions of cityMap.values()){\nsessions.sort((a,b)=>a.dateTime - b.dateTime);\n}\n}\nconst cities = [...citiesSet].sort((a,b)=>a.localeCompare(b,\"fr\",{sensitivity:\"base\"}));\nreturn { cities, sessionsByCityDate, cityByDateKey, dateKeysAll };\n}\n/************************************************************\n* DISPONIBILITÉS\n************************************************************/\nfunction hasFutureSession(city, dk, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nif (!sessions) return false;\nreturn sessions.some(s => !s.soldOut && s.dateTime > cutoff);\n}\nfunction cityHasFuture(city, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nif (!cityMap) return false;\nfor (const [dk] of cityMap){\nif (hasFutureSession(city, dk, cutoff)) return true;\n}\nreturn false;\n}\nfunction getNextBookableSessionLink(city, dk, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nif (!sessions) return null;\nconst next = sessions.find(s => !s.soldOut && s.dateTime > cutoff);\nreturn next ? next.link : null;\n}\nfunction calculateAvailableDates(cutoff){\nconst set = new Set();\nif (selectedCity){\nconst cityMap = indexAll.sessionsByCityDate.get(selectedCity);\nif (!cityMap) return set;\nfor (const [dk] of cityMap){\nif (hasFutureSession(selectedCity, dk, cutoff)) set.add(dk);\n}\nreturn set;\n}\nfor (const dk of indexAll.dateKeysAll){\nconst city = indexAll.cityByDateKey.get(dk);\nif (city && hasFutureSession(city, dk, cutoff)) set.add(dk);\n}\nreturn set;\n}\nfunction getAvailableDateKeysSet(cutoff){\nif (!cachedAvailableDates || Math.abs(cutoff - lastCutoffTime) > 300000) {\ncachedAvailableDates = calculateAvailableDates(cutoff);\nlastCutoffTime = cutoff;\n}\nreturn cachedAvailableDates;\n}\nfunction getAvailableMonths(cutoff){\nconst availableKeys = getAvailableDateKeysSet(cutoff);\nconst monthsSet = new Set();\nfor (const dk of availableKeys){\nconst [y, mo] = dk.split(\"-\");\nmonthsSet.add(`${y}-${mo}`);\n}\nreturn [...monthsSet].map(mk => {\nconst [y, m] = mk.split(\"-\").map(Number);\nreturn { y, m0: m - 1 };\n}).sort(cmpMonth);\n}\nfunction ensureCalendarMonthIsUseful(){\nconst cutoff = getCutoff();\nconst months = getAvailableMonths(cutoff);\nif (!months.length) return;\nconst ok = months.some(m => m.y === currentYear && m.m0 === currentMonth);\nif (!ok){\ncurrentYear = months[0].y;\ncurrentMonth = months[0].m0;\n}\n}\nfunction findPrevNextMonths(){\nconst cutoff = getCutoff();\nconst months = getAvailableMonths(cutoff);\nif (!months.length) return { prev:null, next:null };\nconst idx = months.findIndex(m => m.y === currentYear && m.m0 === currentMonth);\nif (idx === -1) return { prev:null, next:null };\nreturn {\nprev: idx > 0 ? months[idx-1] : null,\nnext: idx < months.length-1 ? months[idx+1] : null\n};\n}\nfunction jumpToBestMonthForCity(city){\nconst cutoff = getCutoff();\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nif (!cityMap) return;\nlet best = null;\nfor (const sessions of cityMap.values()){\nconst s = sessions.find(x => !x.soldOut && x.dateTime > cutoff);\nif (s && (!best || s.dateTime < best)) best = s.dateTime;\n}\nif (!best) return;\ncurrentYear = best.getFullYear();\ncurrentMonth = best.getMonth();\n}\nfunction getSortedCities(cutoff){\nif (!sortedCitiesByAvailability) {\nsortedCitiesByAvailability = indexAll.cities.slice().sort((a,b) => {\nconst aPast = !cityHasFuture(a, cutoff);\nconst bPast = !cityHasFuture(b, cutoff);\nif (aPast !== bPast) return aPast - bPast;\nreturn a.localeCompare(b,\"fr\",{sensitivity:\"base\"});\n});\n}\nreturn sortedCitiesByAvailability;\n}\n/************************************************************\n* MODE SWITCHING\n************************************************************/\nfunction switchToSpectacleMode(){\ncurrentMode = \"spectacle\";\n// UI Toggle - synchroniser desktop et mobile\ndocument.getElementById(\"toggle-spectacle\").classList.add(\"active\");\ndocument.getElementById(\"toggle-diner\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-spectacle-mobile\").classList.add(\"active\");\ndocument.getElementById(\"toggle-diner-mobile\").classList.remove(\"active\");\n// Body class for responsive\ndocument.body.classList.add(\"mode-spectacle\");\ndocument.body.classList.remove(\"mode-diner\");\n// Show/Hide fields\ndocument.getElementById(\"spectacle-city-wrapper\").classList.remove(\"is-hidden\");\ndocument.getElementById(\"spectacle-date-wrapper\").classList.remove(\"is-hidden\");\ndocument.getElementById(\"diner-date-wrapper\").classList.add(\"is-hidden\");\n// Reset dîner selection\nselectedDinerSlot = null;\nsetDinerDateValue(\"\");\n// Restaurer les placeholders informatifs si aucune sélection\nrestorePlaceholders();\ncloseAllDropdowns();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\nfunction switchToDinerMode(){\ncurrentMode = \"diner\";\n// UI Toggle - synchroniser desktop et mobile\ndocument.getElementById(\"toggle-spectacle\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-diner\").classList.add(\"active\");\ndocument.getElementById(\"toggle-spectacle-mobile\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-diner-mobile\").classList.add(\"active\");\n// Body class for responsive\ndocument.body.classList.add(\"mode-diner\");\ndocument.body.classList.remove(\"mode-spectacle\");\n// Show/Hide fields\ndocument.getElementById(\"spectacle-city-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"spectacle-date-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"session-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"diner-date-wrapper\").classList.remove(\"is-hidden\");\n// Reset spectacle selections\nselectedCity = null;\nselectedDate = null;\nselectedSession = null;\nsetCityValue(\"\");\nclearDateSelection();\ncloseAllDropdowns();\nrenderDinerDropdown();\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* DÎNER MODE : Dropdown\n************************************************************/\nfunction renderDinerDropdown(){\nconst dropdown = document.getElementById(\"diner-date-dropdown\");\nif (!dropdown) return;\nconst cutoff = getCutoff();\n// Filtrer les dîners disponibles\nconst availableDiners = dinerData\n.filter(item => !item.soldOut && item.dateTime > cutoff)\n.sort((a,b) => a.dateTime - b.dateTime);\nif (!availableDiners.length){\ndropdown.innerHTML = '<div class=\"dropdown-item disabled\">Aucun dîner-spectacle disponible</div>';\nreturn;\n}\ndropdown.innerHTML = availableDiners.map(item => {\nconst isSelected = selectedDinerSlot &&\nselectedDinerSlot.city === item.city &&\nselectedDinerSlot.dateKey === item.dateKey &&\nselectedDinerSlot.dateTime.getTime() === item.dateTime.getTime();\nconst cls = isSelected ? \"dropdown-item selected\" : \"dropdown-item\";\nconst dateStr = item.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"long\",\nday:\"numeric\",\nmonth:\"long\"\n});\nconst timeStr = formatTime(item.dateTime);\nreturn `\n<div class=\"${cls}\" data-city=\"${item.city}\" data-datekey=\"${item.dateKey}\" data-ts=\"${item.dateTime.getTime()}\" role=\"option\" aria-selected=\"${isSelected}\">\n<div class=\"diner-date-item\">\n<span class=\"emoji\">🍴</span>\n<div class=\"diner-date-info\">\n<div class=\"diner-date-main\">${item.city}</div>\n<div class=\"diner-date-city\">${dateStr} à ${timeStr}</div>\n</div>\n</div>\n</div>\n`;\n}).join(\"\");\ndropdown.querySelectorAll('.dropdown-item[data-ts]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nconst city = item.dataset.city;\nconst dk = item.dataset.datekey;\nconst ts = Number(item.dataset.ts);\nconst found = dinerData.find(d =>\nd.city === city &&\nd.dateKey === dk &&\nd.dateTime.getTime() === ts\n);\nif (found){\nselectedDinerSlot = {\ncity: found.city,\ndateKey: found.dateKey,\ndateTime: found.dateTime,\nlink: found.link\n};\nconst displayText = `${found.city} • ${found.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"short\",\nday:\"numeric\",\nmonth:\"short\"\n})}`;\nsetDinerDateValue(displayText);\ncloseAllDropdowns();\nupdateSubmitButton();\n}\n});\n});\n}\n/************************************************************\n* VILLE : dropdown vs typing (MODE SPECTACLE)\n************************************************************/\nfunction enableCityTypingMode({ startValue=null, selectAll=true } = {}){\nconst field = document.getElementById(\"city-field\");\nconst input = document.getElementById(\"city-input\");\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!field || !input || !dropdown) return;\nfield.classList.add(\"typing\");\nfield.setAttribute('aria-expanded', 'true');\nif (startValue !== null) input.value = startValue;\nelse input.value = (input.value || selectedCity || \"\");\ncloseAllDropdowns();\ndropdown.classList.add(\"show\");\nfield.classList.add(\"active\");\nrenderCityDropdown(input.value);\ninput.focus();\nif (selectAll) input.select();\n}\nfunction disableCityTypingMode(){\nconst field = document.getElementById(\"city-field\");\nif (!field) return;\nfield.classList.remove(\"typing\");\nfield.setAttribute('aria-expanded', 'false');\nsetCityValue(selectedCity || \"\");\n}\nfunction renderCityDropdown(filterText=\"\"){\nconst cutoff = getCutoff();\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown) return;\nconst q = (filterText || \"\").trim().toLowerCase();\nconst sorted = getSortedCities(cutoff);\nfilteredCities = q ? sorted.filter(c => c.toLowerCase().includes(q)) : sorted.slice();\nactiveCityIndex = filteredCities.length\n? Math.min(Math.max(activeCityIndex, 0), filteredCities.length-1)\n: -1;\nif (activeCityIndex === -1 && filteredCities.length) activeCityIndex = 0;\ndropdown.innerHTML =\nfilteredCities.map((city,i) => {\nconst isSelected = selectedCity === city;\nconst isPast = !cityHasFuture(city, cutoff);\nconst cls = [\n\"dropdown-item\",\nisSelected ? \"selected\" : \"\",\n(!isSelected && i === activeCityIndex) ? \"active\" : \"\",\n(isPast && !isSelected) ? \"past\" : \"\"\n].filter(Boolean).join(\" \");\nreturn `<div class=\"${cls}\" data-city=\"${city}\" role=\"option\" aria-selected=\"${isSelected}\">${city}</div>`;\n}).join(\"\") || `<div class=\"dropdown-item disabled\" role=\"alert\">Aucune ville trouvée</div>`;\ndropdown.querySelectorAll('.dropdown-item[data-city]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nselectCity(item.dataset.city);\n});\n});\n}\nfunction selectCity(city){\nselectedCity = city;\nsetCityValue(city);\ndisableCityTypingMode();\nsortedCitiesByAvailability = null;\ncachedAvailableDates = null;\nconst cutoff = getCutoff();\nconst past = !cityHasFuture(selectedCity, cutoff);\nif (past){\nclearDateSelection();\nsetPastUI(true);\ncloseAllDropdowns();\nupdateMobileNav();\nreturn;\n}\nsetPastUI(false);\nif (selectedDate){\nconst dk = dateKey(selectedDate);\nif (!hasFutureSession(selectedCity, dk, cutoff)){\nclearDateSelection();\n}\n}\njumpToBestMonthForCity(selectedCity);\ncloseAllDropdowns();\nrenderCalendar();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* CALENDRIER (MODE SPECTACLE)\n************************************************************/\nfunction renderCalendar(){\nconst dropdown = document.getElementById(\"date-dropdown\");\nif (!dropdown) return;\nensureCalendarMonthIsUseful();\nconst { prev, next } = findPrevNextMonths();\nconst cutoff = getCutoff();\nconst availableKeys = getAvailableDateKeysSet(cutoff);\nconst firstDay = new Date(currentYear, currentMonth, 1);\nconst lastDay = new Date(currentYear, currentMonth + 1, 0);\nconst startDayOfWeek = firstDay.getDay() === 0 ? 6 : firstDay.getDay() - 1;\nconst weeks = [];\nlet currentWeek = [];\nfor (let i = 0; i < startDayOfWeek; i++){\ncurrentWeek.push({ empty: true });\n}\nfor (let day = 1; day <= lastDay.getDate(); day++){\nconst dateObj = new Date(currentYear, currentMonth, day);\nconst dk = dateKey(dateObj);\nconst isAvailable = availableKeys.has(dk);\nconst isSelected = selectedDate && dateKey(selectedDate) === dk;\ncurrentWeek.push({\nday,\ndateKey: dk,\nisAvailable,\nisSelected,\nisEmpty: false\n});\nif (currentWeek.length === 7){\nweeks.push(currentWeek);\ncurrentWeek = [];\n}\n}\nif (currentWeek.length > 0){\nwhile (currentWeek.length < 7){\ncurrentWeek.push({ empty: true });\n}\nweeks.push(currentWeek);\n}\nconst weeksWithAvailableDates = weeks.filter(week =>\nweek.some(day => day.isAvailable || day.isSelected)\n);\nconst weeksToShow = weeksWithAvailableDates.length > 0\n? weeksWithAvailableDates\n: weeks;\nlet html = `\n<div class=\"calendar\">\n<div class=\"calendar-header\">\n<button id=\"prev-month\" ${prev ? \"\" : \"disabled\"} aria-label=\"Mois précédent\">‹</button>\n<span>${monthNames[currentMonth]} ${currentYear}</span>\n<button id=\"next-month\" ${next ? \"\" : \"disabled\"} aria-label=\"Mois suivant\">›</button>\n</div>\n<div class=\"calendar-grid\" role=\"grid\">\n<div class=\"calendar-day-header\">Lun</div>\n<div class=\"calendar-day-header\">Mar</div>\n<div class=\"calendar-day-header\">Mer</div>\n<div class=\"calendar-day-header\">Jeu</div>\n<div class=\"calendar-day-header\">Ven</div>\n<div class=\"calendar-day-header\">Sam</div>\n<div class=\"calendar-day-header\">Dim</div>\n`;\nweeksToShow.forEach(week => {\nweek.forEach(dayData => {\nif (dayData.empty){\nhtml += `<div class=\"calendar-day empty\"></div>`;\n} else {\nlet cls = \"calendar-day\";\nif (dayData.isSelected) cls += \" selected\";\nelse if (dayData.isAvailable) cls += \" available\";\nelse cls += \" disabled\";\nhtml += `<div class=\"${cls}\" data-datekey=\"${dayData.dateKey}\" role=\"gridcell\" aria-selected=\"${dayData.isSelected}\">${dayData.day}</div>`;\n}\n});\n});\nhtml += `</div></div>`;\ndropdown.innerHTML = html;\nconst prevBtn = document.getElementById(\"prev-month\");\nconst nextBtn = document.getElementById(\"next-month\");\nif (prevBtn) prevBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!prev) return;\ncurrentYear = prev.y;\ncurrentMonth = prev.m0;\nrenderCalendar();\n});\nif (nextBtn) nextBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!next) return;\ncurrentYear = next.y;\ncurrentMonth = next.m0;\nrenderCalendar();\n});\ndropdown.querySelectorAll(\".calendar-day.available, .calendar-day.selected\").forEach(cell => {\ncell.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dk = cell.dataset.datekey;\nconst [y,m,d] = dk.split(\"-\").map(Number);\nconst wasCityEmpty = !selectedCity;\nselectedDate = new Date(y, m-1, d);\nif (!selectedCity){\nselectedCity = indexAll.cityByDateKey.get(dk) || null;\nsetCityValue(selectedCity || \"\");\ndisableCityTypingMode();\nif (selectedCity) flashCityLinked();\n}\nconst cutoff2 = getCutoff();\nif (selectedCity && !hasFutureSession(selectedCity, dk, cutoff2)){\nclearDateSelection();\nupdateSubmitButton();\nupdateMobileNav();\nreturn;\n}\nsetPastUI(false);\nsetDateDisplay(selectedDate);\ncurrentYear = y;\ncurrentMonth = m-1;\ncloseAllDropdowns();\ncachedAvailableDates = null;\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\nif (wasCityEmpty && selectedCity) flashCityLinked();\n});\n});\n}\n/************************************************************\n* SÉANCES (MODE SPECTACLE)\n************************************************************/\nfunction getSessionsForSelectedDay(){\nif (!selectedCity || !selectedDate || !indexAll) return [];\nconst dk = dateKey(selectedDate);\nconst cityMap = indexAll.sessionsByCityDate.get(selectedCity);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nreturn sessions ? sessions.slice() : [];\n}\nfunction setSessionValue(dt){\nconst el = document.getElementById(\"session-value\");\nif (!el) return;\nel.textContent = dt ? formatTime(dt) : \"--:--\";\n}\nfunction clearSessionSelection(){\nselectedSession = null;\nsetSessionValue(null);\n}\nfunction updateSessionUI(){\nconst wrapper = document.getElementById(\"session-wrapper\");\nconst field = document.getElementById(\"session-field\");\nconst dropdown = document.getElementById(\"session-dropdown\");\nif (!wrapper || !field || !dropdown) return;\nconst sessions = getSessionsForSelectedDay();\nconst hasSession = sessions.length > 0;\nconst isSingleSession = sessions.length === 1; // Une seule séance\nif (!selectedCity || !selectedDate || isPastCityMode || !hasSession){\nwrapper.classList.add(\"is-hidden\");\nclearSessionSelection();\ndropdown.classList.remove(\"show\");\nfield.classList.remove(\"active\");\nfield.classList.remove(\"single-session\");\nwrapper.classList.remove(\"single-session-wrapper\");\nupdateMobileNav();\nreturn;\n}\nwrapper.classList.remove(\"is-hidden\");\n// Ajouter/retirer la classe selon le nombre de séances\nif (isSingleSession) {\nfield.classList.add(\"single-session\");\nfield.style.cursor = \"default\"; // Pas cliquable si une seule séance\nwrapper.classList.add(\"single-session-wrapper\"); // AJOUT\n} else {\nfield.classList.remove(\"single-session\");\nfield.style.cursor = \"pointer\";\nwrapper.classList.remove(\"single-session-wrapper\"); // AJOUT\n}\nconst cutoff = getCutoff();\nlet keep = null;\nif (selectedSession){\nkeep = sessions.find(s => s.dateTime.getTime() === selectedSession.dateTime.getTime());\n}\nconst firstSelectable = sessions.find(s => !s.soldOut && s.dateTime > cutoff) || null;\nif (keep){\nconst keepOk = !keep.soldOut && keep.dateTime > cutoff;\nif (!keepOk && firstSelectable) keep = null;\n}\nconst chosen = keep || firstSelectable || sessions[0] || null;\nselectedSession = chosen ? { ...chosen } : null;\nsetSessionValue(chosen ? chosen.dateTime : null);\ndropdown.innerHTML = sessions.map(s => {\nconst isSelected = selectedSession && s.dateTime.getTime() === selectedSession.dateTime.getTime();\nconst selectable = !s.soldOut && s.dateTime > cutoff;\nconst cls = [\n\"dropdown-item\",\nisSelected ? \"selected\" : \"\",\nselectable ? \"\" : \"disabled\"\n].filter(Boolean).join(\" \");\nconst suffix = s.soldOut ? \" — complet\" : (s.dateTime <= cutoff ? \" — trop tard\" : \"\");\nreturn `<div class=\"${cls}\" data-ts=\"${s.dateTime.getTime()}\" role=\"option\" aria-selected=\"${isSelected}\">${formatTime(s.dateTime)}${suffix}</div>`;\n}).join(\"\");\ndropdown.querySelectorAll('.dropdown-item[data-ts]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nconst ts = Number(item.dataset.ts);\nconst s = sessions.find(x => x.dateTime.getTime() === ts);\nif (!s) return;\nconst selectable = !s.soldOut && s.dateTime > cutoff;\nif (!selectable) return;\nselectedSession = { ...s };\nsetSessionValue(s.dateTime);\ncloseAllDropdowns();\nupdateSubmitButton();\nupdateMobileNav();\n});\n});\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* BOOKING LINK\n************************************************************/\nfunction getBookingLink(){\nif (currentMode === \"diner\"){\nreturn selectedDinerSlot ? selectedDinerSlot.link : null;\n}\n// Mode spectacle\nif (!selectedCity || !selectedDate) return null;\nif (isPastCityMode) return null;\nconst cutoff = getCutoff();\nconst dk = dateKey(selectedDate);\nconst sessions = getSessionsForSelectedDay();\nif (sessions.length > 1){\nif (!selectedSession) return null;\nconst ok = !selectedSession.soldOut && selectedSession.dateTime > cutoff;\nreturn ok ? selectedSession.link : null;\n}\nreturn getNextBookableSessionLink(selectedCity, dk, cutoff);\n}\n/************************************************************\n* EVENTS UI\n************************************************************/\n// Toggle buttons - version desktop\ndocument.getElementById(\"toggle-spectacle\").addEventListener(\"click\", () => {\nif (currentMode !== \"spectacle\") switchToSpectacleMode();\n});\ndocument.getElementById(\"toggle-diner\").addEventListener(\"click\", () => {\nif (currentMode !== \"diner\") switchToDinerMode();\n});\n// Toggle buttons - version mobile\ndocument.getElementById(\"toggle-spectacle-mobile\").addEventListener(\"click\", () => {\nif (currentMode !== \"spectacle\") switchToSpectacleMode();\n});\ndocument.getElementById(\"toggle-diner-mobile\").addEventListener(\"click\", () => {\nif (currentMode !== \"diner\") switchToDinerMode();\n});\n// City field (spectacle mode)\nconst cityField = document.getElementById(\"city-field\");\nconst cityInput = document.getElementById(\"city-input\");\nif (cityField){\ncityField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown) return;\nconst isOpen = dropdown.classList.contains(\"show\");\nconst isTyping = cityField.classList.contains(\"typing\");\nif (isTyping) return;\nif (!isOpen){\ncloseAllDropdowns();\ndropdown.classList.add(\"show\");\ncityField.classList.add(\"active\");\ncityField.setAttribute('aria-expanded', 'true');\nactiveCityIndex = 0;\nrenderCityDropdown(\"\");\n} else {\nenableCityTypingMode({ startValue:\"\", selectAll:false });\n}\n});\ncityField.addEventListener(\"keydown\", (e) => {\nif (cityField.classList.contains(\"typing\")) return;\nconst printable = e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey;\nconst wantsTyping = printable || e.key === \"Backspace\" || e.key === \"Delete\";\nif (e.key === \"Enter\" || e.key === \" \"){\ne.preventDefault();\nconst dropdown = document.getElementById(\"city-dropdown\");\ncloseAllDropdowns();\nif (dropdown){\ndropdown.classList.add(\"show\");\ncityField.classList.add(\"active\");\ncityField.setAttribute('aria-expanded', 'true');\nactiveCityIndex = 0;\nrenderCityDropdown(\"\");\n}\nreturn;\n}\nif (wantsTyping){\ne.preventDefault();\nif (e.key === \"Backspace\" || e.key === \"Delete\"){\nenableCityTypingMode({ startValue:\"\", selectAll:false });\n} else {\nenableCityTypingMode({ startValue:e.key, selectAll:false });\n}\n}\n});\n}\nif (cityInput){\ncityInput.addEventListener(\"input\", (e) => {\nif (!cityField || !cityField.classList.contains(\"typing\")) return;\nclearTimeout(inputTimeout);\ninputTimeout = setTimeout(() => {\nrenderCityDropdown(e.target.value);\n}, 150);\n});\ncityInput.addEventListener(\"keydown\", (e) => {\nif (!cityField || !cityField.classList.contains(\"typing\")) return;\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown || !dropdown.classList.contains(\"show\")) return;\nif (e.key === \"ArrowDown\"){\ne.preventDefault();\nif (!filteredCities.length) return;\nactiveCityIndex = Math.min(activeCityIndex + 1, filteredCities.length - 1);\nrenderCityDropdown(cityInput.value);\n} else if (e.key === \"ArrowUp\"){\ne.preventDefault();\nif (!filteredCities.length) return;\nactiveCityIndex = Math.max(activeCityIndex - 1, 0);\nrenderCityDropdown(cityInput.value);\n} else if (e.key === \"Enter\"){\ne.preventDefault();\nif (filteredCities[activeCityIndex]){\nselectCity(filteredCities[activeCityIndex]);\n}\n} else if (e.key === \"Escape\"){\ncloseAllDropdowns();\ndisableCityTypingMode();\n}\n});\ncityInput.addEventListener(\"blur\", () => {\nconst typed = cityInput.value.trim();\nif (!typed){\ndisableCityTypingMode();\nreturn;\n}\nconst exact = indexAll.cities.find(c => c.toLowerCase() === typed.toLowerCase());\nif (exact){\nif (selectedCity !== exact) selectCity(exact);\nelse disableCityTypingMode();\n} else {\nsetCityValue(selectedCity || \"\");\ndisableCityTypingMode();\n}\n});\n}\n// Date field (spectacle mode)\nconst dateField = document.getElementById(\"date-field\");\nif (dateField){\ndateField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst dropdown = document.getElementById(\"date-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\ndateField.classList.add(\"active\");\nensureCalendarMonthIsUseful();\nrenderCalendar();\n}\n});\n}\n// Diner date field\nconst dinerDateField = document.getElementById(\"diner-date-field\");\nif (dinerDateField){\ndinerDateField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dropdown = document.getElementById(\"diner-date-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\ndinerDateField.classList.add(\"active\");\nrenderDinerDropdown();\n}\n});\n}\n// Session field (spectacle mode)\nconst sessionField = document.getElementById(\"session-field\");\nif (sessionField){\nsessionField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst wrapper = document.getElementById(\"session-wrapper\");\nif (!wrapper || wrapper.classList.contains(\"is-hidden\")) return;\n// Ne pas ouvrir le dropdown s'il n'y a qu'une seule séance\nif (sessionField.classList.contains(\"single-session\")) return;\nconst dropdown = document.getElementById(\"session-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\nupdateSessionUI();\ndropdown.classList.add(\"show\");\nsessionField.classList.add(\"active\");\n}\n});\n}\n// People field\nconst peopleField = document.getElementById(\"people-field\");\nif (peopleField){\npeopleField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst dropdown = document.getElementById(\"people-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\npeopleField.classList.add(\"active\");\n}\n});\n}\ndocument.addEventListener(\"click\", () => {\ncloseAllDropdowns();\ndisableCityTypingMode();\n});\n/************************************************************\n* COUNTERS\n************************************************************/\nfunction updatePeopleDisplay(){\nconst total = adultsCount + childrenCount;\nconst el = document.getElementById(\"people-value\");\nif (!el) return;\nel.textContent = total === 1 ? \"1 personne\" : `${total} pers.`;\n}\nconst adultsMinus = document.getElementById(\"adults-minus\");\nconst adultsPlus = document.getElementById(\"adults-plus\");\nconst childrenMinus = document.getElementById(\"children-minus\");\nconst childrenPlus = document.getElementById(\"children-plus\");\nif (adultsMinus) adultsMinus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (adultsCount > 0){\nadultsCount--;\ndocument.getElementById(\"adults-count\").textContent = adultsCount;\nupdatePeopleDisplay();\n}\n});\nif (adultsPlus) adultsPlus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nadultsCount++;\ndocument.getElementById(\"adults-count\").textContent = adultsCount;\nupdatePeopleDisplay();\n});\nif (childrenMinus) childrenMinus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (childrenCount > 0){\nchildrenCount--;\ndocument.getElementById(\"children-count\").textContent = childrenCount;\nupdatePeopleDisplay();\n}\n});\nif (childrenPlus) childrenPlus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nchildrenCount++;\ndocument.getElementById(\"children-count\").textContent = childrenCount;\nupdatePeopleDisplay();\n});\n/************************************************************\n* SUBMIT BUTTON\n************************************************************/\nfunction updateSubmitButton(){\nconst btn = document.getElementById(\"btn-reserve\");\nif (!btn) return;\nif (currentMode === \"diner\"){\nbtn.disabled = !selectedDinerSlot;\nreturn;\n}\n// Mode spectacle\nif (isPastCityMode){\nbtn.disabled = true;\nreturn;\n}\nif (!selectedCity || !selectedDate){\nbtn.disabled = true;\nreturn;\n}\nconst cutoff = getCutoff();\nconst dk = dateKey(selectedDate);\nconst sessions = getSessionsForSelectedDay();\nif (sessions.length > 1){\nif (!selectedSession){\nbtn.disabled = true;\nreturn;\n}\nconst ok = !selectedSession.soldOut && selectedSession.dateTime > cutoff;\nbtn.disabled = !ok;\nreturn;\n}\nbtn.disabled = !hasFutureSession(selectedCity, dk, cutoff);\n}\nconst btnReserve = document.getElementById(\"btn-reserve\");\nif (btnReserve){\nbtnReserve.addEventListener(\"click\", () => {\nconst link = getBookingLink();\nif (link) window.open(link, \"_blank\");\nelse alert(\"Aucune séance disponible (début dans moins de 30 minutes ou complet).\");\n});\n}\n/************************************************************\n* MOBILE\n************************************************************/\nfunction isMobile(){\nreturn window.matchMedia(\"(max-width: 768px)\").matches ||\n('ontouchstart' in window && window.innerWidth <= 768);\n}\nfunction ensureMobileNav(){\nif (!isMobile()) return;\nconst bar = document.querySelector(\".search-bar\");\nif (!bar) return;\nif (!document.getElementById(\"mobile-nav\")){\nconst nav = document.createElement(\"div\");\nnav.id = \"mobile-nav\";\nnav.innerHTML = `\n<button id=\"mobile-back\" type=\"button\" aria-label=\"Retour\">‹</button>\n<div id=\"mobile-summary\"></div>\n`;\nbar.prepend(nav);\n}\nif (!document.getElementById(\"mobile-next\")){\nconst next = document.createElement(\"button\");\nnext.id = \"mobile-next\";\nnext.type = \"button\";\nnext.textContent = \"Continuer\";\nconst dateFieldWrap = bar.querySelector(\".sf-date\");\nif (dateFieldWrap && dateFieldWrap.nextSibling){\nbar.insertBefore(next, dateFieldWrap.nextSibling);\n} else {\nbar.appendChild(next);\n}\n}\nconst backBtn = document.getElementById(\"mobile-back\");\nconst nextBtn = document.getElementById(\"mobile-next\");\nif (backBtn && !backBtn.dataset.bound){\nbackBtn.dataset.bound = \"1\";\nbackBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nmobileStep = 1;\napplyMobileStep();\ncloseAllDropdowns();\n});\n}\nif (nextBtn && !nextBtn.dataset.bound){\nnextBtn.dataset.bound = \"1\";\nnextBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!(selectedCity && selectedDate) || isPastCityMode) return;\nmobileStep = 2;\napplyMobileStep();\ncloseAllDropdowns();\n});\n}\n}\nfunction removeMobileNav(){\nconst nav = document.getElementById(\"mobile-nav\");\nconst next = document.getElementById(\"mobile-next\");\nif (nav) nav.remove();\nif (next) next.remove();\ndocument.body.classList.remove(\"mobile-step-1\",\"mobile-step-2\");\n}\nfunction applyMobileStep(){\nif (!isMobile()){\nremoveMobileNav();\nreturn;\n}\ndocument.body.classList.toggle(\"mobile-step-1\", mobileStep === 1);\ndocument.body.classList.toggle(\"mobile-step-2\", mobileStep === 2);\nupdateMobileNav();\n}\nfunction updateMobileNav(){\nif (!isMobile()) return;\nensureMobileNav();\nconst nextBtn = document.getElementById(\"mobile-next\");\nconst summary = document.getElementById(\"mobile-summary\");\nconst canProceed = !!(selectedCity && selectedDate && !isPastCityMode);\nif (nextBtn){\nnextBtn.style.display = (mobileStep === 1 && canProceed && currentMode === \"spectacle\") ? \"flex\" : \"none\";\nnextBtn.disabled = !canProceed;\n}\nif (summary){\nconst parts = [];\nif (selectedCity) parts.push(selectedCity);\nif (selectedDate){\nparts.push(\nselectedDate.toLocaleDateString(\"fr-FR\", {\nweekday: \"short\",\nday: \"2-digit\",\nmonth: \"short\"\n})\n);\n}\nconst wrapper = document.getElementById(\"session-wrapper\");\nif (wrapper && !wrapper.classList.contains(\"is-hidden\") && selectedSession){\nparts.push(formatTime(selectedSession.dateTime));\n}\nsummary.textContent = parts.join(\" · \") || \"Retour\";\n}\n}\n/************************************************************\n* DEFAULT NEXT BOOKABLE\n************************************************************/\nfunction findNextBookableOverall(cutoff){\nlet best = null;\nfor (const item of tourData){\nif (!item.soldOut && item.dateTime > cutoff){\nif (!best || item.dateTime < best.dateTime) best = item;\n}\n}\nreturn best;\n}\nfunction findNextBookableDiner(cutoff){\nlet best = null;\nfor (const item of dinerData){\nif (!item.soldOut && item.dateTime > cutoff){\nif (!best || item.dateTime < best.dateTime) best = item;\n}\n}\nreturn best;\n}\n/************************************************************\n* INIT\n************************************************************/\nfunction loadTourData(){\nif (!TOUR_DATA_RAW || !TOUR_DATA_RAW.length) {\nshowEmptyState();\nreturn;\n}\ntourData = TOUR_DATA_RAW.map(item => {\nconst dt = parseFRDateTime(item.dateStr);\nconst dayDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\nreturn {\n...item,\nsoldOut: !!item.soldOut,\nisDiner: !!item.isDiner,\ndateTime: dt,\ndayDate,\ndateKey: dateKey(dayDate)\n};\n});\n// Séparer les dîners\ndinerData = tourData.filter(item => item.isDiner);\nindexAll = buildIndexAll(tourData);\nindexDiner = buildIndexAll(dinerData);\n// Initialiser le mode par défaut\ndocument.body.classList.add(\"mode-spectacle\");\nconst cutoff = getCutoff();\n// Mode spectacle : démarrage sans présélection\nselectedCity = null;\nselectedDate = null;\n// Afficher le prochain spectacle en placeholder (informatif uniquement)\nconst nextShow = findNextBookableOverall(cutoff);\nif (nextShow) {\n// Stocker pour réutilisation lors du switch de mode\nnextShowPlaceholder = {\ncity: nextShow.city,\ndateTime: nextShow.dateTime\n};\nconst cv = document.getElementById(\"city-value\");\nconst dv = document.getElementById(\"date-value\");\nif (cv) {\ncv.textContent = nextShow.city;\ncv.classList.add(\"placeholder\");\n}\nif (dv) {\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\ndv.textContent = isDesktop ? formatDateShort(nextShow.dateTime) : formatDateLong(nextShow.dateTime);\ndv.classList.add(\"placeholder\");\n}\n} else {\nnextShowPlaceholder = null;\nsetCityValue(\"\");\nclearDateSelection();\n}\n// Préparer le mode dîner\nconst nextDiner = findNextBookableDiner(cutoff);\nif (nextDiner){\nselectedDinerSlot = {\ncity: nextDiner.city,\ndateKey: nextDiner.dateKey,\ndateTime: nextDiner.dateTime,\nlink: nextDiner.link\n};\nconst displayText = `${nextDiner.city} • ${nextDiner.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"short\",\nday:\"numeric\",\nmonth:\"short\"\n})}`;\nsetDinerDateValue(displayText);\n}\nensureCalendarMonthIsUseful();\nrenderCityDropdown(\"\");\nrenderCalendar();\nrenderDinerDropdown();\nupdateSessionUI();\nupdatePeopleDisplay();\nupdateSubmitButton();\nif (isMobile()){\nensureMobileNav();\nmobileStep = 1;\napplyMobileStep();\n} else {\nremoveMobileNav();\n}\nupdateMobileNav();\n}\n(async function init(){\ntry{\nTOUR_DATA_RAW = await loadRawFromCSV();\nloadTourData();\n} catch(err){\nconsole.error(err);\nshowError(\"Impossible de charger le calendrier des spectacles. Vérifiez votre connexion ou réessayez plus tard.\");\n}\n})();\nwindow.addEventListener(\"resize\", () => {\nif (isMobile()){\nensureMobileNav();\napplyMobileStep();\nupdateMobileNav();\n} else {\nremoveMobileNav();\n}\n});\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nBILLETTERIE\t\n\n\n\n\t\t\n\n\n\n\nTOUTES LES OFFRES >\n\n\n\n\n.fl-node-jpyu61ak29rg.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\nPlaces et billets\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nVivez en V.I.P\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTarifs réduits\nEn savoir plus >\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTOUS LES TARIFS >\n\n\n\n\n.fl-node-gv6p07lr5caz.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nBILLETTERIE\t\n\n\n\n\t\t\n\n\n\n\nTOUTES LES OFFRES >\n\n\n\n\n.fl-node-ngjrqlo4uk95.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTOUS LES TARIFS >\n\n\n\n\n.fl-node-90gjs45e7uxz.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nEn tournée prés de chez vous\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nDîners Spectacle\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nUN SPECTACLE UNIQUE\t\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n(opens in new tab)\n\n\n\nVisitez le chapiteau >\n\n\n\n\n\t\t\n\n\n\n\nDates des séances\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nLes numéros\nEn savoir plus >\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\t\t\nL'ESSENTIEL\ndes SOUVENIRS du CIRQUE\n\n\nC'est parti pour le shopping. Vètements, affiches, programmes, souvenir et goodies\n\nACCÉDER À LA BOUTIQUE(opens in new tab)\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nENSEMBLE\t\n\n\n\n\t\t\n\n\n\nOFFRES EVENEMENTIELLES >\n\n\n\n\n.fl-node-w47suykxtn1z.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nEN GROUPE\nEnsemble pour partager le show\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nÉCOLES\nLa sortie scolaire la plus folle !\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nENTREPRISE et CSE\nPlace aux évènements professionnels\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nUNE GRANDE HISTOIRE\t\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nARLETTE GRUSS ET SA FAMILLE\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nLa magie du cirque à travers les âges\n\n\n\n\n\n\n\n\n","properties.url.0":"\n\n","properties.url.1":"\n\n","properties.url.10":"\n\n","properties.url.2":"\n\n","properties.url.3":"\n\n(opens in new tab)","properties.url.4":"\n\n","properties.url.5":"\n\n","properties.url.6":"\n\n","properties.url.7":"\n\n","properties.url.8":"\n\n","properties.url.9":"\n\n","type":"https://schema.org/WebPage"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/WPHeader"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/Organization"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/Organization"},"tagProtocol":1},{"tagData":{"properties.image.0":"https://cirque-gruss.com/wp-content/uploads/2026/04/title.png","properties.image.1":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-billets-2025-.jpg","properties.image.10":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-au-travers-des-ages-1980.jpg","properties.image.2":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-vip-2025.jpg","properties.image.3":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-tarifs-2025.jpg","properties.image.4":"https://www.cirque-gruss.com/assets/uploads/2025/02/visite-virtuelle.webp","properties.image.5":"https://www.cirque-gruss.com/assets/uploads/2026/10/Tous-les-produits-Essentiel-small-280x280.jpg","properties.image.6":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.image.7":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.image.8":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.image.9":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-famille-arlette.jpg","properties.text":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nEN TOURNÉE DANS TOUTE LA FRANCE\n\n\nLA NOUVELLE CRÉATION DU CIRQUE ARLETTE GRUSS\t\n\n\n\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n\n\n.fl-node-8nuz450pxows.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\nNOUVELLE CRÉATION\t\n\nEN TOURNÉE DANS TOUTE LA FRANCE\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n.fl-node-oj30u6v98xbd.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\t\t\n\n\n\n\n\nRéservation - Essentiel\n\n* { margin: 0; padding: 0; box-sizing: border-box; }\n.container {\nmax-width: 730px;\nmargin: 0 auto;\n}\n/* =====================\nTOGGLE SPECTACLE/DÎNER\n===================== */\n.mode-toggle {\ndisplay: flex;\nbackground: rgb(255, 255, 255, 0.2);\nborder-radius: 8px;\nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);\npadding: 0px;\nwidth: -moz-fit-content;\nwidth: fit-content;\nmargin: 0 auto 24px;\ngap: 5px;\n}\n.toggle-option {\npadding: 5px 19px;\nborder-radius: 8px;\ncursor: pointer;\ntransition: all 0.3s ease;\nfont-weight: 600;\nfont-size: 0.9rem;\nline-height: 0.7rem;\ndisplay: flex;\nalign-items: center;\ngap: 8px;\ncolor: #718096;\nbackground: transparent;\nborder: none;\nwhite-space: nowrap;\nposition: relative;\n}\n.toggle-option:hover {\nbackground: #cbd5e0;\n}\n.toggle-option.active {\nbackground: #A5172E; \ncolor: #fff;\nbox-shadow: 0 4px 12px rgba(165, 23, 46, 0.3);\n}\n/* Mode desktop : icônes uniquement, texte au hover */\n@media (min-width: 769px) {\n.toggle-option.active {\nbackground: #fff;\ncolor: #fff;\nbox-shadow: 0px 0px 16px rgba(165, 23, 46, 0.7);\nborder: solid 2px rgba(165, 23, 46, 0.4);\n}\n#mode-toggle-desktop .toggle-option {\npadding: 14px 14px;\nmin-width: 40px;\n}\n.btn-submit {\ncolor: #fff;\nborder: none;\npadding: 14px 14px;\nborder-radius: 8px;\nfont-size: 1rem;\nfont-weight: 600;\nmargin-left:0px;\ntransition: all 0.3s;\nwhite-space: nowrap;\n}\n#mode-toggle-desktop .toggle-option span {\ndisplay: none;\nposition: absolute;\nleft: 50%;\nbottom: -55px;\ntransform: translateX(-50%);\nbackground: darkred;\ncolor: #fff;\npadding: 14px 14px;\nborder-radius: 6px;\nfont-size: 0.85rem;\nwhite-space: nowrap;\nz-index: 1000;\npointer-events: none;\n}\n#mode-toggle-desktop .toggle-option span::before {\ncontent: '';\nposition: absolute;\ntop: -4px;\nleft: 50%;\ntransform: translateX(-50%);\nwidth: 0;\nheight: 0;\nborder-left: 5px solid transparent;\nborder-right: 5px solid transparent;\nborder-bottom: 5px solid #2d3748;\n}\n#mode-toggle-desktop .toggle-option:hover span {\ndisplay: block;\n}\n#mode-toggle-desktop .toggle-option::before {\ncontent: '🎪';\nfont-size: 1.3em;\n}\n#mode-toggle-desktop #toggle-diner::before {\ncontent: '🍽️';\n}\n}\n/* =====================\nSEARCH BAR (base = mobile-first)\n===================== */\n.search-bar {\n/* comme la v2 */\nbackground: #fff;\nborder-radius: 12px;\nbox-shadow: 0 10px 40px rgba(0,0,0,0.5);\npadding: 7px;\ndisplay: flex;\ngap: 7px;\nalign-items: stretch;\nwidth: fit-content;\nmin-width: 300px;\nmargin: 0 auto;           /* centre */\ntransition: all 0.4s ease;\nposition: relative;        /* IMPORTANT : plus de fixed en mobile */\nz-index: 999;              /* (et écris-le en minuscule) */\n}\n.search-field {\nflex: 1;\nmin-width: 0;\nposition: relative;\ntransition: all 0.3s ease;\n}\n.search-field label {\ndisplay: none;\nfont-size: 0.7rem;\ncolor: #718096;\nmargin-bottom: 6px;\nfont-weight: 600;\ntext-transform: uppercase;\nletter-spacing: 0.5px;\n}\n.field-content {\ndisplay: flex;\nalign-items: center;\ngap: 10px;\npadding: 14px 10px;\nborder: 2px solid #e2e8f0;\nborder-radius: 8px;\ncursor: pointer;\ntransition: all 0.3s ease;\nbackground: #fff;\nmax-height: 44px;\n}\n.field-content:hover {\nborder-color: #A5172E;\nbox-shadow: 0 2px 8px rgba(165, 23, 46, 0.10);\n}\n.field-content.active {\nborder-color: #A5172E;\nbox-shadow: 0 0 0 3px rgba(165, 23, 46, 0.10);\n}\n.icon { \nwidth: 22px; \nheight: 22px; \nflex-shrink: 0; \n}\n.field-value {\nflex: 1;\ncolor: #2d3748;\nfont-size: 0.9rem;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n.field-value.placeholder { \ncolor: #a0aec0; \n}\n/* =====================\nDROPDOWN\n===================== */\n.dropdown {\nposition: absolute;\ntop: calc(100% + 8px);\nleft: 0;\nright: 0;\nbackground: #fff;\nborder-radius: 10px;\nbox-shadow: 0 15px 50px rgba(0,0,0,0.15);\nmax-height: 350px;\noverflow-y: auto;\nz-index: 1000;\ndisplay: none;\nborder: 1px solid #e2e8f0;\n}\n.dropdown.show {\ndisplay: block;\nanimation: slideDown 0.2s ease-out;\n}\n@keyframes slideDown {\nfrom { opacity: 0; transform: translateY(-10px); }\nto { opacity: 1; transform: translateY(0); }\n}\n.dropdown-item {\npadding: 12px 16px;\ncursor: pointer;\ntransition: background 0.2s;\ncolor: #2d3748;\nborder-bottom: 1px solid #f7fafc;\n}\n.dropdown-item:last-child { \nborder-bottom: none; \n}\n.dropdown-item:hover { \nbackground: darkred;\ncolor: #fff;\n}\n.dropdown-item.selected { \nbackground: #A5172E; \ncolor: #fff; \n}\n.dropdown-item.disabled {\nopacity: 0.4;\ncursor: not-allowed;\nbackground: #fafafa;\n}\n.dropdown-item.disabled:hover { \nbackground: #fafafa; \ncolor: #2d3748;\n}\n.dropdown-item.past { \nopacity: 0.55; \n}\n.dropdown-item.active { \nbackground: #f7fafc; \n}\n.dropdown-item.active:hover { \nbackground: darkred;\ncolor: #fff;\n}\n/* Scrollbar */\n.dropdown::-webkit-scrollbar { width: 8px; }\n.dropdown::-webkit-scrollbar-track { background: #f7fafc; border-radius: 10px; }\n.dropdown::-webkit-scrollbar-thumb { background: #cbd5e0; border-radius: 10px; }\n.dropdown::-webkit-scrollbar-thumb:hover { background: #A5172E; }\n/* =====================\nCALENDAR\n===================== */\n.calendar { \npadding: 20px; \n}\n.calendar-header {\ndisplay: flex;\njustify-content: space-between;\nalign-items: center;\nmargin-bottom: 20px;\n}\n.calendar-header button {\nbackground: #fff5f5;\nborder: 2px solid;\ncursor: pointer;\npadding: 0px 12px;\ncolor: #A5172E;\nfont-size: 2rem;\nborder-radius: 12px;\ntransition: background 0.2s;\nline-height: 2.4rem;\n}\n.calendar-header button:hover:not(:disabled) { \nbackground: #f7fafc; \n}\n.calendar-header button:disabled { \nopacity: 0.03; \ncursor: not-allowed; \n}\n.calendar-header span {\nfont-weight: 600;\ncolor: #2d3748;\nfont-size: 1rem;\n}\n.calendar-grid { \ndisplay: grid; \ngrid-template-columns: repeat(7, 1fr); \ngap: 6px; \n}\n.calendar-day-header {\ntext-align: center;\nfont-size: 0.7rem;\ncolor: #718096;\npadding: 10px 0;\nfont-weight: 700;\ntext-transform: uppercase;\n}\n.calendar-day {\naspect-ratio: 1;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nborder-radius: 8px;\ncursor: pointer;\nfont-size: 0.9rem;\ncolor: #2d3748;\ntransition: all 0.2s;\nfont-weight: 500;\n}\n.calendar-day:hover:not(.disabled):not(.empty) {\ncolor: #f7fafc;\nbackground: #A5172E;\ntransform: scale(1.05);\n}\n.calendar-day.empty { \ncursor: default; \n}\n.calendar-day.disabled { \ncolor: #cbd5e0; \ncursor: not-allowed; \n}\n.calendar-day.available {\nbackground: #fff5f5;\ncolor: #A5172E;\nfont-weight: 600;\n}\n.calendar-day.available:hover { \nbackground: #A5172E; \ncolor: #fff; \n}\n.calendar-day.selected { \nbackground: #A5172E; \ncolor: #fff; \n}\n/* =====================\nCOUNTER\n===================== */\n.counter-container { \npadding: 14px; \n}\n.counter-row {\njustify-content: space-between;\nalign-items: center;\npadding: 7px 0;\nborder-bottom: 1px solid #f7fafc;\n}\n.counter-row:last-child { \nborder-bottom: none; \n}\n.counter-label {\ncolor: #2d3748;\nfont-weight: 500;\nfont-size: 0.9rem;\n}\n.counter-controls { \ndisplay: flex; \nalign-items: center; \ngap: 1px; \nmargin: 7px; \n}\n.counter-btn {\nheight: 22px;\nborder-radius: 50%;\nborder: 2px solid #A5172E;\nbackground: #fff;\ncolor: #A5172E;\nfont-size: 1.2rem;\ncursor: pointer;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\ntransition: all 0.2s;\nfont-weight: bold;\npadding: 4px;\n}\n.counter-btn:hover:not(:disabled) { \nbackground: #A5172E; \ncolor: #fff; \n}\n.counter-btn:disabled {\nopacity: 0.3;\ncursor: not-allowed;\nborder-color: #cbd5e0;\ncolor: #cbd5e0;\n}\n.counter-value {\nmin-width: 30px;\ntext-align: center;\nfont-weight: 600;\ncolor: #2d3748;\nfont-size: 1rem;\n}\n/* =====================\nBUTTON\n===================== */\n.btn-submit {\nbackground: #A5172E;\ncolor: #fff;\nborder: none;\npadding: 7px 14px;\nborder-radius: 8px;\nfont-size: 1rem;\nfont-weight: 600;\ncursor: pointer;\ntransition: all 0.3s;\nmargin-left: 0px;\nwhite-space: nowrap;\nmax-height:44px;\n}\n.btn-submit:hover {\nbackground: #8a1325;\ntransform: translateY(-2px);\nbox-shadow: 0 8px 20px rgba(165, 23, 46, 0.30);\n}\n.btn-submit:disabled {\nbackground: #cbd5e0;\ncursor: not-allowed;\ntransform: none;\nbox-shadow: none;\n}\n/* =====================\nDISABLED UI\n===================== */\n.field-content.disabled-ui {\nopacity: 0.45;\nfilter: grayscale(1);\n}\n.field-content.disabled-ui:hover {\nborder-color: #e2e8f0;\nbox-shadow: none;\n}\n/* =====================\nDESKTOP WIDTHS\n===================== */\n@media (min-width: 769px) {\n/* Masquer le toggle mobile en desktop */\n#mode-toggle-mobile { display: none; }\n/* Intégrer le toggle dans la barre en desktop */\n#mode-toggle-desktop {\ndisplay: flex;\nmargin: 0;\nbox-shadow: none;\nflex-shrink: 0;\nbackground: rgb(255, 255, 255, 0.2);\nborder: 1px solid rgb(255, 255, 255, 0.2);}\n.sf-city    { flex: 0 0 280px; }\n.sf-date    { flex: 0 0 155px; }\n.sf-session { flex: 0 0 135px; }\n.sf-diner-date { flex: 1; min-width: 300px; max-width: 400px; }\n/* =====================\nMASQUAGE TEMPORAIRE DU CHAMP PERSONNES\n===================== */\n.sf-people {\ndisplay: none !important;\n}\n/* Réduire la largeur quand il y a une seule séance */\n.sf-session.single-session-wrapper { flex: 0 0 100px; }\n#date-dropdown { min-width: 260px; }\n/* ✅ Ton comportement desktop (fix + glass) reste ici */\n.search-bar{\n/*position: fixed;*/\ntop: 27px;\nmin-width: 580px;\nbackground: rgba(255, 255, 255, 0.3);\nborder: 1px solid rgba(255, 255, 255, 0.4);\nbackdrop-filter: blur(14px);\n-webkit-backdrop-filter: blur(14px);\nbox-shadow: 0 10px 40px rgba(0,0,0,0.5);\n}\ndiv#date-field {\npadding: 14px 7px;\n}\n} /* ✅ IMPORTANT : on ferme bien le media query ici */\n/* =====================\nHIDDEN\n===================== */\n.is-hidden { \ndisplay: none !important; \n}\n/* =====================\nCHEVRON\n===================== */\n.chevron {\nwidth: 18px;\nheight: 18px;\nflex-shrink: 0;\ncolor: #A5172E;\nopacity: 0.9;\n}\n/* Masquer le chevron du champ séance quand il n'y a qu'un seul horaire */\n#session-field.single-session .chevron {\ndisplay: none;\n}\n/* =====================\nCITY INPUT MODE\n===================== */\n.city-input {\nflex: 1;\nmin-width: 0;\nborder: none;\noutline: none;\nbackground: transparent;\nfont-size: 0.95rem;\ncolor: #2d3748;\n}\n.city-input::placeholder { \ncolor: #a0aec0; \n}\n#city-field:not(.typing) #city-input { \ndisplay: none; \n}\n#city-field.typing #city-value { \ndisplay: none; \n}\n#city-field.typing #city-input { \ndisplay: block; \nwidth: 100%; \n}\n/* =====================\nMOBILE NAV\n===================== */\n#mobile-nav, #mobile-next { \ndisplay: none; \n}\n/* =====================\nERROR MESSAGE\n===================== */\n.error-container {\ntext-align: center;\npadding: 40px;\nbackground: #fff;\nborder-radius: 12px;\nbox-shadow: 0 10px 40px rgba(0,0,0,0.08);\n}\n.error-container h2 {\ncolor: #A5172E;\nmargin-bottom: 15px;\nfont-size: 1.5rem;\n}\n.error-container p {\ncolor: #2d3748;\nmargin-bottom: 20px;\nline-height: 1.6;\n}\n.error-container a {\ndisplay: inline-block;\nbackground: #A5172E;\ncolor: #fff;\npadding: 12px 24px;\nborder-radius: 8px;\ntext-decoration: none;\nfont-weight: 600;\ntransition: all 0.3s;\n}\n.error-container a:hover {\nbackground: #8a1325;\ntransform: translateY(-2px);\n}\n/* =====================\nMOBILE STYLES\n===================== */\n@media (max-width: 768px) {\n/* Masquer le toggle desktop en mobile */\n#mode-toggle-desktop {\ndisplay: none;\n}\n.mode-toggle {\ndisplay: flex;\nbackground: #fff;\nborder-radius: 40px;\nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\npadding: 8px;\nwidth: -moz-fit-content;\nwidth: fit-content;\nmargin: 0 auto 24px;\ngap: 5px;\n}\n.toggle-option { \nflex: 1;\njustify-content: center;\npadding: 18px 22px;\nborder-radius: 40px;\ncolor: #718096;\nfont-size: 1rem;\n}\n.search-bar { \nflex-direction: column; \nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\nwidth: min(370px, calc(100vw - 24px));\nmargin: 0 auto;\n}\n.search-field label { \ndisplay: none; \n}\n#mobile-nav {\ndisplay: none;\nwidth: 100%;\nalign-items: center;\ngap: 10px;\npadding: 2px 2px 8px;\nmargin-bottom: 2px;\n}\n#date-field .chevron {\ndisplay: block;}\nbody.mobile-step-2 #mobile-nav { \ndisplay: flex; \n}\n#mobile-back {\nwidth: 36px;\nheight: 36px;\nborder-radius: 999px;\nborder: 1px solid #e2e8f0;\nbackground: #fff;\ncolor: #A5172E;\nfont-size: 22px;\nline-height: 1;\ncursor: pointer;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nflex: 0 0 auto;\n}\n#mobile-summary {\nflex: 1;\nmin-width: 0;\ncolor: #2d3748;\nfont-size: 0.92rem;\nfont-weight: 700;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n#mobile-next {\ndisplay: none;\nwidth: 100%;\nmargin-top: 8px;\npadding: 12px 16px;\nborder-radius: 999px;\nborder: 1px solid #e2e8f0;\nbackground: #fff;\ncolor: #A5172E;\nfont-weight: 800;\ncursor: pointer;\njustify-content: center;\n}\nbody.mobile-step-1.mode-spectacle .sf-session,\nbody.mobile-step-1.mode-spectacle #btn-reserve {\ndisplay: none !important;\n}\nbody.mobile-step-2.mode-spectacle .sf-city,\nbody.mobile-step-2.mode-spectacle .sf-date {\ndisplay: none !important;\n}\nbody.mobile-step-2.mode-spectacle .sf-session,\nbody.mobile-step-2.mode-spectacle #btn-reserve {\nwidth: 100%;\n}\nbody.mobile-step-2.mode-spectacle #btn-reserve {\nmargin-left: 0;\nmargin-top: 10px;\n}\n/* Masquage temporaire du nombre de personnes en mobile */\nbody.mode-spectacle .sf-people,\nbody.mode-diner .sf-people {\ndisplay: none !important;\n}\n.btn-submit {\nmargin-left: 0;\nmargin-top: 10px;\nwidth: 100%;\n}\n/* =====================\nDÎNER MODE SPECIFIC\n===================== */\n.diner-date-item {\ndisplay: flex;\nalign-items: center;\ngap: 8px;\n}\n.diner-date-info {\nflex: 1;\n}\n.diner-date-main {\nfont-weight: 600;\ncolor: #2d3748;\ntext-transform: uppercase;\nfont-size: 0.95em;\n}\n.diner-date-city {\nfont-size: 0.85em;\ncolor: #718096;\nmargin-top: 2px;\ntext-transform: uppercase;\n}\n.dropdown-item.selected .diner-date-main,\n.dropdown-item.selected .diner-date-city {\ncolor: #fff;\n}\n.dropdown-item:hover .diner-date-main,\n.dropdown-item:hover .diner-date-city {\ncolor: #fff;\n}\n.hint-flash {\nborder: 3px solid #A5172E !important;\nbox-shadow: 0 0 0 3px rgba(165, 23, 46, 0.12);\n}\n\n\n\n\n\n\n\nSpectacle\n\n\nDîner-Spectacle\n\n\n\n\n‹\nRetour\n\n\n\n\nSpectacle\n\n\nDîner-Spectacle\n\n\n\n\nVille\n\n\n\n\n\nNancy\n\n\n\n\n\nAmiensArrasBordeauxBoulogne sur merDunkerqueLa RochelleLilleMetzNancyParisRouenThionvilleVilleneuve d'ascqAix les bainsAnnecy\n\n\n\nDate\n\n\n\n\nvendredi 16 octobre 2026\n\n\n\n\n\n\n\n\n‹\nOctobre 2026\n›\n\n\nLun\nMar\nMer\nJeu\nVen\nSam\nDim\n1213141516171819202122232425262728293031\nContinuer\n\n\nDate et Lieu\n\n\n\n\nNancy • sam. 24 oct.\n\n\n\n\n\n\n\n\n\nNancy\nsamedi 24 octobre à 20:00\n\n\n\n\n\n\n\n\nParis\nvendredi 11 décembre à 20:30\n\n\n\n\n\n\n\n\nBordeaux\njeudi 31 décembre à 20:00\n\n\n\n\n\n\n\n\nBordeaux\nvendredi 15 janvier à 20:00\n\n\n\n\n\n\n\n\nBordeaux\nsamedi 23 janvier à 20:00\n\n\n\n\n\n\n\n\nRouen\nvendredi 12 février à 20:00\n\n\n\n\n\n\n\n\nLille\nvendredi 12 mars à 20:00\n\n\n\n\n\n\n\nSéance\n\n\n\n\n--:--\n\n\n\n\n\n\n\n\nPersonnes\n\n\n\n\n2 pers.\n\n\n\n\nAdultes\n\n−\n1\n+\n\n\n\nEnfants\n\n−\n1\n+\n\n\n\n\n\n\nOK\n\n\n\n/************************************************************\n* CONFIG\n************************************************************/\nconst TOUR_CSV_URL = \"https://www.cirque-gruss.com/assets/uploads/2026/06/Calendrier-Essentilel-019.xlsx-Essentiel.csv\";\nconst TOUR_URL = \"https://www.cirque-gruss.com/la-tournee\";\nconst BOOKING_CUTOFF_MINUTES = 30;\n/************************************************************\n* STATE\n************************************************************/\nlet TOUR_DATA_RAW = [];\nlet tourData = [];\nlet dinerData = []; // Sous-ensemble avec Dîner O/N\nlet indexAll = null;\nlet indexDiner = null;\nlet currentMode = \"spectacle\"; // \"spectacle\" ou \"diner\"\n// SPECTACLE MODE\nlet selectedCity = null;\nlet selectedDate = null;\nlet selectedSession = null;\n// DÎNER MODE\nlet selectedDinerSlot = null; // { city, dateKey, dateTime, link }\n// COMMON\nlet adultsCount = 1;\nlet childrenCount = 1;\nlet currentMonth = new Date().getMonth();\nlet currentYear = new Date().getFullYear();\nlet filteredCities = [];\nlet activeCityIndex = -1;\nlet isPastCityMode = false;\nlet mobileStep = 1;\n// Placeholder informatif du prochain spectacle\nlet nextShowPlaceholder = null;\n// Cache\nlet sortedCitiesByAvailability = null;\nlet cachedAvailableDates = null;\nlet lastCutoffTime = 0;\nlet inputTimeout = null;\nconst monthNames = [\n\"Janvier\",\"Février\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\n\"Juillet\",\"Août\",\"Septembre\",\"Octobre\",\"Novembre\",\"Décembre\"\n];\n/************************************************************\n* UTILS\n************************************************************/\nfunction pad2(n){ return String(n).padStart(2,\"0\"); }\nfunction getCutoff(){\nreturn new Date(Date.now() + BOOKING_CUTOFF_MINUTES * 60 * 1000);\n}\nfunction parseFRDateTime(dateStr){\nconst [dPart, tPart=\"00:00:00\"] = String(dateStr).split(\" \");\nconst [dd, mm, yyyy] = dPart.split(\"/\").map(Number);\nconst [hh, mi, ss] = tPart.split(\":\").map(Number);\nreturn new Date(yyyy, (mm || 1) - 1, dd || 1, hh || 0, mi || 0, ss || 0);\n}\nfunction dateKey(d){\nreturn `${d.getFullYear()}-${pad2(d.getMonth()+1)}-${pad2(d.getDate())}`;\n}\nfunction cmpMonth(a,b){\nif (a.y !== b.y) return a.y - b.y;\nreturn a.m0 - b.m0;\n}\nfunction formatTime(dt){\nif (!dt) return \"--:--\";\nreturn dt.toLocaleTimeString(\"fr-FR\",{hour:\"2-digit\",minute:\"2-digit\"});\n}\nfunction formatDateLong(dt){\nconst options = { weekday:\"long\", year:\"numeric\", month:\"long\", day:\"numeric\" };\nreturn dt.toLocaleDateString(\"fr-FR\", options);\n}\nfunction formatDateShort(dt){\nconst d = pad2(dt.getDate());\nconst m = pad2(dt.getMonth() + 1);\nconst y = String(dt.getFullYear()).slice(-2);\nreturn `${d}/${m}/${y}`;\n}\n/************************************************************\n* UI HELPERS\n************************************************************/\nfunction setDateDisplay(d){\nconst el = document.getElementById(\"date-value\");\nif (!el) return;\n// Format court en desktop (jj/mm/aa), format long en mobile\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\nel.textContent = isDesktop ? formatDateShort(d) : formatDateLong(d);\nel.classList.remove(\"placeholder\");\n}\nfunction clearDateSelection(){\nselectedDate = null;\nconst el = document.getElementById(\"date-value\");\nif (el){\nel.textContent = \"Choisir une date\";\nel.classList.add(\"placeholder\");\n}\nupdateSessionUI();\n}\nfunction setCityValue(city){\nconst cv = document.getElementById(\"city-value\");\nconst ci = document.getElementById(\"city-input\");\nif (cv) {\nif (city) {\ncv.textContent = city;\ncv.classList.remove(\"placeholder\");\n} else {\ncv.textContent = \"Choisir une ville\";\ncv.classList.add(\"placeholder\");\n}\n}\nif (ci) ci.value = city || \"\";\n}\nfunction restorePlaceholders(){\n// Restaurer les placeholders informatifs du prochain spectacle\nif (nextShowPlaceholder && !selectedCity && !selectedDate) {\nconst cv = document.getElementById(\"city-value\");\nconst dv = document.getElementById(\"date-value\");\nif (cv) {\ncv.textContent = nextShowPlaceholder.city;\ncv.classList.add(\"placeholder\");\n}\nif (dv) {\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\ndv.textContent = isDesktop ? formatDateShort(nextShowPlaceholder.dateTime) : formatDateLong(nextShowPlaceholder.dateTime);\ndv.classList.add(\"placeholder\");\n}\n}\n}\nfunction setDinerDateValue(text){\nconst el = document.getElementById(\"diner-date-value\");\nif (!el) return;\nel.textContent = text || \"Choisir une date\";\nif (text) el.classList.remove(\"placeholder\");\nelse el.classList.add(\"placeholder\");\n}\nfunction closeAllDropdowns(){\ndocument.querySelectorAll(\".dropdown\").forEach(d => d.classList.remove(\"show\"));\ndocument.querySelectorAll(\".field-content\").forEach(f => {\nf.classList.remove(\"active\");\nif (f.getAttribute('role') === 'combobox') {\nf.setAttribute('aria-expanded', 'false');\n}\n});\n}\nfunction flashCityLinked(){\nconst field = document.getElementById(\"city-field\");\nif (!field) return;\nfield.classList.add(\"hint-flash\");\nsetTimeout(() => {\nfield.classList.remove(\"hint-flash\");\n}, 900);\n}\nfunction setPastUI(past){\nisPastCityMode = past;\nconst dateField = document.getElementById(\"date-field\");\nconst peopleField = document.getElementById(\"people-field\");\nconst sessionField = document.getElementById(\"session-field\");\nif (dateField) dateField.classList.toggle(\"disabled-ui\", past);\nif (peopleField) peopleField.classList.toggle(\"disabled-ui\", past);\nif (sessionField) sessionField.classList.toggle(\"disabled-ui\", past);\nif (past) closeAllDropdowns();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\nfunction showError(message){\nconst container = document.querySelector('.container');\nif (!container) return;\ncontainer.innerHTML = `\n<div class=\"error-container\">\n<h2>⚠️ Erreur de chargement</h2>\n<p>${message}</p>\n<a href=\"${TOUR_URL}\">Voir la tournée complète</a>\n</div>\n`;\n}\nfunction showEmptyState(){\nconst container = document.querySelector('.container');\nif (!container) return;\ncontainer.innerHTML = `\n<div class=\"error-container\">\n<h2>📅 Aucune représentation programmée</h2>\n<p>Aucune date n'est disponible pour le moment.<br>Consultez la page de la tournée pour plus d'informations.</p>\n<a href=\"${TOUR_URL}\">Voir la tournée</a>\n</div>\n`;\n}\n/************************************************************\n* CSV PARSER\n************************************************************/\nfunction detectDelimiter(headerLine){\nconst commas = (headerLine.match(/,/g) || []).length;\nconst semis  = (headerLine.match(/;/g) || []).length;\nreturn semis > commas ? \";\" : \",\";\n}\nfunction parseCSVRow(line, delimiter){\nconst out = [];\nlet cur = \"\";\nlet inQuotes = false;\nfor (let i=0;i<line.length;i++){\nconst ch = line[i];\nif (ch === '\"'){\nif (inQuotes && line[i+1] === '\"'){ cur += '\"'; i++; }\nelse inQuotes = !inQuotes;\ncontinue;\n}\nif (!inQuotes && ch === delimiter){\nout.push(cur);\ncur = \"\";\ncontinue;\n}\ncur += ch;\n}\nout.push(cur);\nreturn out.map(v => v.trim());\n}\nfunction csvToObjects(text){\nconst cleaned = text\n.replace(/^\\uFEFF/,\"\")\n.replace(/\\r\\n/g,\"\\n\")\n.replace(/\\r/g,\"\\n\")\n.trim();\nif (!cleaned) return [];\nconst lines = cleaned.split(\"\\n\").filter(l => l.trim().length);\nif (!lines.length) return [];\nconst delimiter = detectDelimiter(lines[0]);\nconst headers = parseCSVRow(lines[0], delimiter);\nconst rows = [];\nfor (let i=1;i<lines.length;i++){\nconst cols = parseCSVRow(lines[i], delimiter);\nif (!cols.length) continue;\nconst obj = {};\nfor (let j=0;j<headers.length;j++){\nobj[headers[j]] = (cols[j] ?? \"\").trim();\n}\nrows.push(obj);\n}\nreturn rows;\n}\nfunction truthyFlag(v){\nconst s = String(v ?? \"\").trim().toLowerCase();\nreturn [\"o\",\"oui\",\"y\",\"yes\",\"1\",\"true\",\"x\"].includes(s);\n}\nfunction normalizeKey(k){\nreturn String(k ?? \"\")\n.trim().toLowerCase()\n.replace(/\\s+/g,\"\")\n.replace(/['']/g,\"\");\n}\nfunction getAny(row, keys){\nconst rowKeys = Object.keys(row || {});\nfor (const wanted of keys){\nconst nw = normalizeKey(wanted);\nconst found = rowKeys.find(rk => normalizeKey(rk) === nw);\nif (found) return row[found];\n}\nreturn \"\";\n}\nasync function loadRawFromCSV(){\nconst res = await fetch(TOUR_CSV_URL, { cache:\"no-store\" });\nif (!res.ok) throw new Error(`Impossible de charger le calendrier (HTTP ${res.status})`);\nconst text = await res.text();\nconst objs = csvToObjects(text);\nconst data = [];\nfor (const r of objs){\nconst city    = String(getAny(r, [\"Ville\",\"city\"])).trim();\nconst dateStr = String(getAny(r, [\"Date\",\"date\",\"dateStr\"])).trim();\nconst link    = String(getAny(r, [\"LIEN\",\"link\",\"Lien\"])).trim();\nif (!city || !dateStr || !link) continue;\nconst scolaireVal = String(getAny(r, [\"scolaire O/N\",\"scolaire\",\"scolaireO/N\"])).trim().toLowerCase();\nif (scolaireVal.includes(\"scolaire\")) continue;\nconst soldOut = truthyFlag(getAny(r, [\"Complet\",\"complet\",\"soldout\"]));\nconst isDiner = truthyFlag(getAny(r, [\"Diner O/N\",\"Dîner O/N\",\"dinerO/N\",\"diner\"]));\ndata.push({\ncity: city.replace(/\\s+/g,\" \").trim(),\ndateStr,\nlink,\nsoldOut,\nisDiner\n});\n}\nreturn data;\n}\n/************************************************************\n* INDEX\n************************************************************/\nfunction buildIndexAll(data){\nconst citiesSet = new Set();\nconst sessionsByCityDate = new Map();\nconst cityByDateKey = new Map();\nconst dateKeysAll = new Set();\nfor (const item of data){\ncitiesSet.add(item.city);\ndateKeysAll.add(item.dateKey);\nif (!sessionsByCityDate.has(item.city)) sessionsByCityDate.set(item.city, new Map());\nconst m = sessionsByCityDate.get(item.city);\nif (!m.has(item.dateKey)) m.set(item.dateKey, []);\nm.get(item.dateKey).push({\ndateTime: item.dateTime,\nlink: item.link,\nsoldOut: !!item.soldOut,\nisDiner: !!item.isDiner\n});\nif (!cityByDateKey.has(item.dateKey)){\ncityByDateKey.set(item.dateKey, item.city);\n}\n}\nfor (const cityMap of sessionsByCityDate.values()){\nfor (const sessions of cityMap.values()){\nsessions.sort((a,b)=>a.dateTime - b.dateTime);\n}\n}\nconst cities = [...citiesSet].sort((a,b)=>a.localeCompare(b,\"fr\",{sensitivity:\"base\"}));\nreturn { cities, sessionsByCityDate, cityByDateKey, dateKeysAll };\n}\n/************************************************************\n* DISPONIBILITÉS\n************************************************************/\nfunction hasFutureSession(city, dk, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nif (!sessions) return false;\nreturn sessions.some(s => !s.soldOut && s.dateTime > cutoff);\n}\nfunction cityHasFuture(city, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nif (!cityMap) return false;\nfor (const [dk] of cityMap){\nif (hasFutureSession(city, dk, cutoff)) return true;\n}\nreturn false;\n}\nfunction getNextBookableSessionLink(city, dk, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nif (!sessions) return null;\nconst next = sessions.find(s => !s.soldOut && s.dateTime > cutoff);\nreturn next ? next.link : null;\n}\nfunction calculateAvailableDates(cutoff){\nconst set = new Set();\nif (selectedCity){\nconst cityMap = indexAll.sessionsByCityDate.get(selectedCity);\nif (!cityMap) return set;\nfor (const [dk] of cityMap){\nif (hasFutureSession(selectedCity, dk, cutoff)) set.add(dk);\n}\nreturn set;\n}\nfor (const dk of indexAll.dateKeysAll){\nconst city = indexAll.cityByDateKey.get(dk);\nif (city && hasFutureSession(city, dk, cutoff)) set.add(dk);\n}\nreturn set;\n}\nfunction getAvailableDateKeysSet(cutoff){\nif (!cachedAvailableDates || Math.abs(cutoff - lastCutoffTime) > 300000) {\ncachedAvailableDates = calculateAvailableDates(cutoff);\nlastCutoffTime = cutoff;\n}\nreturn cachedAvailableDates;\n}\nfunction getAvailableMonths(cutoff){\nconst availableKeys = getAvailableDateKeysSet(cutoff);\nconst monthsSet = new Set();\nfor (const dk of availableKeys){\nconst [y, mo] = dk.split(\"-\");\nmonthsSet.add(`${y}-${mo}`);\n}\nreturn [...monthsSet].map(mk => {\nconst [y, m] = mk.split(\"-\").map(Number);\nreturn { y, m0: m - 1 };\n}).sort(cmpMonth);\n}\nfunction ensureCalendarMonthIsUseful(){\nconst cutoff = getCutoff();\nconst months = getAvailableMonths(cutoff);\nif (!months.length) return;\nconst ok = months.some(m => m.y === currentYear && m.m0 === currentMonth);\nif (!ok){\ncurrentYear = months[0].y;\ncurrentMonth = months[0].m0;\n}\n}\nfunction findPrevNextMonths(){\nconst cutoff = getCutoff();\nconst months = getAvailableMonths(cutoff);\nif (!months.length) return { prev:null, next:null };\nconst idx = months.findIndex(m => m.y === currentYear && m.m0 === currentMonth);\nif (idx === -1) return { prev:null, next:null };\nreturn {\nprev: idx > 0 ? months[idx-1] : null,\nnext: idx < months.length-1 ? months[idx+1] : null\n};\n}\nfunction jumpToBestMonthForCity(city){\nconst cutoff = getCutoff();\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nif (!cityMap) return;\nlet best = null;\nfor (const sessions of cityMap.values()){\nconst s = sessions.find(x => !x.soldOut && x.dateTime > cutoff);\nif (s && (!best || s.dateTime < best)) best = s.dateTime;\n}\nif (!best) return;\ncurrentYear = best.getFullYear();\ncurrentMonth = best.getMonth();\n}\nfunction getSortedCities(cutoff){\nif (!sortedCitiesByAvailability) {\nsortedCitiesByAvailability = indexAll.cities.slice().sort((a,b) => {\nconst aPast = !cityHasFuture(a, cutoff);\nconst bPast = !cityHasFuture(b, cutoff);\nif (aPast !== bPast) return aPast - bPast;\nreturn a.localeCompare(b,\"fr\",{sensitivity:\"base\"});\n});\n}\nreturn sortedCitiesByAvailability;\n}\n/************************************************************\n* MODE SWITCHING\n************************************************************/\nfunction switchToSpectacleMode(){\ncurrentMode = \"spectacle\";\n// UI Toggle - synchroniser desktop et mobile\ndocument.getElementById(\"toggle-spectacle\").classList.add(\"active\");\ndocument.getElementById(\"toggle-diner\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-spectacle-mobile\").classList.add(\"active\");\ndocument.getElementById(\"toggle-diner-mobile\").classList.remove(\"active\");\n// Body class for responsive\ndocument.body.classList.add(\"mode-spectacle\");\ndocument.body.classList.remove(\"mode-diner\");\n// Show/Hide fields\ndocument.getElementById(\"spectacle-city-wrapper\").classList.remove(\"is-hidden\");\ndocument.getElementById(\"spectacle-date-wrapper\").classList.remove(\"is-hidden\");\ndocument.getElementById(\"diner-date-wrapper\").classList.add(\"is-hidden\");\n// Reset dîner selection\nselectedDinerSlot = null;\nsetDinerDateValue(\"\");\n// Restaurer les placeholders informatifs si aucune sélection\nrestorePlaceholders();\ncloseAllDropdowns();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\nfunction switchToDinerMode(){\ncurrentMode = \"diner\";\n// UI Toggle - synchroniser desktop et mobile\ndocument.getElementById(\"toggle-spectacle\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-diner\").classList.add(\"active\");\ndocument.getElementById(\"toggle-spectacle-mobile\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-diner-mobile\").classList.add(\"active\");\n// Body class for responsive\ndocument.body.classList.add(\"mode-diner\");\ndocument.body.classList.remove(\"mode-spectacle\");\n// Show/Hide fields\ndocument.getElementById(\"spectacle-city-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"spectacle-date-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"session-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"diner-date-wrapper\").classList.remove(\"is-hidden\");\n// Reset spectacle selections\nselectedCity = null;\nselectedDate = null;\nselectedSession = null;\nsetCityValue(\"\");\nclearDateSelection();\ncloseAllDropdowns();\nrenderDinerDropdown();\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* DÎNER MODE : Dropdown\n************************************************************/\nfunction renderDinerDropdown(){\nconst dropdown = document.getElementById(\"diner-date-dropdown\");\nif (!dropdown) return;\nconst cutoff = getCutoff();\n// Filtrer les dîners disponibles\nconst availableDiners = dinerData\n.filter(item => !item.soldOut && item.dateTime > cutoff)\n.sort((a,b) => a.dateTime - b.dateTime);\nif (!availableDiners.length){\ndropdown.innerHTML = '<div class=\"dropdown-item disabled\">Aucun dîner-spectacle disponible</div>';\nreturn;\n}\ndropdown.innerHTML = availableDiners.map(item => {\nconst isSelected = selectedDinerSlot &&\nselectedDinerSlot.city === item.city &&\nselectedDinerSlot.dateKey === item.dateKey &&\nselectedDinerSlot.dateTime.getTime() === item.dateTime.getTime();\nconst cls = isSelected ? \"dropdown-item selected\" : \"dropdown-item\";\nconst dateStr = item.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"long\",\nday:\"numeric\",\nmonth:\"long\"\n});\nconst timeStr = formatTime(item.dateTime);\nreturn `\n<div class=\"${cls}\" data-city=\"${item.city}\" data-datekey=\"${item.dateKey}\" data-ts=\"${item.dateTime.getTime()}\" role=\"option\" aria-selected=\"${isSelected}\">\n<div class=\"diner-date-item\">\n<span class=\"emoji\">🍴</span>\n<div class=\"diner-date-info\">\n<div class=\"diner-date-main\">${item.city}</div>\n<div class=\"diner-date-city\">${dateStr} à ${timeStr}</div>\n</div>\n</div>\n</div>\n`;\n}).join(\"\");\ndropdown.querySelectorAll('.dropdown-item[data-ts]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nconst city = item.dataset.city;\nconst dk = item.dataset.datekey;\nconst ts = Number(item.dataset.ts);\nconst found = dinerData.find(d =>\nd.city === city &&\nd.dateKey === dk &&\nd.dateTime.getTime() === ts\n);\nif (found){\nselectedDinerSlot = {\ncity: found.city,\ndateKey: found.dateKey,\ndateTime: found.dateTime,\nlink: found.link\n};\nconst displayText = `${found.city} • ${found.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"short\",\nday:\"numeric\",\nmonth:\"short\"\n})}`;\nsetDinerDateValue(displayText);\ncloseAllDropdowns();\nupdateSubmitButton();\n}\n});\n});\n}\n/************************************************************\n* VILLE : dropdown vs typing (MODE SPECTACLE)\n************************************************************/\nfunction enableCityTypingMode({ startValue=null, selectAll=true } = {}){\nconst field = document.getElementById(\"city-field\");\nconst input = document.getElementById(\"city-input\");\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!field || !input || !dropdown) return;\nfield.classList.add(\"typing\");\nfield.setAttribute('aria-expanded', 'true');\nif (startValue !== null) input.value = startValue;\nelse input.value = (input.value || selectedCity || \"\");\ncloseAllDropdowns();\ndropdown.classList.add(\"show\");\nfield.classList.add(\"active\");\nrenderCityDropdown(input.value);\ninput.focus();\nif (selectAll) input.select();\n}\nfunction disableCityTypingMode(){\nconst field = document.getElementById(\"city-field\");\nif (!field) return;\nfield.classList.remove(\"typing\");\nfield.setAttribute('aria-expanded', 'false');\nsetCityValue(selectedCity || \"\");\n}\nfunction renderCityDropdown(filterText=\"\"){\nconst cutoff = getCutoff();\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown) return;\nconst q = (filterText || \"\").trim().toLowerCase();\nconst sorted = getSortedCities(cutoff);\nfilteredCities = q ? sorted.filter(c => c.toLowerCase().includes(q)) : sorted.slice();\nactiveCityIndex = filteredCities.length\n? Math.min(Math.max(activeCityIndex, 0), filteredCities.length-1)\n: -1;\nif (activeCityIndex === -1 && filteredCities.length) activeCityIndex = 0;\ndropdown.innerHTML =\nfilteredCities.map((city,i) => {\nconst isSelected = selectedCity === city;\nconst isPast = !cityHasFuture(city, cutoff);\nconst cls = [\n\"dropdown-item\",\nisSelected ? \"selected\" : \"\",\n(!isSelected && i === activeCityIndex) ? \"active\" : \"\",\n(isPast && !isSelected) ? \"past\" : \"\"\n].filter(Boolean).join(\" \");\nreturn `<div class=\"${cls}\" data-city=\"${city}\" role=\"option\" aria-selected=\"${isSelected}\">${city}</div>`;\n}).join(\"\") || `<div class=\"dropdown-item disabled\" role=\"alert\">Aucune ville trouvée</div>`;\ndropdown.querySelectorAll('.dropdown-item[data-city]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nselectCity(item.dataset.city);\n});\n});\n}\nfunction selectCity(city){\nselectedCity = city;\nsetCityValue(city);\ndisableCityTypingMode();\nsortedCitiesByAvailability = null;\ncachedAvailableDates = null;\nconst cutoff = getCutoff();\nconst past = !cityHasFuture(selectedCity, cutoff);\nif (past){\nclearDateSelection();\nsetPastUI(true);\ncloseAllDropdowns();\nupdateMobileNav();\nreturn;\n}\nsetPastUI(false);\nif (selectedDate){\nconst dk = dateKey(selectedDate);\nif (!hasFutureSession(selectedCity, dk, cutoff)){\nclearDateSelection();\n}\n}\njumpToBestMonthForCity(selectedCity);\ncloseAllDropdowns();\nrenderCalendar();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* CALENDRIER (MODE SPECTACLE)\n************************************************************/\nfunction renderCalendar(){\nconst dropdown = document.getElementById(\"date-dropdown\");\nif (!dropdown) return;\nensureCalendarMonthIsUseful();\nconst { prev, next } = findPrevNextMonths();\nconst cutoff = getCutoff();\nconst availableKeys = getAvailableDateKeysSet(cutoff);\nconst firstDay = new Date(currentYear, currentMonth, 1);\nconst lastDay = new Date(currentYear, currentMonth + 1, 0);\nconst startDayOfWeek = firstDay.getDay() === 0 ? 6 : firstDay.getDay() - 1;\nconst weeks = [];\nlet currentWeek = [];\nfor (let i = 0; i < startDayOfWeek; i++){\ncurrentWeek.push({ empty: true });\n}\nfor (let day = 1; day <= lastDay.getDate(); day++){\nconst dateObj = new Date(currentYear, currentMonth, day);\nconst dk = dateKey(dateObj);\nconst isAvailable = availableKeys.has(dk);\nconst isSelected = selectedDate && dateKey(selectedDate) === dk;\ncurrentWeek.push({\nday,\ndateKey: dk,\nisAvailable,\nisSelected,\nisEmpty: false\n});\nif (currentWeek.length === 7){\nweeks.push(currentWeek);\ncurrentWeek = [];\n}\n}\nif (currentWeek.length > 0){\nwhile (currentWeek.length < 7){\ncurrentWeek.push({ empty: true });\n}\nweeks.push(currentWeek);\n}\nconst weeksWithAvailableDates = weeks.filter(week =>\nweek.some(day => day.isAvailable || day.isSelected)\n);\nconst weeksToShow = weeksWithAvailableDates.length > 0\n? weeksWithAvailableDates\n: weeks;\nlet html = `\n<div class=\"calendar\">\n<div class=\"calendar-header\">\n<button id=\"prev-month\" ${prev ? \"\" : \"disabled\"} aria-label=\"Mois précédent\">‹</button>\n<span>${monthNames[currentMonth]} ${currentYear}</span>\n<button id=\"next-month\" ${next ? \"\" : \"disabled\"} aria-label=\"Mois suivant\">›</button>\n</div>\n<div class=\"calendar-grid\" role=\"grid\">\n<div class=\"calendar-day-header\">Lun</div>\n<div class=\"calendar-day-header\">Mar</div>\n<div class=\"calendar-day-header\">Mer</div>\n<div class=\"calendar-day-header\">Jeu</div>\n<div class=\"calendar-day-header\">Ven</div>\n<div class=\"calendar-day-header\">Sam</div>\n<div class=\"calendar-day-header\">Dim</div>\n`;\nweeksToShow.forEach(week => {\nweek.forEach(dayData => {\nif (dayData.empty){\nhtml += `<div class=\"calendar-day empty\"></div>`;\n} else {\nlet cls = \"calendar-day\";\nif (dayData.isSelected) cls += \" selected\";\nelse if (dayData.isAvailable) cls += \" available\";\nelse cls += \" disabled\";\nhtml += `<div class=\"${cls}\" data-datekey=\"${dayData.dateKey}\" role=\"gridcell\" aria-selected=\"${dayData.isSelected}\">${dayData.day}</div>`;\n}\n});\n});\nhtml += `</div></div>`;\ndropdown.innerHTML = html;\nconst prevBtn = document.getElementById(\"prev-month\");\nconst nextBtn = document.getElementById(\"next-month\");\nif (prevBtn) prevBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!prev) return;\ncurrentYear = prev.y;\ncurrentMonth = prev.m0;\nrenderCalendar();\n});\nif (nextBtn) nextBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!next) return;\ncurrentYear = next.y;\ncurrentMonth = next.m0;\nrenderCalendar();\n});\ndropdown.querySelectorAll(\".calendar-day.available, .calendar-day.selected\").forEach(cell => {\ncell.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dk = cell.dataset.datekey;\nconst [y,m,d] = dk.split(\"-\").map(Number);\nconst wasCityEmpty = !selectedCity;\nselectedDate = new Date(y, m-1, d);\nif (!selectedCity){\nselectedCity = indexAll.cityByDateKey.get(dk) || null;\nsetCityValue(selectedCity || \"\");\ndisableCityTypingMode();\nif (selectedCity) flashCityLinked();\n}\nconst cutoff2 = getCutoff();\nif (selectedCity && !hasFutureSession(selectedCity, dk, cutoff2)){\nclearDateSelection();\nupdateSubmitButton();\nupdateMobileNav();\nreturn;\n}\nsetPastUI(false);\nsetDateDisplay(selectedDate);\ncurrentYear = y;\ncurrentMonth = m-1;\ncloseAllDropdowns();\ncachedAvailableDates = null;\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\nif (wasCityEmpty && selectedCity) flashCityLinked();\n});\n});\n}\n/************************************************************\n* SÉANCES (MODE SPECTACLE)\n************************************************************/\nfunction getSessionsForSelectedDay(){\nif (!selectedCity || !selectedDate || !indexAll) return [];\nconst dk = dateKey(selectedDate);\nconst cityMap = indexAll.sessionsByCityDate.get(selectedCity);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nreturn sessions ? sessions.slice() : [];\n}\nfunction setSessionValue(dt){\nconst el = document.getElementById(\"session-value\");\nif (!el) return;\nel.textContent = dt ? formatTime(dt) : \"--:--\";\n}\nfunction clearSessionSelection(){\nselectedSession = null;\nsetSessionValue(null);\n}\nfunction updateSessionUI(){\nconst wrapper = document.getElementById(\"session-wrapper\");\nconst field = document.getElementById(\"session-field\");\nconst dropdown = document.getElementById(\"session-dropdown\");\nif (!wrapper || !field || !dropdown) return;\nconst sessions = getSessionsForSelectedDay();\nconst hasSession = sessions.length > 0;\nconst isSingleSession = sessions.length === 1; // Une seule séance\nif (!selectedCity || !selectedDate || isPastCityMode || !hasSession){\nwrapper.classList.add(\"is-hidden\");\nclearSessionSelection();\ndropdown.classList.remove(\"show\");\nfield.classList.remove(\"active\");\nfield.classList.remove(\"single-session\");\nwrapper.classList.remove(\"single-session-wrapper\");\nupdateMobileNav();\nreturn;\n}\nwrapper.classList.remove(\"is-hidden\");\n// Ajouter/retirer la classe selon le nombre de séances\nif (isSingleSession) {\nfield.classList.add(\"single-session\");\nfield.style.cursor = \"default\"; // Pas cliquable si une seule séance\nwrapper.classList.add(\"single-session-wrapper\"); // AJOUT\n} else {\nfield.classList.remove(\"single-session\");\nfield.style.cursor = \"pointer\";\nwrapper.classList.remove(\"single-session-wrapper\"); // AJOUT\n}\nconst cutoff = getCutoff();\nlet keep = null;\nif (selectedSession){\nkeep = sessions.find(s => s.dateTime.getTime() === selectedSession.dateTime.getTime());\n}\nconst firstSelectable = sessions.find(s => !s.soldOut && s.dateTime > cutoff) || null;\nif (keep){\nconst keepOk = !keep.soldOut && keep.dateTime > cutoff;\nif (!keepOk && firstSelectable) keep = null;\n}\nconst chosen = keep || firstSelectable || sessions[0] || null;\nselectedSession = chosen ? { ...chosen } : null;\nsetSessionValue(chosen ? chosen.dateTime : null);\ndropdown.innerHTML = sessions.map(s => {\nconst isSelected = selectedSession && s.dateTime.getTime() === selectedSession.dateTime.getTime();\nconst selectable = !s.soldOut && s.dateTime > cutoff;\nconst cls = [\n\"dropdown-item\",\nisSelected ? \"selected\" : \"\",\nselectable ? \"\" : \"disabled\"\n].filter(Boolean).join(\" \");\nconst suffix = s.soldOut ? \" — complet\" : (s.dateTime <= cutoff ? \" — trop tard\" : \"\");\nreturn `<div class=\"${cls}\" data-ts=\"${s.dateTime.getTime()}\" role=\"option\" aria-selected=\"${isSelected}\">${formatTime(s.dateTime)}${suffix}</div>`;\n}).join(\"\");\ndropdown.querySelectorAll('.dropdown-item[data-ts]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nconst ts = Number(item.dataset.ts);\nconst s = sessions.find(x => x.dateTime.getTime() === ts);\nif (!s) return;\nconst selectable = !s.soldOut && s.dateTime > cutoff;\nif (!selectable) return;\nselectedSession = { ...s };\nsetSessionValue(s.dateTime);\ncloseAllDropdowns();\nupdateSubmitButton();\nupdateMobileNav();\n});\n});\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* BOOKING LINK\n************************************************************/\nfunction getBookingLink(){\nif (currentMode === \"diner\"){\nreturn selectedDinerSlot ? selectedDinerSlot.link : null;\n}\n// Mode spectacle\nif (!selectedCity || !selectedDate) return null;\nif (isPastCityMode) return null;\nconst cutoff = getCutoff();\nconst dk = dateKey(selectedDate);\nconst sessions = getSessionsForSelectedDay();\nif (sessions.length > 1){\nif (!selectedSession) return null;\nconst ok = !selectedSession.soldOut && selectedSession.dateTime > cutoff;\nreturn ok ? selectedSession.link : null;\n}\nreturn getNextBookableSessionLink(selectedCity, dk, cutoff);\n}\n/************************************************************\n* EVENTS UI\n************************************************************/\n// Toggle buttons - version desktop\ndocument.getElementById(\"toggle-spectacle\").addEventListener(\"click\", () => {\nif (currentMode !== \"spectacle\") switchToSpectacleMode();\n});\ndocument.getElementById(\"toggle-diner\").addEventListener(\"click\", () => {\nif (currentMode !== \"diner\") switchToDinerMode();\n});\n// Toggle buttons - version mobile\ndocument.getElementById(\"toggle-spectacle-mobile\").addEventListener(\"click\", () => {\nif (currentMode !== \"spectacle\") switchToSpectacleMode();\n});\ndocument.getElementById(\"toggle-diner-mobile\").addEventListener(\"click\", () => {\nif (currentMode !== \"diner\") switchToDinerMode();\n});\n// City field (spectacle mode)\nconst cityField = document.getElementById(\"city-field\");\nconst cityInput = document.getElementById(\"city-input\");\nif (cityField){\ncityField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown) return;\nconst isOpen = dropdown.classList.contains(\"show\");\nconst isTyping = cityField.classList.contains(\"typing\");\nif (isTyping) return;\nif (!isOpen){\ncloseAllDropdowns();\ndropdown.classList.add(\"show\");\ncityField.classList.add(\"active\");\ncityField.setAttribute('aria-expanded', 'true');\nactiveCityIndex = 0;\nrenderCityDropdown(\"\");\n} else {\nenableCityTypingMode({ startValue:\"\", selectAll:false });\n}\n});\ncityField.addEventListener(\"keydown\", (e) => {\nif (cityField.classList.contains(\"typing\")) return;\nconst printable = e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey;\nconst wantsTyping = printable || e.key === \"Backspace\" || e.key === \"Delete\";\nif (e.key === \"Enter\" || e.key === \" \"){\ne.preventDefault();\nconst dropdown = document.getElementById(\"city-dropdown\");\ncloseAllDropdowns();\nif (dropdown){\ndropdown.classList.add(\"show\");\ncityField.classList.add(\"active\");\ncityField.setAttribute('aria-expanded', 'true');\nactiveCityIndex = 0;\nrenderCityDropdown(\"\");\n}\nreturn;\n}\nif (wantsTyping){\ne.preventDefault();\nif (e.key === \"Backspace\" || e.key === \"Delete\"){\nenableCityTypingMode({ startValue:\"\", selectAll:false });\n} else {\nenableCityTypingMode({ startValue:e.key, selectAll:false });\n}\n}\n});\n}\nif (cityInput){\ncityInput.addEventListener(\"input\", (e) => {\nif (!cityField || !cityField.classList.contains(\"typing\")) return;\nclearTimeout(inputTimeout);\ninputTimeout = setTimeout(() => {\nrenderCityDropdown(e.target.value);\n}, 150);\n});\ncityInput.addEventListener(\"keydown\", (e) => {\nif (!cityField || !cityField.classList.contains(\"typing\")) return;\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown || !dropdown.classList.contains(\"show\")) return;\nif (e.key === \"ArrowDown\"){\ne.preventDefault();\nif (!filteredCities.length) return;\nactiveCityIndex = Math.min(activeCityIndex + 1, filteredCities.length - 1);\nrenderCityDropdown(cityInput.value);\n} else if (e.key === \"ArrowUp\"){\ne.preventDefault();\nif (!filteredCities.length) return;\nactiveCityIndex = Math.max(activeCityIndex - 1, 0);\nrenderCityDropdown(cityInput.value);\n} else if (e.key === \"Enter\"){\ne.preventDefault();\nif (filteredCities[activeCityIndex]){\nselectCity(filteredCities[activeCityIndex]);\n}\n} else if (e.key === \"Escape\"){\ncloseAllDropdowns();\ndisableCityTypingMode();\n}\n});\ncityInput.addEventListener(\"blur\", () => {\nconst typed = cityInput.value.trim();\nif (!typed){\ndisableCityTypingMode();\nreturn;\n}\nconst exact = indexAll.cities.find(c => c.toLowerCase() === typed.toLowerCase());\nif (exact){\nif (selectedCity !== exact) selectCity(exact);\nelse disableCityTypingMode();\n} else {\nsetCityValue(selectedCity || \"\");\ndisableCityTypingMode();\n}\n});\n}\n// Date field (spectacle mode)\nconst dateField = document.getElementById(\"date-field\");\nif (dateField){\ndateField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst dropdown = document.getElementById(\"date-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\ndateField.classList.add(\"active\");\nensureCalendarMonthIsUseful();\nrenderCalendar();\n}\n});\n}\n// Diner date field\nconst dinerDateField = document.getElementById(\"diner-date-field\");\nif (dinerDateField){\ndinerDateField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dropdown = document.getElementById(\"diner-date-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\ndinerDateField.classList.add(\"active\");\nrenderDinerDropdown();\n}\n});\n}\n// Session field (spectacle mode)\nconst sessionField = document.getElementById(\"session-field\");\nif (sessionField){\nsessionField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst wrapper = document.getElementById(\"session-wrapper\");\nif (!wrapper || wrapper.classList.contains(\"is-hidden\")) return;\n// Ne pas ouvrir le dropdown s'il n'y a qu'une seule séance\nif (sessionField.classList.contains(\"single-session\")) return;\nconst dropdown = document.getElementById(\"session-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\nupdateSessionUI();\ndropdown.classList.add(\"show\");\nsessionField.classList.add(\"active\");\n}\n});\n}\n// People field\nconst peopleField = document.getElementById(\"people-field\");\nif (peopleField){\npeopleField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst dropdown = document.getElementById(\"people-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\npeopleField.classList.add(\"active\");\n}\n});\n}\ndocument.addEventListener(\"click\", () => {\ncloseAllDropdowns();\ndisableCityTypingMode();\n});\n/************************************************************\n* COUNTERS\n************************************************************/\nfunction updatePeopleDisplay(){\nconst total = adultsCount + childrenCount;\nconst el = document.getElementById(\"people-value\");\nif (!el) return;\nel.textContent = total === 1 ? \"1 personne\" : `${total} pers.`;\n}\nconst adultsMinus = document.getElementById(\"adults-minus\");\nconst adultsPlus = document.getElementById(\"adults-plus\");\nconst childrenMinus = document.getElementById(\"children-minus\");\nconst childrenPlus = document.getElementById(\"children-plus\");\nif (adultsMinus) adultsMinus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (adultsCount > 0){\nadultsCount--;\ndocument.getElementById(\"adults-count\").textContent = adultsCount;\nupdatePeopleDisplay();\n}\n});\nif (adultsPlus) adultsPlus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nadultsCount++;\ndocument.getElementById(\"adults-count\").textContent = adultsCount;\nupdatePeopleDisplay();\n});\nif (childrenMinus) childrenMinus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (childrenCount > 0){\nchildrenCount--;\ndocument.getElementById(\"children-count\").textContent = childrenCount;\nupdatePeopleDisplay();\n}\n});\nif (childrenPlus) childrenPlus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nchildrenCount++;\ndocument.getElementById(\"children-count\").textContent = childrenCount;\nupdatePeopleDisplay();\n});\n/************************************************************\n* SUBMIT BUTTON\n************************************************************/\nfunction updateSubmitButton(){\nconst btn = document.getElementById(\"btn-reserve\");\nif (!btn) return;\nif (currentMode === \"diner\"){\nbtn.disabled = !selectedDinerSlot;\nreturn;\n}\n// Mode spectacle\nif (isPastCityMode){\nbtn.disabled = true;\nreturn;\n}\nif (!selectedCity || !selectedDate){\nbtn.disabled = true;\nreturn;\n}\nconst cutoff = getCutoff();\nconst dk = dateKey(selectedDate);\nconst sessions = getSessionsForSelectedDay();\nif (sessions.length > 1){\nif (!selectedSession){\nbtn.disabled = true;\nreturn;\n}\nconst ok = !selectedSession.soldOut && selectedSession.dateTime > cutoff;\nbtn.disabled = !ok;\nreturn;\n}\nbtn.disabled = !hasFutureSession(selectedCity, dk, cutoff);\n}\nconst btnReserve = document.getElementById(\"btn-reserve\");\nif (btnReserve){\nbtnReserve.addEventListener(\"click\", () => {\nconst link = getBookingLink();\nif (link) window.open(link, \"_blank\");\nelse alert(\"Aucune séance disponible (début dans moins de 30 minutes ou complet).\");\n});\n}\n/************************************************************\n* MOBILE\n************************************************************/\nfunction isMobile(){\nreturn window.matchMedia(\"(max-width: 768px)\").matches ||\n('ontouchstart' in window && window.innerWidth <= 768);\n}\nfunction ensureMobileNav(){\nif (!isMobile()) return;\nconst bar = document.querySelector(\".search-bar\");\nif (!bar) return;\nif (!document.getElementById(\"mobile-nav\")){\nconst nav = document.createElement(\"div\");\nnav.id = \"mobile-nav\";\nnav.innerHTML = `\n<button id=\"mobile-back\" type=\"button\" aria-label=\"Retour\">‹</button>\n<div id=\"mobile-summary\"></div>\n`;\nbar.prepend(nav);\n}\nif (!document.getElementById(\"mobile-next\")){\nconst next = document.createElement(\"button\");\nnext.id = \"mobile-next\";\nnext.type = \"button\";\nnext.textContent = \"Continuer\";\nconst dateFieldWrap = bar.querySelector(\".sf-date\");\nif (dateFieldWrap && dateFieldWrap.nextSibling){\nbar.insertBefore(next, dateFieldWrap.nextSibling);\n} else {\nbar.appendChild(next);\n}\n}\nconst backBtn = document.getElementById(\"mobile-back\");\nconst nextBtn = document.getElementById(\"mobile-next\");\nif (backBtn && !backBtn.dataset.bound){\nbackBtn.dataset.bound = \"1\";\nbackBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nmobileStep = 1;\napplyMobileStep();\ncloseAllDropdowns();\n});\n}\nif (nextBtn && !nextBtn.dataset.bound){\nnextBtn.dataset.bound = \"1\";\nnextBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!(selectedCity && selectedDate) || isPastCityMode) return;\nmobileStep = 2;\napplyMobileStep();\ncloseAllDropdowns();\n});\n}\n}\nfunction removeMobileNav(){\nconst nav = document.getElementById(\"mobile-nav\");\nconst next = document.getElementById(\"mobile-next\");\nif (nav) nav.remove();\nif (next) next.remove();\ndocument.body.classList.remove(\"mobile-step-1\",\"mobile-step-2\");\n}\nfunction applyMobileStep(){\nif (!isMobile()){\nremoveMobileNav();\nreturn;\n}\ndocument.body.classList.toggle(\"mobile-step-1\", mobileStep === 1);\ndocument.body.classList.toggle(\"mobile-step-2\", mobileStep === 2);\nupdateMobileNav();\n}\nfunction updateMobileNav(){\nif (!isMobile()) return;\nensureMobileNav();\nconst nextBtn = document.getElementById(\"mobile-next\");\nconst summary = document.getElementById(\"mobile-summary\");\nconst canProceed = !!(selectedCity && selectedDate && !isPastCityMode);\nif (nextBtn){\nnextBtn.style.display = (mobileStep === 1 && canProceed && currentMode === \"spectacle\") ? \"flex\" : \"none\";\nnextBtn.disabled = !canProceed;\n}\nif (summary){\nconst parts = [];\nif (selectedCity) parts.push(selectedCity);\nif (selectedDate){\nparts.push(\nselectedDate.toLocaleDateString(\"fr-FR\", {\nweekday: \"short\",\nday: \"2-digit\",\nmonth: \"short\"\n})\n);\n}\nconst wrapper = document.getElementById(\"session-wrapper\");\nif (wrapper && !wrapper.classList.contains(\"is-hidden\") && selectedSession){\nparts.push(formatTime(selectedSession.dateTime));\n}\nsummary.textContent = parts.join(\" · \") || \"Retour\";\n}\n}\n/************************************************************\n* DEFAULT NEXT BOOKABLE\n************************************************************/\nfunction findNextBookableOverall(cutoff){\nlet best = null;\nfor (const item of tourData){\nif (!item.soldOut && item.dateTime > cutoff){\nif (!best || item.dateTime < best.dateTime) best = item;\n}\n}\nreturn best;\n}\nfunction findNextBookableDiner(cutoff){\nlet best = null;\nfor (const item of dinerData){\nif (!item.soldOut && item.dateTime > cutoff){\nif (!best || item.dateTime < best.dateTime) best = item;\n}\n}\nreturn best;\n}\n/************************************************************\n* INIT\n************************************************************/\nfunction loadTourData(){\nif (!TOUR_DATA_RAW || !TOUR_DATA_RAW.length) {\nshowEmptyState();\nreturn;\n}\ntourData = TOUR_DATA_RAW.map(item => {\nconst dt = parseFRDateTime(item.dateStr);\nconst dayDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\nreturn {\n...item,\nsoldOut: !!item.soldOut,\nisDiner: !!item.isDiner,\ndateTime: dt,\ndayDate,\ndateKey: dateKey(dayDate)\n};\n});\n// Séparer les dîners\ndinerData = tourData.filter(item => item.isDiner);\nindexAll = buildIndexAll(tourData);\nindexDiner = buildIndexAll(dinerData);\n// Initialiser le mode par défaut\ndocument.body.classList.add(\"mode-spectacle\");\nconst cutoff = getCutoff();\n// Mode spectacle : démarrage sans présélection\nselectedCity = null;\nselectedDate = null;\n// Afficher le prochain spectacle en placeholder (informatif uniquement)\nconst nextShow = findNextBookableOverall(cutoff);\nif (nextShow) {\n// Stocker pour réutilisation lors du switch de mode\nnextShowPlaceholder = {\ncity: nextShow.city,\ndateTime: nextShow.dateTime\n};\nconst cv = document.getElementById(\"city-value\");\nconst dv = document.getElementById(\"date-value\");\nif (cv) {\ncv.textContent = nextShow.city;\ncv.classList.add(\"placeholder\");\n}\nif (dv) {\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\ndv.textContent = isDesktop ? formatDateShort(nextShow.dateTime) : formatDateLong(nextShow.dateTime);\ndv.classList.add(\"placeholder\");\n}\n} else {\nnextShowPlaceholder = null;\nsetCityValue(\"\");\nclearDateSelection();\n}\n// Préparer le mode dîner\nconst nextDiner = findNextBookableDiner(cutoff);\nif (nextDiner){\nselectedDinerSlot = {\ncity: nextDiner.city,\ndateKey: nextDiner.dateKey,\ndateTime: nextDiner.dateTime,\nlink: nextDiner.link\n};\nconst displayText = `${nextDiner.city} • ${nextDiner.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"short\",\nday:\"numeric\",\nmonth:\"short\"\n})}`;\nsetDinerDateValue(displayText);\n}\nensureCalendarMonthIsUseful();\nrenderCityDropdown(\"\");\nrenderCalendar();\nrenderDinerDropdown();\nupdateSessionUI();\nupdatePeopleDisplay();\nupdateSubmitButton();\nif (isMobile()){\nensureMobileNav();\nmobileStep = 1;\napplyMobileStep();\n} else {\nremoveMobileNav();\n}\nupdateMobileNav();\n}\n(async function init(){\ntry{\nTOUR_DATA_RAW = await loadRawFromCSV();\nloadTourData();\n} catch(err){\nconsole.error(err);\nshowError(\"Impossible de charger le calendrier des spectacles. Vérifiez votre connexion ou réessayez plus tard.\");\n}\n})();\nwindow.addEventListener(\"resize\", () => {\nif (isMobile()){\nensureMobileNav();\napplyMobileStep();\nupdateMobileNav();\n} else {\nremoveMobileNav();\n}\n});\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nBILLETTERIE\t\n\n\n\n\t\t\n\n\n\n\nTOUTES LES OFFRES >\n\n\n\n\n.fl-node-jpyu61ak29rg.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\nPlaces et billets\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nVivez en V.I.P\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTarifs réduits\nEn savoir plus >\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTOUS LES TARIFS >\n\n\n\n\n.fl-node-gv6p07lr5caz.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nBILLETTERIE\t\n\n\n\n\t\t\n\n\n\n\nTOUTES LES OFFRES >\n\n\n\n\n.fl-node-ngjrqlo4uk95.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTOUS LES TARIFS >\n\n\n\n\n.fl-node-90gjs45e7uxz.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nEn tournée prés de chez vous\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nDîners Spectacle\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nUN SPECTACLE UNIQUE\t\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n(opens in new tab)\n\n\n\nVisitez le chapiteau >\n\n\n\n\n\t\t\n\n\n\n\nDates des séances\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nLes numéros\nEn savoir plus >\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\t\t\nL'ESSENTIEL\ndes SOUVENIRS du CIRQUE\n\n\nC'est parti pour le shopping. Vètements, affiches, programmes, souvenir et goodies\n\nACCÉDER À LA BOUTIQUE(opens in new tab)\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nENSEMBLE\t\n\n\n\n\t\t\n\n\n\nOFFRES EVENEMENTIELLES >\n\n\n\n\n.fl-node-w47suykxtn1z.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nEN GROUPE\nEnsemble pour partager le show\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nÉCOLES\nLa sortie scolaire la plus folle !\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nENTREPRISE et CSE\nPlace aux évènements professionnels\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nUNE GRANDE HISTOIRE\t\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nARLETTE GRUSS ET SA FAMILLE\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nLa magie du cirque à travers les âges\n\n\n\n\n\n\n\n\n","properties.url.0":"\n\n","properties.url.1":"\n\n","properties.url.2":"\n\n","properties.url.3":"\n\n(opens in new tab)","properties.url.4":"\n\n","properties.url.5":"\n\n","properties.url.6":"\n\n","properties.url.7":"\n\n","properties.url.8":"\n\n","type":"https://schema.org/CreativeWork"},"tagProtocol":1},{"tagData":{"properties.image":"https://cirque-gruss.com/wp-content/uploads/2026/04/title.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-billets-2025-.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-vip-2025.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-tarifs-2025.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2025/02/visite-virtuelle.webp","properties.url":"\n\n(opens in new tab)","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/10/Tous-les-produits-Essentiel-small-280x280.jpg","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-famille-arlette.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-au-travers-des-ages-1980.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"properties.url.0":"\n\n","properties.url.1":"\n\n","type":"http://schema.org/WPFooter"},"tagProtocol":1},{"tagData":{"properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"og:locale":"fr_FR"},"tagProtocol":3},{"tagData":{"og:type":"website"},"tagProtocol":3},{"tagData":{"og:title":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée"},"tagProtocol":3},{"tagData":{"og:description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406"},"tagProtocol":3},{"tagData":{"og:url":"https://www.cirque-gruss.com"},"tagProtocol":3},{"tagData":{"og:site_name":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque"},"tagProtocol":3},{"tagData":{"og:updated_time":"2026-10-09T15:58:07+02:00"},"tagProtocol":3},{"tagData":{"og:image":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg"},"tagProtocol":3},{"tagData":{"og:image:secure_url":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg"},"tagProtocol":3},{"tagData":{"og:image:width":"1200"},"tagProtocol":3},{"tagData":{"og:image:height":"700"},"tagProtocol":3},{"tagData":{"og:image:alt":"cirque"},"tagProtocol":3},{"tagData":{"og:image:type":"image/jpeg"},"tagProtocol":3},{"tagData":{"@context":"https://schema.org","@graph.0.@id":"https://www.cirque-gruss.com/#organization","@graph.0.@type":"Organization","@graph.0.logo.@id":"https://www.cirque-gruss.com/#logo","@graph.0.logo.@type":"ImageObject","@graph.0.logo.caption":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque","@graph.0.logo.contentUrl":"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png","@graph.0.logo.height":"42","@graph.0.logo.inLanguage":"fr-FR","@graph.0.logo.url":"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png","@graph.0.logo.width":"400","@graph.0.name":"Cirque Arlette Gruss","@graph.0.sameAs.0":"https://www.facebook.com/CirqueArletteGrussOfficiel/","@graph.1.@id":"https://www.cirque-gruss.com/#website","@graph.1.@type":"WebSite","@graph.1.inLanguage":"fr-FR","@graph.1.name":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque","@graph.1.potentialAction.@type":"SearchAction","@graph.1.potentialAction.query-input":"required name=search_term_string","@graph.1.potentialAction.target":"https://www.cirque-gruss.com/?s={search_term_string}","@graph.1.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.1.url":"https://www.cirque-gruss.com","@graph.2.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.2.@type":"ImageObject","@graph.2.height":"700","@graph.2.inLanguage":"fr-FR","@graph.2.url":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.2.width":"1200","@graph.3.@id":"https://www.cirque-gruss.com#webpage","@graph.3.@type":"WebPage","@graph.3.about.@id":"https://www.cirque-gruss.com/#organization","@graph.3.dateModified":"2026-10-09T15:58:07+02:00","@graph.3.datePublished":"2026-04-09T12:21:20+02:00","@graph.3.inLanguage":"fr-FR","@graph.3.isPartOf.@id":"https://www.cirque-gruss.com/#website","@graph.3.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.3.primaryImageOfPage.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.3.url":"https://www.cirque-gruss.com","@graph.4.@id":"https://www.cirque-gruss.com#schema-217518","@graph.4.@type":"Article","@graph.4.author.@type":"Person","@graph.4.author.name":"test04","@graph.4.dateModified":"2026-10-09T15:58:07+02:00","@graph.4.datePublished":"2026-04-09T12:21:20+02:00","@graph.4.description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406","@graph.4.headline":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.4.image.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.4.inLanguage":"fr-FR","@graph.4.isPartOf.@id":"https://www.cirque-gruss.com#webpage","@graph.4.mainEntityOfPage.@id":"https://www.cirque-gruss.com#webpage","@graph.4.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.4.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.5.@id":"https://www.cirque-gruss.com#schema-217591","@graph.5.@type":"Article","@graph.5.author.@type":"Person","@graph.5.author.name":"test04","@graph.5.dateModified":"2026-10-09T15:58:07+02:00","@graph.5.datePublished":"2026-04-09T12:21:20+02:00","@graph.5.description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406","@graph.5.headline":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.5.image.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.5.inLanguage":"fr-FR","@graph.5.isPartOf.@id":"https://www.cirque-gruss.com#webpage","@graph.5.mainEntityOfPage.@id":"https://www.cirque-gruss.com#webpage","@graph.5.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.5.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.6.@id":"https://www.cirque-gruss.com#schema-217664","@graph.6.@type":"Article","@graph.6.author.@type":"Person","@graph.6.author.name":"test04","@graph.6.dateModified":"2026-10-09T15:58:07+02:00","@graph.6.datePublished":"2026-04-09T12:21:20+02:00","@graph.6.description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406","@graph.6.headline":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.6.image.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.6.inLanguage":"fr-FR","@graph.6.isPartOf.@id":"https://www.cirque-gruss.com#webpage","@graph.6.mainEntityOfPage.@id":"https://www.cirque-gruss.com#webpage","@graph.6.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.6.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.7.@id":"https://www.cirque-gruss.com#schema-217737","@graph.7.@type":"Article","@graph.7.author.@type":"Person","@graph.7.author.name":"test04","@graph.7.dateModified":"2026-10-09T15:58:07+02:00","@graph.7.datePublished":"2026-04-09T12:21:20+02:00","@graph.7.description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406","@graph.7.headline":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.7.image.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.7.inLanguage":"fr-FR","@graph.7.isPartOf.@id":"https://www.cirque-gruss.com#webpage","@graph.7.mainEntityOfPage.@id":"https://www.cirque-gruss.com#webpage","@graph.7.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.7.publisher.@id":"https://www.cirque-gruss.com/#organization"},"tagProtocol":4},{"tagData":{"meta:viewport":"width=device-width, initial-scale=1"},"tagProtocol":5},{"tagData":{"meta:description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406"},"tagProtocol":5},{"tagData":{"meta:robots":"follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"},"tagProtocol":5},{"tagData":{"meta:twitter:card":"summary_large_image"},"tagProtocol":5},{"tagData":{"meta:twitter:title":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée"},"tagProtocol":5},{"tagData":{"meta:twitter:description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406"},"tagProtocol":5},{"tagData":{"meta:twitter:image":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg"},"tagProtocol":5},{"tagData":{"meta:twitter:label1":"Écrit par"},"tagProtocol":5},{"tagData":{"meta:twitter:data1":"test04"},"tagProtocol":5},{"tagData":{"meta:twitter:label2":"Temps de lecture"},"tagProtocol":5},{"tagData":{"meta:twitter:data2":"Moins d’une minute"},"tagProtocol":5},{"tagData":{"meta:msapplication-TileImage":"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-300x300.png"},"tagProtocol":5},{"tagData":{"meta:viewport":"width=device-width, initial-scale=1.0"},"tagProtocol":5},{"tagData":{"title":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée"},"tagProtocol":5},{"tagData":{"canonicalUrl":"https://www.cirque-gruss.com"},"tagProtocol":6}],"ms":2,"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"]}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{"ctx":{"a":[26,37,45,45,1],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","huah":true,"lc":"488515ac-a3cf-4065-8422-8abd998e8497","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[950,961,619,3123,2412],"pv":2,"r":"27380c3a-198e-4dd8-aa2e-319ddbd0938b","rd":3444,"sa":1791844379219,"sh":745,"si":"2R4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOe2nOSG89YH4Dn7SLU98lCzM2HXqQOxcxNoxgMlgZ37yq1uW0uha8yC84ryC9F5JznaoVIhRWso89gZWEiir2ZjoSXBB5UGVCMk3onOAw6GY7Q2IMuMZ3b0JOL48FLp8pF","sps":1032,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844380254,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/","v":"3.60.0-2608111919"},"req":[{"del":373,"log":{"message":"event_type","name":"TPFA","pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"],"stack":"    at Nt (https://sc-static.net/scevent.min.js:2:6415)\n    at pa (https://sc-static.net/scevent.min.js:2:35167)\n    at ka (https://sc-static.net/scevent.min.js:2:37879)\n    at https://sc-static.net/scevent.min.js:2:39341\n    at https://sc-static.net/scevent.min.js:2:4817\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at s (https://sc-static.net/scevent.min.js:2:4794)\n    at y (https://sc-static.net/scevent.min.js:2:2806)\n    at c.send (https://sc-static.net/scevent.min.js:2:5102)\n    at y (https://sc-static.net/scevent.min.js:2:2806)"}},{"del":285,"md":{"gat":["AW-11241157491","GTM-WGZHD7C"],"md":[{"tagData":{"properties.image.0":"https://cirque-gruss.com/wp-content/uploads/2026/04/title.png","properties.image.1":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-billets-2025-.jpg","properties.image.10":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-au-travers-des-ages-1980.jpg","properties.image.11":"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png","properties.image.2":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-vip-2025.jpg","properties.image.3":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-tarifs-2025.jpg","properties.image.4":"https://www.cirque-gruss.com/assets/uploads/2025/02/visite-virtuelle.webp","properties.image.5":"https://www.cirque-gruss.com/assets/uploads/2026/10/Tous-les-produits-Essentiel-small-280x280.jpg","properties.image.6":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.image.7":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.image.8":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.image.9":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-famille-arlette.jpg","properties.text":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nEN TOURNÉE DANS TOUTE LA FRANCE\n\n\nLA NOUVELLE CRÉATION DU CIRQUE ARLETTE GRUSS\t\n\n\n\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n\n\n.fl-node-8nuz450pxows.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\nNOUVELLE CRÉATION\t\n\nEN TOURNÉE DANS TOUTE LA FRANCE\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n.fl-node-oj30u6v98xbd.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\t\t\n\n\n\n\n\nRéservation - Essentiel\n\n* { margin: 0; padding: 0; box-sizing: border-box; }\n.container {\nmax-width: 730px;\nmargin: 0 auto;\n}\n/* =====================\nTOGGLE SPECTACLE/DÎNER\n===================== */\n.mode-toggle {\ndisplay: flex;\nbackground: rgb(255, 255, 255, 0.2);\nborder-radius: 8px;\nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);\npadding: 0px;\nwidth: -moz-fit-content;\nwidth: fit-content;\nmargin: 0 auto 24px;\ngap: 5px;\n}\n.toggle-option {\npadding: 5px 19px;\nborder-radius: 8px;\ncursor: pointer;\ntransition: all 0.3s ease;\nfont-weight: 600;\nfont-size: 0.9rem;\nline-height: 0.7rem;\ndisplay: flex;\nalign-items: center;\ngap: 8px;\ncolor: #718096;\nbackground: transparent;\nborder: none;\nwhite-space: nowrap;\nposition: relative;\n}\n.toggle-option:hover {\nbackground: #cbd5e0;\n}\n.toggle-option.active {\nbackground: #A5172E; \ncolor: #fff;\nbox-shadow: 0 4px 12px rgba(165, 23, 46, 0.3);\n}\n/* Mode desktop : icônes uniquement, texte au hover */\n@media (min-width: 769px) {\n.toggle-option.active {\nbackground: #fff;\ncolor: #fff;\nbox-shadow: 0px 0px 16px rgba(165, 23, 46, 0.7);\nborder: solid 2px rgba(165, 23, 46, 0.4);\n}\n#mode-toggle-desktop .toggle-option {\npadding: 14px 14px;\nmin-width: 40px;\n}\n.btn-submit {\ncolor: #fff;\nborder: none;\npadding: 14px 14px;\nborder-radius: 8px;\nfont-size: 1rem;\nfont-weight: 600;\nmargin-left:0px;\ntransition: all 0.3s;\nwhite-space: nowrap;\n}\n#mode-toggle-desktop .toggle-option span {\ndisplay: none;\nposition: absolute;\nleft: 50%;\nbottom: -55px;\ntransform: translateX(-50%);\nbackground: darkred;\ncolor: #fff;\npadding: 14px 14px;\nborder-radius: 6px;\nfont-size: 0.85rem;\nwhite-space: nowrap;\nz-index: 1000;\npointer-events: none;\n}\n#mode-toggle-desktop .toggle-option span::before {\ncontent: '';\nposition: absolute;\ntop: -4px;\nleft: 50%;\ntransform: translateX(-50%);\nwidth: 0;\nheight: 0;\nborder-left: 5px solid transparent;\nborder-right: 5px solid transparent;\nborder-bottom: 5px solid #2d3748;\n}\n#mode-toggle-desktop .toggle-option:hover span {\ndisplay: block;\n}\n#mode-toggle-desktop .toggle-option::before {\ncontent: '🎪';\nfont-size: 1.3em;\n}\n#mode-toggle-desktop #toggle-diner::before {\ncontent: '🍽️';\n}\n}\n/* =====================\nSEARCH BAR (base = mobile-first)\n===================== */\n.search-bar {\n/* comme la v2 */\nbackground: #fff;\nborder-radius: 12px;\nbox-shadow: 0 10px 40px rgba(0,0,0,0.5);\npadding: 7px;\ndisplay: flex;\ngap: 7px;\nalign-items: stretch;\nwidth: fit-content;\nmin-width: 300px;\nmargin: 0 auto;           /* centre */\ntransition: all 0.4s ease;\nposition: relative;        /* IMPORTANT : plus de fixed en mobile */\nz-index: 999;              /* (et écris-le en minuscule) */\n}\n.search-field {\nflex: 1;\nmin-width: 0;\nposition: relative;\ntransition: all 0.3s ease;\n}\n.search-field label {\ndisplay: none;\nfont-size: 0.7rem;\ncolor: #718096;\nmargin-bottom: 6px;\nfont-weight: 600;\ntext-transform: uppercase;\nletter-spacing: 0.5px;\n}\n.field-content {\ndisplay: flex;\nalign-items: center;\ngap: 10px;\npadding: 14px 10px;\nborder: 2px solid #e2e8f0;\nborder-radius: 8px;\ncursor: pointer;\ntransition: all 0.3s ease;\nbackground: #fff;\nmax-height: 44px;\n}\n.field-content:hover {\nborder-color: #A5172E;\nbox-shadow: 0 2px 8px rgba(165, 23, 46, 0.10);\n}\n.field-content.active {\nborder-color: #A5172E;\nbox-shadow: 0 0 0 3px rgba(165, 23, 46, 0.10);\n}\n.icon { \nwidth: 22px; \nheight: 22px; \nflex-shrink: 0; \n}\n.field-value {\nflex: 1;\ncolor: #2d3748;\nfont-size: 0.9rem;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n.field-value.placeholder { \ncolor: #a0aec0; \n}\n/* =====================\nDROPDOWN\n===================== */\n.dropdown {\nposition: absolute;\ntop: calc(100% + 8px);\nleft: 0;\nright: 0;\nbackground: #fff;\nborder-radius: 10px;\nbox-shadow: 0 15px 50px rgba(0,0,0,0.15);\nmax-height: 350px;\noverflow-y: auto;\nz-index: 1000;\ndisplay: none;\nborder: 1px solid #e2e8f0;\n}\n.dropdown.show {\ndisplay: block;\nanimation: slideDown 0.2s ease-out;\n}\n@keyframes slideDown {\nfrom { opacity: 0; transform: translateY(-10px); }\nto { opacity: 1; transform: translateY(0); }\n}\n.dropdown-item {\npadding: 12px 16px;\ncursor: pointer;\ntransition: background 0.2s;\ncolor: #2d3748;\nborder-bottom: 1px solid #f7fafc;\n}\n.dropdown-item:last-child { \nborder-bottom: none; \n}\n.dropdown-item:hover { \nbackground: darkred;\ncolor: #fff;\n}\n.dropdown-item.selected { \nbackground: #A5172E; \ncolor: #fff; \n}\n.dropdown-item.disabled {\nopacity: 0.4;\ncursor: not-allowed;\nbackground: #fafafa;\n}\n.dropdown-item.disabled:hover { \nbackground: #fafafa; \ncolor: #2d3748;\n}\n.dropdown-item.past { \nopacity: 0.55; \n}\n.dropdown-item.active { \nbackground: #f7fafc; \n}\n.dropdown-item.active:hover { \nbackground: darkred;\ncolor: #fff;\n}\n/* Scrollbar */\n.dropdown::-webkit-scrollbar { width: 8px; }\n.dropdown::-webkit-scrollbar-track { background: #f7fafc; border-radius: 10px; }\n.dropdown::-webkit-scrollbar-thumb { background: #cbd5e0; border-radius: 10px; }\n.dropdown::-webkit-scrollbar-thumb:hover { background: #A5172E; }\n/* =====================\nCALENDAR\n===================== */\n.calendar { \npadding: 20px; \n}\n.calendar-header {\ndisplay: flex;\njustify-content: space-between;\nalign-items: center;\nmargin-bottom: 20px;\n}\n.calendar-header button {\nbackground: #fff5f5;\nborder: 2px solid;\ncursor: pointer;\npadding: 0px 12px;\ncolor: #A5172E;\nfont-size: 2rem;\nborder-radius: 12px;\ntransition: background 0.2s;\nline-height: 2.4rem;\n}\n.calendar-header button:hover:not(:disabled) { \nbackground: #f7fafc; \n}\n.calendar-header button:disabled { \nopacity: 0.03; \ncursor: not-allowed; \n}\n.calendar-header span {\nfont-weight: 600;\ncolor: #2d3748;\nfont-size: 1rem;\n}\n.calendar-grid { \ndisplay: grid; \ngrid-template-columns: repeat(7, 1fr); \ngap: 6px; \n}\n.calendar-day-header {\ntext-align: center;\nfont-size: 0.7rem;\ncolor: #718096;\npadding: 10px 0;\nfont-weight: 700;\ntext-transform: uppercase;\n}\n.calendar-day {\naspect-ratio: 1;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nborder-radius: 8px;\ncursor: pointer;\nfont-size: 0.9rem;\ncolor: #2d3748;\ntransition: all 0.2s;\nfont-weight: 500;\n}\n.calendar-day:hover:not(.disabled):not(.empty) {\ncolor: #f7fafc;\nbackground: #A5172E;\ntransform: scale(1.05);\n}\n.calendar-day.empty { \ncursor: default; \n}\n.calendar-day.disabled { \ncolor: #cbd5e0; \ncursor: not-allowed; \n}\n.calendar-day.available {\nbackground: #fff5f5;\ncolor: #A5172E;\nfont-weight: 600;\n}\n.calendar-day.available:hover { \nbackground: #A5172E; \ncolor: #fff; \n}\n.calendar-day.selected { \nbackground: #A5172E; \ncolor: #fff; \n}\n/* =====================\nCOUNTER\n===================== */\n.counter-container { \npadding: 14px; \n}\n.counter-row {\njustify-content: space-between;\nalign-items: center;\npadding: 7px 0;\nborder-bottom: 1px solid #f7fafc;\n}\n.counter-row:last-child { \nborder-bottom: none; \n}\n.counter-label {\ncolor: #2d3748;\nfont-weight: 500;\nfont-size: 0.9rem;\n}\n.counter-controls { \ndisplay: flex; \nalign-items: center; \ngap: 1px; \nmargin: 7px; \n}\n.counter-btn {\nheight: 22px;\nborder-radius: 50%;\nborder: 2px solid #A5172E;\nbackground: #fff;\ncolor: #A5172E;\nfont-size: 1.2rem;\ncursor: pointer;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\ntransition: all 0.2s;\nfont-weight: bold;\npadding: 4px;\n}\n.counter-btn:hover:not(:disabled) { \nbackground: #A5172E; \ncolor: #fff; \n}\n.counter-btn:disabled {\nopacity: 0.3;\ncursor: not-allowed;\nborder-color: #cbd5e0;\ncolor: #cbd5e0;\n}\n.counter-value {\nmin-width: 30px;\ntext-align: center;\nfont-weight: 600;\ncolor: #2d3748;\nfont-size: 1rem;\n}\n/* =====================\nBUTTON\n===================== */\n.btn-submit {\nbackground: #A5172E;\ncolor: #fff;\nborder: none;\npadding: 7px 14px;\nborder-radius: 8px;\nfont-size: 1rem;\nfont-weight: 600;\ncursor: pointer;\ntransition: all 0.3s;\nmargin-left: 0px;\nwhite-space: nowrap;\nmax-height:44px;\n}\n.btn-submit:hover {\nbackground: #8a1325;\ntransform: translateY(-2px);\nbox-shadow: 0 8px 20px rgba(165, 23, 46, 0.30);\n}\n.btn-submit:disabled {\nbackground: #cbd5e0;\ncursor: not-allowed;\ntransform: none;\nbox-shadow: none;\n}\n/* =====================\nDISABLED UI\n===================== */\n.field-content.disabled-ui {\nopacity: 0.45;\nfilter: grayscale(1);\n}\n.field-content.disabled-ui:hover {\nborder-color: #e2e8f0;\nbox-shadow: none;\n}\n/* =====================\nDESKTOP WIDTHS\n===================== */\n@media (min-width: 769px) {\n/* Masquer le toggle mobile en desktop */\n#mode-toggle-mobile { display: none; }\n/* Intégrer le toggle dans la barre en desktop */\n#mode-toggle-desktop {\ndisplay: flex;\nmargin: 0;\nbox-shadow: none;\nflex-shrink: 0;\nbackground: rgb(255, 255, 255, 0.2);\nborder: 1px solid rgb(255, 255, 255, 0.2);}\n.sf-city    { flex: 0 0 280px; }\n.sf-date    { flex: 0 0 155px; }\n.sf-session { flex: 0 0 135px; }\n.sf-diner-date { flex: 1; min-width: 300px; max-width: 400px; }\n/* =====================\nMASQUAGE TEMPORAIRE DU CHAMP PERSONNES\n===================== */\n.sf-people {\ndisplay: none !important;\n}\n/* Réduire la largeur quand il y a une seule séance */\n.sf-session.single-session-wrapper { flex: 0 0 100px; }\n#date-dropdown { min-width: 260px; }\n/* ✅ Ton comportement desktop (fix + glass) reste ici */\n.search-bar{\n/*position: fixed;*/\ntop: 27px;\nmin-width: 580px;\nbackground: rgba(255, 255, 255, 0.3);\nborder: 1px solid rgba(255, 255, 255, 0.4);\nbackdrop-filter: blur(14px);\n-webkit-backdrop-filter: blur(14px);\nbox-shadow: 0 10px 40px rgba(0,0,0,0.5);\n}\ndiv#date-field {\npadding: 14px 7px;\n}\n} /* ✅ IMPORTANT : on ferme bien le media query ici */\n/* =====================\nHIDDEN\n===================== */\n.is-hidden { \ndisplay: none !important; \n}\n/* =====================\nCHEVRON\n===================== */\n.chevron {\nwidth: 18px;\nheight: 18px;\nflex-shrink: 0;\ncolor: #A5172E;\nopacity: 0.9;\n}\n/* Masquer le chevron du champ séance quand il n'y a qu'un seul horaire */\n#session-field.single-session .chevron {\ndisplay: none;\n}\n/* =====================\nCITY INPUT MODE\n===================== */\n.city-input {\nflex: 1;\nmin-width: 0;\nborder: none;\noutline: none;\nbackground: transparent;\nfont-size: 0.95rem;\ncolor: #2d3748;\n}\n.city-input::placeholder { \ncolor: #a0aec0; \n}\n#city-field:not(.typing) #city-input { \ndisplay: none; \n}\n#city-field.typing #city-value { \ndisplay: none; \n}\n#city-field.typing #city-input { \ndisplay: block; \nwidth: 100%; \n}\n/* =====================\nMOBILE NAV\n===================== */\n#mobile-nav, #mobile-next { \ndisplay: none; \n}\n/* =====================\nERROR MESSAGE\n===================== */\n.error-container {\ntext-align: center;\npadding: 40px;\nbackground: #fff;\nborder-radius: 12px;\nbox-shadow: 0 10px 40px rgba(0,0,0,0.08);\n}\n.error-container h2 {\ncolor: #A5172E;\nmargin-bottom: 15px;\nfont-size: 1.5rem;\n}\n.error-container p {\ncolor: #2d3748;\nmargin-bottom: 20px;\nline-height: 1.6;\n}\n.error-container a {\ndisplay: inline-block;\nbackground: #A5172E;\ncolor: #fff;\npadding: 12px 24px;\nborder-radius: 8px;\ntext-decoration: none;\nfont-weight: 600;\ntransition: all 0.3s;\n}\n.error-container a:hover {\nbackground: #8a1325;\ntransform: translateY(-2px);\n}\n/* =====================\nMOBILE STYLES\n===================== */\n@media (max-width: 768px) {\n/* Masquer le toggle desktop en mobile */\n#mode-toggle-desktop {\ndisplay: none;\n}\n.mode-toggle {\ndisplay: flex;\nbackground: #fff;\nborder-radius: 40px;\nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\npadding: 8px;\nwidth: -moz-fit-content;\nwidth: fit-content;\nmargin: 0 auto 24px;\ngap: 5px;\n}\n.toggle-option { \nflex: 1;\njustify-content: center;\npadding: 18px 22px;\nborder-radius: 40px;\ncolor: #718096;\nfont-size: 1rem;\n}\n.search-bar { \nflex-direction: column; \nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\nwidth: min(370px, calc(100vw - 24px));\nmargin: 0 auto;\n}\n.search-field label { \ndisplay: none; \n}\n#mobile-nav {\ndisplay: none;\nwidth: 100%;\nalign-items: center;\ngap: 10px;\npadding: 2px 2px 8px;\nmargin-bottom: 2px;\n}\n#date-field .chevron {\ndisplay: block;}\nbody.mobile-step-2 #mobile-nav { \ndisplay: flex; \n}\n#mobile-back {\nwidth: 36px;\nheight: 36px;\nborder-radius: 999px;\nborder: 1px solid #e2e8f0;\nbackground: #fff;\ncolor: #A5172E;\nfont-size: 22px;\nline-height: 1;\ncursor: pointer;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nflex: 0 0 auto;\n}\n#mobile-summary {\nflex: 1;\nmin-width: 0;\ncolor: #2d3748;\nfont-size: 0.92rem;\nfont-weight: 700;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n#mobile-next {\ndisplay: none;\nwidth: 100%;\nmargin-top: 8px;\npadding: 12px 16px;\nborder-radius: 999px;\nborder: 1px solid #e2e8f0;\nbackground: #fff;\ncolor: #A5172E;\nfont-weight: 800;\ncursor: pointer;\njustify-content: center;\n}\nbody.mobile-step-1.mode-spectacle .sf-session,\nbody.mobile-step-1.mode-spectacle #btn-reserve {\ndisplay: none !important;\n}\nbody.mobile-step-2.mode-spectacle .sf-city,\nbody.mobile-step-2.mode-spectacle .sf-date {\ndisplay: none !important;\n}\nbody.mobile-step-2.mode-spectacle .sf-session,\nbody.mobile-step-2.mode-spectacle #btn-reserve {\nwidth: 100%;\n}\nbody.mobile-step-2.mode-spectacle #btn-reserve {\nmargin-left: 0;\nmargin-top: 10px;\n}\n/* Masquage temporaire du nombre de personnes en mobile */\nbody.mode-spectacle .sf-people,\nbody.mode-diner .sf-people {\ndisplay: none !important;\n}\n.btn-submit {\nmargin-left: 0;\nmargin-top: 10px;\nwidth: 100%;\n}\n/* =====================\nDÎNER MODE SPECIFIC\n===================== */\n.diner-date-item {\ndisplay: flex;\nalign-items: center;\ngap: 8px;\n}\n.diner-date-info {\nflex: 1;\n}\n.diner-date-main {\nfont-weight: 600;\ncolor: #2d3748;\ntext-transform: uppercase;\nfont-size: 0.95em;\n}\n.diner-date-city {\nfont-size: 0.85em;\ncolor: #718096;\nmargin-top: 2px;\ntext-transform: uppercase;\n}\n.dropdown-item.selected .diner-date-main,\n.dropdown-item.selected .diner-date-city {\ncolor: #fff;\n}\n.dropdown-item:hover .diner-date-main,\n.dropdown-item:hover .diner-date-city {\ncolor: #fff;\n}\n.hint-flash {\nborder: 3px solid #A5172E !important;\nbox-shadow: 0 0 0 3px rgba(165, 23, 46, 0.12);\n}\n\n\n\n\n\n\n\nSpectacle\n\n\nDîner-Spectacle\n\n\n\n\n‹\nRetour\n\n\n\n\nSpectacle\n\n\nDîner-Spectacle\n\n\n\n\nVille\n\n\n\n\n\nNancy\n\n\n\n\n\nAmiensArrasBordeauxBoulogne sur merDunkerqueLa RochelleLilleMetzNancyParisRouenThionvilleVilleneuve d'ascqAix les bainsAnnecy\n\n\n\nDate\n\n\n\n\nvendredi 16 octobre 2026\n\n\n\n\n\n\n\n\n‹\nOctobre 2026\n›\n\n\nLun\nMar\nMer\nJeu\nVen\nSam\nDim\n1213141516171819202122232425262728293031\nContinuer\n\n\nDate et Lieu\n\n\n\n\nNancy • sam. 24 oct.\n\n\n\n\n\n\n\n\n\nNancy\nsamedi 24 octobre à 20:00\n\n\n\n\n\n\n\n\nParis\nvendredi 11 décembre à 20:30\n\n\n\n\n\n\n\n\nBordeaux\njeudi 31 décembre à 20:00\n\n\n\n\n\n\n\n\nBordeaux\nvendredi 15 janvier à 20:00\n\n\n\n\n\n\n\n\nBordeaux\nsamedi 23 janvier à 20:00\n\n\n\n\n\n\n\n\nRouen\nvendredi 12 février à 20:00\n\n\n\n\n\n\n\n\nLille\nvendredi 12 mars à 20:00\n\n\n\n\n\n\n\nSéance\n\n\n\n\n--:--\n\n\n\n\n\n\n\n\nPersonnes\n\n\n\n\n2 pers.\n\n\n\n\nAdultes\n\n−\n1\n+\n\n\n\nEnfants\n\n−\n1\n+\n\n\n\n\n\n\nOK\n\n\n\n/************************************************************\n* CONFIG\n************************************************************/\nconst TOUR_CSV_URL = \"https://www.cirque-gruss.com/assets/uploads/2026/06/Calendrier-Essentilel-019.xlsx-Essentiel.csv\";\nconst TOUR_URL = \"https://www.cirque-gruss.com/la-tournee\";\nconst BOOKING_CUTOFF_MINUTES = 30;\n/************************************************************\n* STATE\n************************************************************/\nlet TOUR_DATA_RAW = [];\nlet tourData = [];\nlet dinerData = []; // Sous-ensemble avec Dîner O/N\nlet indexAll = null;\nlet indexDiner = null;\nlet currentMode = \"spectacle\"; // \"spectacle\" ou \"diner\"\n// SPECTACLE MODE\nlet selectedCity = null;\nlet selectedDate = null;\nlet selectedSession = null;\n// DÎNER MODE\nlet selectedDinerSlot = null; // { city, dateKey, dateTime, link }\n// COMMON\nlet adultsCount = 1;\nlet childrenCount = 1;\nlet currentMonth = new Date().getMonth();\nlet currentYear = new Date().getFullYear();\nlet filteredCities = [];\nlet activeCityIndex = -1;\nlet isPastCityMode = false;\nlet mobileStep = 1;\n// Placeholder informatif du prochain spectacle\nlet nextShowPlaceholder = null;\n// Cache\nlet sortedCitiesByAvailability = null;\nlet cachedAvailableDates = null;\nlet lastCutoffTime = 0;\nlet inputTimeout = null;\nconst monthNames = [\n\"Janvier\",\"Février\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\n\"Juillet\",\"Août\",\"Septembre\",\"Octobre\",\"Novembre\",\"Décembre\"\n];\n/************************************************************\n* UTILS\n************************************************************/\nfunction pad2(n){ return String(n).padStart(2,\"0\"); }\nfunction getCutoff(){\nreturn new Date(Date.now() + BOOKING_CUTOFF_MINUTES * 60 * 1000);\n}\nfunction parseFRDateTime(dateStr){\nconst [dPart, tPart=\"00:00:00\"] = String(dateStr).split(\" \");\nconst [dd, mm, yyyy] = dPart.split(\"/\").map(Number);\nconst [hh, mi, ss] = tPart.split(\":\").map(Number);\nreturn new Date(yyyy, (mm || 1) - 1, dd || 1, hh || 0, mi || 0, ss || 0);\n}\nfunction dateKey(d){\nreturn `${d.getFullYear()}-${pad2(d.getMonth()+1)}-${pad2(d.getDate())}`;\n}\nfunction cmpMonth(a,b){\nif (a.y !== b.y) return a.y - b.y;\nreturn a.m0 - b.m0;\n}\nfunction formatTime(dt){\nif (!dt) return \"--:--\";\nreturn dt.toLocaleTimeString(\"fr-FR\",{hour:\"2-digit\",minute:\"2-digit\"});\n}\nfunction formatDateLong(dt){\nconst options = { weekday:\"long\", year:\"numeric\", month:\"long\", day:\"numeric\" };\nreturn dt.toLocaleDateString(\"fr-FR\", options);\n}\nfunction formatDateShort(dt){\nconst d = pad2(dt.getDate());\nconst m = pad2(dt.getMonth() + 1);\nconst y = String(dt.getFullYear()).slice(-2);\nreturn `${d}/${m}/${y}`;\n}\n/************************************************************\n* UI HELPERS\n************************************************************/\nfunction setDateDisplay(d){\nconst el = document.getElementById(\"date-value\");\nif (!el) return;\n// Format court en desktop (jj/mm/aa), format long en mobile\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\nel.textContent = isDesktop ? formatDateShort(d) : formatDateLong(d);\nel.classList.remove(\"placeholder\");\n}\nfunction clearDateSelection(){\nselectedDate = null;\nconst el = document.getElementById(\"date-value\");\nif (el){\nel.textContent = \"Choisir une date\";\nel.classList.add(\"placeholder\");\n}\nupdateSessionUI();\n}\nfunction setCityValue(city){\nconst cv = document.getElementById(\"city-value\");\nconst ci = document.getElementById(\"city-input\");\nif (cv) {\nif (city) {\ncv.textContent = city;\ncv.classList.remove(\"placeholder\");\n} else {\ncv.textContent = \"Choisir une ville\";\ncv.classList.add(\"placeholder\");\n}\n}\nif (ci) ci.value = city || \"\";\n}\nfunction restorePlaceholders(){\n// Restaurer les placeholders informatifs du prochain spectacle\nif (nextShowPlaceholder && !selectedCity && !selectedDate) {\nconst cv = document.getElementById(\"city-value\");\nconst dv = document.getElementById(\"date-value\");\nif (cv) {\ncv.textContent = nextShowPlaceholder.city;\ncv.classList.add(\"placeholder\");\n}\nif (dv) {\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\ndv.textContent = isDesktop ? formatDateShort(nextShowPlaceholder.dateTime) : formatDateLong(nextShowPlaceholder.dateTime);\ndv.classList.add(\"placeholder\");\n}\n}\n}\nfunction setDinerDateValue(text){\nconst el = document.getElementById(\"diner-date-value\");\nif (!el) return;\nel.textContent = text || \"Choisir une date\";\nif (text) el.classList.remove(\"placeholder\");\nelse el.classList.add(\"placeholder\");\n}\nfunction closeAllDropdowns(){\ndocument.querySelectorAll(\".dropdown\").forEach(d => d.classList.remove(\"show\"));\ndocument.querySelectorAll(\".field-content\").forEach(f => {\nf.classList.remove(\"active\");\nif (f.getAttribute('role') === 'combobox') {\nf.setAttribute('aria-expanded', 'false');\n}\n});\n}\nfunction flashCityLinked(){\nconst field = document.getElementById(\"city-field\");\nif (!field) return;\nfield.classList.add(\"hint-flash\");\nsetTimeout(() => {\nfield.classList.remove(\"hint-flash\");\n}, 900);\n}\nfunction setPastUI(past){\nisPastCityMode = past;\nconst dateField = document.getElementById(\"date-field\");\nconst peopleField = document.getElementById(\"people-field\");\nconst sessionField = document.getElementById(\"session-field\");\nif (dateField) dateField.classList.toggle(\"disabled-ui\", past);\nif (peopleField) peopleField.classList.toggle(\"disabled-ui\", past);\nif (sessionField) sessionField.classList.toggle(\"disabled-ui\", past);\nif (past) closeAllDropdowns();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\nfunction showError(message){\nconst container = document.querySelector('.container');\nif (!container) return;\ncontainer.innerHTML = `\n<div class=\"error-container\">\n<h2>⚠️ Erreur de chargement</h2>\n<p>${message}</p>\n<a href=\"${TOUR_URL}\">Voir la tournée complète</a>\n</div>\n`;\n}\nfunction showEmptyState(){\nconst container = document.querySelector('.container');\nif (!container) return;\ncontainer.innerHTML = `\n<div class=\"error-container\">\n<h2>📅 Aucune représentation programmée</h2>\n<p>Aucune date n'est disponible pour le moment.<br>Consultez la page de la tournée pour plus d'informations.</p>\n<a href=\"${TOUR_URL}\">Voir la tournée</a>\n</div>\n`;\n}\n/************************************************************\n* CSV PARSER\n************************************************************/\nfunction detectDelimiter(headerLine){\nconst commas = (headerLine.match(/,/g) || []).length;\nconst semis  = (headerLine.match(/;/g) || []).length;\nreturn semis > commas ? \";\" : \",\";\n}\nfunction parseCSVRow(line, delimiter){\nconst out = [];\nlet cur = \"\";\nlet inQuotes = false;\nfor (let i=0;i<line.length;i++){\nconst ch = line[i];\nif (ch === '\"'){\nif (inQuotes && line[i+1] === '\"'){ cur += '\"'; i++; }\nelse inQuotes = !inQuotes;\ncontinue;\n}\nif (!inQuotes && ch === delimiter){\nout.push(cur);\ncur = \"\";\ncontinue;\n}\ncur += ch;\n}\nout.push(cur);\nreturn out.map(v => v.trim());\n}\nfunction csvToObjects(text){\nconst cleaned = text\n.replace(/^\\uFEFF/,\"\")\n.replace(/\\r\\n/g,\"\\n\")\n.replace(/\\r/g,\"\\n\")\n.trim();\nif (!cleaned) return [];\nconst lines = cleaned.split(\"\\n\").filter(l => l.trim().length);\nif (!lines.length) return [];\nconst delimiter = detectDelimiter(lines[0]);\nconst headers = parseCSVRow(lines[0], delimiter);\nconst rows = [];\nfor (let i=1;i<lines.length;i++){\nconst cols = parseCSVRow(lines[i], delimiter);\nif (!cols.length) continue;\nconst obj = {};\nfor (let j=0;j<headers.length;j++){\nobj[headers[j]] = (cols[j] ?? \"\").trim();\n}\nrows.push(obj);\n}\nreturn rows;\n}\nfunction truthyFlag(v){\nconst s = String(v ?? \"\").trim().toLowerCase();\nreturn [\"o\",\"oui\",\"y\",\"yes\",\"1\",\"true\",\"x\"].includes(s);\n}\nfunction normalizeKey(k){\nreturn String(k ?? \"\")\n.trim().toLowerCase()\n.replace(/\\s+/g,\"\")\n.replace(/['']/g,\"\");\n}\nfunction getAny(row, keys){\nconst rowKeys = Object.keys(row || {});\nfor (const wanted of keys){\nconst nw = normalizeKey(wanted);\nconst found = rowKeys.find(rk => normalizeKey(rk) === nw);\nif (found) return row[found];\n}\nreturn \"\";\n}\nasync function loadRawFromCSV(){\nconst res = await fetch(TOUR_CSV_URL, { cache:\"no-store\" });\nif (!res.ok) throw new Error(`Impossible de charger le calendrier (HTTP ${res.status})`);\nconst text = await res.text();\nconst objs = csvToObjects(text);\nconst data = [];\nfor (const r of objs){\nconst city    = String(getAny(r, [\"Ville\",\"city\"])).trim();\nconst dateStr = String(getAny(r, [\"Date\",\"date\",\"dateStr\"])).trim();\nconst link    = String(getAny(r, [\"LIEN\",\"link\",\"Lien\"])).trim();\nif (!city || !dateStr || !link) continue;\nconst scolaireVal = String(getAny(r, [\"scolaire O/N\",\"scolaire\",\"scolaireO/N\"])).trim().toLowerCase();\nif (scolaireVal.includes(\"scolaire\")) continue;\nconst soldOut = truthyFlag(getAny(r, [\"Complet\",\"complet\",\"soldout\"]));\nconst isDiner = truthyFlag(getAny(r, [\"Diner O/N\",\"Dîner O/N\",\"dinerO/N\",\"diner\"]));\ndata.push({\ncity: city.replace(/\\s+/g,\" \").trim(),\ndateStr,\nlink,\nsoldOut,\nisDiner\n});\n}\nreturn data;\n}\n/************************************************************\n* INDEX\n************************************************************/\nfunction buildIndexAll(data){\nconst citiesSet = new Set();\nconst sessionsByCityDate = new Map();\nconst cityByDateKey = new Map();\nconst dateKeysAll = new Set();\nfor (const item of data){\ncitiesSet.add(item.city);\ndateKeysAll.add(item.dateKey);\nif (!sessionsByCityDate.has(item.city)) sessionsByCityDate.set(item.city, new Map());\nconst m = sessionsByCityDate.get(item.city);\nif (!m.has(item.dateKey)) m.set(item.dateKey, []);\nm.get(item.dateKey).push({\ndateTime: item.dateTime,\nlink: item.link,\nsoldOut: !!item.soldOut,\nisDiner: !!item.isDiner\n});\nif (!cityByDateKey.has(item.dateKey)){\ncityByDateKey.set(item.dateKey, item.city);\n}\n}\nfor (const cityMap of sessionsByCityDate.values()){\nfor (const sessions of cityMap.values()){\nsessions.sort((a,b)=>a.dateTime - b.dateTime);\n}\n}\nconst cities = [...citiesSet].sort((a,b)=>a.localeCompare(b,\"fr\",{sensitivity:\"base\"}));\nreturn { cities, sessionsByCityDate, cityByDateKey, dateKeysAll };\n}\n/************************************************************\n* DISPONIBILITÉS\n************************************************************/\nfunction hasFutureSession(city, dk, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nif (!sessions) return false;\nreturn sessions.some(s => !s.soldOut && s.dateTime > cutoff);\n}\nfunction cityHasFuture(city, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nif (!cityMap) return false;\nfor (const [dk] of cityMap){\nif (hasFutureSession(city, dk, cutoff)) return true;\n}\nreturn false;\n}\nfunction getNextBookableSessionLink(city, dk, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nif (!sessions) return null;\nconst next = sessions.find(s => !s.soldOut && s.dateTime > cutoff);\nreturn next ? next.link : null;\n}\nfunction calculateAvailableDates(cutoff){\nconst set = new Set();\nif (selectedCity){\nconst cityMap = indexAll.sessionsByCityDate.get(selectedCity);\nif (!cityMap) return set;\nfor (const [dk] of cityMap){\nif (hasFutureSession(selectedCity, dk, cutoff)) set.add(dk);\n}\nreturn set;\n}\nfor (const dk of indexAll.dateKeysAll){\nconst city = indexAll.cityByDateKey.get(dk);\nif (city && hasFutureSession(city, dk, cutoff)) set.add(dk);\n}\nreturn set;\n}\nfunction getAvailableDateKeysSet(cutoff){\nif (!cachedAvailableDates || Math.abs(cutoff - lastCutoffTime) > 300000) {\ncachedAvailableDates = calculateAvailableDates(cutoff);\nlastCutoffTime = cutoff;\n}\nreturn cachedAvailableDates;\n}\nfunction getAvailableMonths(cutoff){\nconst availableKeys = getAvailableDateKeysSet(cutoff);\nconst monthsSet = new Set();\nfor (const dk of availableKeys){\nconst [y, mo] = dk.split(\"-\");\nmonthsSet.add(`${y}-${mo}`);\n}\nreturn [...monthsSet].map(mk => {\nconst [y, m] = mk.split(\"-\").map(Number);\nreturn { y, m0: m - 1 };\n}).sort(cmpMonth);\n}\nfunction ensureCalendarMonthIsUseful(){\nconst cutoff = getCutoff();\nconst months = getAvailableMonths(cutoff);\nif (!months.length) return;\nconst ok = months.some(m => m.y === currentYear && m.m0 === currentMonth);\nif (!ok){\ncurrentYear = months[0].y;\ncurrentMonth = months[0].m0;\n}\n}\nfunction findPrevNextMonths(){\nconst cutoff = getCutoff();\nconst months = getAvailableMonths(cutoff);\nif (!months.length) return { prev:null, next:null };\nconst idx = months.findIndex(m => m.y === currentYear && m.m0 === currentMonth);\nif (idx === -1) return { prev:null, next:null };\nreturn {\nprev: idx > 0 ? months[idx-1] : null,\nnext: idx < months.length-1 ? months[idx+1] : null\n};\n}\nfunction jumpToBestMonthForCity(city){\nconst cutoff = getCutoff();\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nif (!cityMap) return;\nlet best = null;\nfor (const sessions of cityMap.values()){\nconst s = sessions.find(x => !x.soldOut && x.dateTime > cutoff);\nif (s && (!best || s.dateTime < best)) best = s.dateTime;\n}\nif (!best) return;\ncurrentYear = best.getFullYear();\ncurrentMonth = best.getMonth();\n}\nfunction getSortedCities(cutoff){\nif (!sortedCitiesByAvailability) {\nsortedCitiesByAvailability = indexAll.cities.slice().sort((a,b) => {\nconst aPast = !cityHasFuture(a, cutoff);\nconst bPast = !cityHasFuture(b, cutoff);\nif (aPast !== bPast) return aPast - bPast;\nreturn a.localeCompare(b,\"fr\",{sensitivity:\"base\"});\n});\n}\nreturn sortedCitiesByAvailability;\n}\n/************************************************************\n* MODE SWITCHING\n************************************************************/\nfunction switchToSpectacleMode(){\ncurrentMode = \"spectacle\";\n// UI Toggle - synchroniser desktop et mobile\ndocument.getElementById(\"toggle-spectacle\").classList.add(\"active\");\ndocument.getElementById(\"toggle-diner\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-spectacle-mobile\").classList.add(\"active\");\ndocument.getElementById(\"toggle-diner-mobile\").classList.remove(\"active\");\n// Body class for responsive\ndocument.body.classList.add(\"mode-spectacle\");\ndocument.body.classList.remove(\"mode-diner\");\n// Show/Hide fields\ndocument.getElementById(\"spectacle-city-wrapper\").classList.remove(\"is-hidden\");\ndocument.getElementById(\"spectacle-date-wrapper\").classList.remove(\"is-hidden\");\ndocument.getElementById(\"diner-date-wrapper\").classList.add(\"is-hidden\");\n// Reset dîner selection\nselectedDinerSlot = null;\nsetDinerDateValue(\"\");\n// Restaurer les placeholders informatifs si aucune sélection\nrestorePlaceholders();\ncloseAllDropdowns();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\nfunction switchToDinerMode(){\ncurrentMode = \"diner\";\n// UI Toggle - synchroniser desktop et mobile\ndocument.getElementById(\"toggle-spectacle\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-diner\").classList.add(\"active\");\ndocument.getElementById(\"toggle-spectacle-mobile\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-diner-mobile\").classList.add(\"active\");\n// Body class for responsive\ndocument.body.classList.add(\"mode-diner\");\ndocument.body.classList.remove(\"mode-spectacle\");\n// Show/Hide fields\ndocument.getElementById(\"spectacle-city-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"spectacle-date-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"session-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"diner-date-wrapper\").classList.remove(\"is-hidden\");\n// Reset spectacle selections\nselectedCity = null;\nselectedDate = null;\nselectedSession = null;\nsetCityValue(\"\");\nclearDateSelection();\ncloseAllDropdowns();\nrenderDinerDropdown();\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* DÎNER MODE : Dropdown\n************************************************************/\nfunction renderDinerDropdown(){\nconst dropdown = document.getElementById(\"diner-date-dropdown\");\nif (!dropdown) return;\nconst cutoff = getCutoff();\n// Filtrer les dîners disponibles\nconst availableDiners = dinerData\n.filter(item => !item.soldOut && item.dateTime > cutoff)\n.sort((a,b) => a.dateTime - b.dateTime);\nif (!availableDiners.length){\ndropdown.innerHTML = '<div class=\"dropdown-item disabled\">Aucun dîner-spectacle disponible</div>';\nreturn;\n}\ndropdown.innerHTML = availableDiners.map(item => {\nconst isSelected = selectedDinerSlot &&\nselectedDinerSlot.city === item.city &&\nselectedDinerSlot.dateKey === item.dateKey &&\nselectedDinerSlot.dateTime.getTime() === item.dateTime.getTime();\nconst cls = isSelected ? \"dropdown-item selected\" : \"dropdown-item\";\nconst dateStr = item.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"long\",\nday:\"numeric\",\nmonth:\"long\"\n});\nconst timeStr = formatTime(item.dateTime);\nreturn `\n<div class=\"${cls}\" data-city=\"${item.city}\" data-datekey=\"${item.dateKey}\" data-ts=\"${item.dateTime.getTime()}\" role=\"option\" aria-selected=\"${isSelected}\">\n<div class=\"diner-date-item\">\n<span class=\"emoji\">🍴</span>\n<div class=\"diner-date-info\">\n<div class=\"diner-date-main\">${item.city}</div>\n<div class=\"diner-date-city\">${dateStr} à ${timeStr}</div>\n</div>\n</div>\n</div>\n`;\n}).join(\"\");\ndropdown.querySelectorAll('.dropdown-item[data-ts]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nconst city = item.dataset.city;\nconst dk = item.dataset.datekey;\nconst ts = Number(item.dataset.ts);\nconst found = dinerData.find(d =>\nd.city === city &&\nd.dateKey === dk &&\nd.dateTime.getTime() === ts\n);\nif (found){\nselectedDinerSlot = {\ncity: found.city,\ndateKey: found.dateKey,\ndateTime: found.dateTime,\nlink: found.link\n};\nconst displayText = `${found.city} • ${found.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"short\",\nday:\"numeric\",\nmonth:\"short\"\n})}`;\nsetDinerDateValue(displayText);\ncloseAllDropdowns();\nupdateSubmitButton();\n}\n});\n});\n}\n/************************************************************\n* VILLE : dropdown vs typing (MODE SPECTACLE)\n************************************************************/\nfunction enableCityTypingMode({ startValue=null, selectAll=true } = {}){\nconst field = document.getElementById(\"city-field\");\nconst input = document.getElementById(\"city-input\");\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!field || !input || !dropdown) return;\nfield.classList.add(\"typing\");\nfield.setAttribute('aria-expanded', 'true');\nif (startValue !== null) input.value = startValue;\nelse input.value = (input.value || selectedCity || \"\");\ncloseAllDropdowns();\ndropdown.classList.add(\"show\");\nfield.classList.add(\"active\");\nrenderCityDropdown(input.value);\ninput.focus();\nif (selectAll) input.select();\n}\nfunction disableCityTypingMode(){\nconst field = document.getElementById(\"city-field\");\nif (!field) return;\nfield.classList.remove(\"typing\");\nfield.setAttribute('aria-expanded', 'false');\nsetCityValue(selectedCity || \"\");\n}\nfunction renderCityDropdown(filterText=\"\"){\nconst cutoff = getCutoff();\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown) return;\nconst q = (filterText || \"\").trim().toLowerCase();\nconst sorted = getSortedCities(cutoff);\nfilteredCities = q ? sorted.filter(c => c.toLowerCase().includes(q)) : sorted.slice();\nactiveCityIndex = filteredCities.length\n? Math.min(Math.max(activeCityIndex, 0), filteredCities.length-1)\n: -1;\nif (activeCityIndex === -1 && filteredCities.length) activeCityIndex = 0;\ndropdown.innerHTML =\nfilteredCities.map((city,i) => {\nconst isSelected = selectedCity === city;\nconst isPast = !cityHasFuture(city, cutoff);\nconst cls = [\n\"dropdown-item\",\nisSelected ? \"selected\" : \"\",\n(!isSelected && i === activeCityIndex) ? \"active\" : \"\",\n(isPast && !isSelected) ? \"past\" : \"\"\n].filter(Boolean).join(\" \");\nreturn `<div class=\"${cls}\" data-city=\"${city}\" role=\"option\" aria-selected=\"${isSelected}\">${city}</div>`;\n}).join(\"\") || `<div class=\"dropdown-item disabled\" role=\"alert\">Aucune ville trouvée</div>`;\ndropdown.querySelectorAll('.dropdown-item[data-city]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nselectCity(item.dataset.city);\n});\n});\n}\nfunction selectCity(city){\nselectedCity = city;\nsetCityValue(city);\ndisableCityTypingMode();\nsortedCitiesByAvailability = null;\ncachedAvailableDates = null;\nconst cutoff = getCutoff();\nconst past = !cityHasFuture(selectedCity, cutoff);\nif (past){\nclearDateSelection();\nsetPastUI(true);\ncloseAllDropdowns();\nupdateMobileNav();\nreturn;\n}\nsetPastUI(false);\nif (selectedDate){\nconst dk = dateKey(selectedDate);\nif (!hasFutureSession(selectedCity, dk, cutoff)){\nclearDateSelection();\n}\n}\njumpToBestMonthForCity(selectedCity);\ncloseAllDropdowns();\nrenderCalendar();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* CALENDRIER (MODE SPECTACLE)\n************************************************************/\nfunction renderCalendar(){\nconst dropdown = document.getElementById(\"date-dropdown\");\nif (!dropdown) return;\nensureCalendarMonthIsUseful();\nconst { prev, next } = findPrevNextMonths();\nconst cutoff = getCutoff();\nconst availableKeys = getAvailableDateKeysSet(cutoff);\nconst firstDay = new Date(currentYear, currentMonth, 1);\nconst lastDay = new Date(currentYear, currentMonth + 1, 0);\nconst startDayOfWeek = firstDay.getDay() === 0 ? 6 : firstDay.getDay() - 1;\nconst weeks = [];\nlet currentWeek = [];\nfor (let i = 0; i < startDayOfWeek; i++){\ncurrentWeek.push({ empty: true });\n}\nfor (let day = 1; day <= lastDay.getDate(); day++){\nconst dateObj = new Date(currentYear, currentMonth, day);\nconst dk = dateKey(dateObj);\nconst isAvailable = availableKeys.has(dk);\nconst isSelected = selectedDate && dateKey(selectedDate) === dk;\ncurrentWeek.push({\nday,\ndateKey: dk,\nisAvailable,\nisSelected,\nisEmpty: false\n});\nif (currentWeek.length === 7){\nweeks.push(currentWeek);\ncurrentWeek = [];\n}\n}\nif (currentWeek.length > 0){\nwhile (currentWeek.length < 7){\ncurrentWeek.push({ empty: true });\n}\nweeks.push(currentWeek);\n}\nconst weeksWithAvailableDates = weeks.filter(week =>\nweek.some(day => day.isAvailable || day.isSelected)\n);\nconst weeksToShow = weeksWithAvailableDates.length > 0\n? weeksWithAvailableDates\n: weeks;\nlet html = `\n<div class=\"calendar\">\n<div class=\"calendar-header\">\n<button id=\"prev-month\" ${prev ? \"\" : \"disabled\"} aria-label=\"Mois précédent\">‹</button>\n<span>${monthNames[currentMonth]} ${currentYear}</span>\n<button id=\"next-month\" ${next ? \"\" : \"disabled\"} aria-label=\"Mois suivant\">›</button>\n</div>\n<div class=\"calendar-grid\" role=\"grid\">\n<div class=\"calendar-day-header\">Lun</div>\n<div class=\"calendar-day-header\">Mar</div>\n<div class=\"calendar-day-header\">Mer</div>\n<div class=\"calendar-day-header\">Jeu</div>\n<div class=\"calendar-day-header\">Ven</div>\n<div class=\"calendar-day-header\">Sam</div>\n<div class=\"calendar-day-header\">Dim</div>\n`;\nweeksToShow.forEach(week => {\nweek.forEach(dayData => {\nif (dayData.empty){\nhtml += `<div class=\"calendar-day empty\"></div>`;\n} else {\nlet cls = \"calendar-day\";\nif (dayData.isSelected) cls += \" selected\";\nelse if (dayData.isAvailable) cls += \" available\";\nelse cls += \" disabled\";\nhtml += `<div class=\"${cls}\" data-datekey=\"${dayData.dateKey}\" role=\"gridcell\" aria-selected=\"${dayData.isSelected}\">${dayData.day}</div>`;\n}\n});\n});\nhtml += `</div></div>`;\ndropdown.innerHTML = html;\nconst prevBtn = document.getElementById(\"prev-month\");\nconst nextBtn = document.getElementById(\"next-month\");\nif (prevBtn) prevBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!prev) return;\ncurrentYear = prev.y;\ncurrentMonth = prev.m0;\nrenderCalendar();\n});\nif (nextBtn) nextBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!next) return;\ncurrentYear = next.y;\ncurrentMonth = next.m0;\nrenderCalendar();\n});\ndropdown.querySelectorAll(\".calendar-day.available, .calendar-day.selected\").forEach(cell => {\ncell.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dk = cell.dataset.datekey;\nconst [y,m,d] = dk.split(\"-\").map(Number);\nconst wasCityEmpty = !selectedCity;\nselectedDate = new Date(y, m-1, d);\nif (!selectedCity){\nselectedCity = indexAll.cityByDateKey.get(dk) || null;\nsetCityValue(selectedCity || \"\");\ndisableCityTypingMode();\nif (selectedCity) flashCityLinked();\n}\nconst cutoff2 = getCutoff();\nif (selectedCity && !hasFutureSession(selectedCity, dk, cutoff2)){\nclearDateSelection();\nupdateSubmitButton();\nupdateMobileNav();\nreturn;\n}\nsetPastUI(false);\nsetDateDisplay(selectedDate);\ncurrentYear = y;\ncurrentMonth = m-1;\ncloseAllDropdowns();\ncachedAvailableDates = null;\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\nif (wasCityEmpty && selectedCity) flashCityLinked();\n});\n});\n}\n/************************************************************\n* SÉANCES (MODE SPECTACLE)\n************************************************************/\nfunction getSessionsForSelectedDay(){\nif (!selectedCity || !selectedDate || !indexAll) return [];\nconst dk = dateKey(selectedDate);\nconst cityMap = indexAll.sessionsByCityDate.get(selectedCity);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nreturn sessions ? sessions.slice() : [];\n}\nfunction setSessionValue(dt){\nconst el = document.getElementById(\"session-value\");\nif (!el) return;\nel.textContent = dt ? formatTime(dt) : \"--:--\";\n}\nfunction clearSessionSelection(){\nselectedSession = null;\nsetSessionValue(null);\n}\nfunction updateSessionUI(){\nconst wrapper = document.getElementById(\"session-wrapper\");\nconst field = document.getElementById(\"session-field\");\nconst dropdown = document.getElementById(\"session-dropdown\");\nif (!wrapper || !field || !dropdown) return;\nconst sessions = getSessionsForSelectedDay();\nconst hasSession = sessions.length > 0;\nconst isSingleSession = sessions.length === 1; // Une seule séance\nif (!selectedCity || !selectedDate || isPastCityMode || !hasSession){\nwrapper.classList.add(\"is-hidden\");\nclearSessionSelection();\ndropdown.classList.remove(\"show\");\nfield.classList.remove(\"active\");\nfield.classList.remove(\"single-session\");\nwrapper.classList.remove(\"single-session-wrapper\");\nupdateMobileNav();\nreturn;\n}\nwrapper.classList.remove(\"is-hidden\");\n// Ajouter/retirer la classe selon le nombre de séances\nif (isSingleSession) {\nfield.classList.add(\"single-session\");\nfield.style.cursor = \"default\"; // Pas cliquable si une seule séance\nwrapper.classList.add(\"single-session-wrapper\"); // AJOUT\n} else {\nfield.classList.remove(\"single-session\");\nfield.style.cursor = \"pointer\";\nwrapper.classList.remove(\"single-session-wrapper\"); // AJOUT\n}\nconst cutoff = getCutoff();\nlet keep = null;\nif (selectedSession){\nkeep = sessions.find(s => s.dateTime.getTime() === selectedSession.dateTime.getTime());\n}\nconst firstSelectable = sessions.find(s => !s.soldOut && s.dateTime > cutoff) || null;\nif (keep){\nconst keepOk = !keep.soldOut && keep.dateTime > cutoff;\nif (!keepOk && firstSelectable) keep = null;\n}\nconst chosen = keep || firstSelectable || sessions[0] || null;\nselectedSession = chosen ? { ...chosen } : null;\nsetSessionValue(chosen ? chosen.dateTime : null);\ndropdown.innerHTML = sessions.map(s => {\nconst isSelected = selectedSession && s.dateTime.getTime() === selectedSession.dateTime.getTime();\nconst selectable = !s.soldOut && s.dateTime > cutoff;\nconst cls = [\n\"dropdown-item\",\nisSelected ? \"selected\" : \"\",\nselectable ? \"\" : \"disabled\"\n].filter(Boolean).join(\" \");\nconst suffix = s.soldOut ? \" — complet\" : (s.dateTime <= cutoff ? \" — trop tard\" : \"\");\nreturn `<div class=\"${cls}\" data-ts=\"${s.dateTime.getTime()}\" role=\"option\" aria-selected=\"${isSelected}\">${formatTime(s.dateTime)}${suffix}</div>`;\n}).join(\"\");\ndropdown.querySelectorAll('.dropdown-item[data-ts]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nconst ts = Number(item.dataset.ts);\nconst s = sessions.find(x => x.dateTime.getTime() === ts);\nif (!s) return;\nconst selectable = !s.soldOut && s.dateTime > cutoff;\nif (!selectable) return;\nselectedSession = { ...s };\nsetSessionValue(s.dateTime);\ncloseAllDropdowns();\nupdateSubmitButton();\nupdateMobileNav();\n});\n});\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* BOOKING LINK\n************************************************************/\nfunction getBookingLink(){\nif (currentMode === \"diner\"){\nreturn selectedDinerSlot ? selectedDinerSlot.link : null;\n}\n// Mode spectacle\nif (!selectedCity || !selectedDate) return null;\nif (isPastCityMode) return null;\nconst cutoff = getCutoff();\nconst dk = dateKey(selectedDate);\nconst sessions = getSessionsForSelectedDay();\nif (sessions.length > 1){\nif (!selectedSession) return null;\nconst ok = !selectedSession.soldOut && selectedSession.dateTime > cutoff;\nreturn ok ? selectedSession.link : null;\n}\nreturn getNextBookableSessionLink(selectedCity, dk, cutoff);\n}\n/************************************************************\n* EVENTS UI\n************************************************************/\n// Toggle buttons - version desktop\ndocument.getElementById(\"toggle-spectacle\").addEventListener(\"click\", () => {\nif (currentMode !== \"spectacle\") switchToSpectacleMode();\n});\ndocument.getElementById(\"toggle-diner\").addEventListener(\"click\", () => {\nif (currentMode !== \"diner\") switchToDinerMode();\n});\n// Toggle buttons - version mobile\ndocument.getElementById(\"toggle-spectacle-mobile\").addEventListener(\"click\", () => {\nif (currentMode !== \"spectacle\") switchToSpectacleMode();\n});\ndocument.getElementById(\"toggle-diner-mobile\").addEventListener(\"click\", () => {\nif (currentMode !== \"diner\") switchToDinerMode();\n});\n// City field (spectacle mode)\nconst cityField = document.getElementById(\"city-field\");\nconst cityInput = document.getElementById(\"city-input\");\nif (cityField){\ncityField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown) return;\nconst isOpen = dropdown.classList.contains(\"show\");\nconst isTyping = cityField.classList.contains(\"typing\");\nif (isTyping) return;\nif (!isOpen){\ncloseAllDropdowns();\ndropdown.classList.add(\"show\");\ncityField.classList.add(\"active\");\ncityField.setAttribute('aria-expanded', 'true');\nactiveCityIndex = 0;\nrenderCityDropdown(\"\");\n} else {\nenableCityTypingMode({ startValue:\"\", selectAll:false });\n}\n});\ncityField.addEventListener(\"keydown\", (e) => {\nif (cityField.classList.contains(\"typing\")) return;\nconst printable = e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey;\nconst wantsTyping = printable || e.key === \"Backspace\" || e.key === \"Delete\";\nif (e.key === \"Enter\" || e.key === \" \"){\ne.preventDefault();\nconst dropdown = document.getElementById(\"city-dropdown\");\ncloseAllDropdowns();\nif (dropdown){\ndropdown.classList.add(\"show\");\ncityField.classList.add(\"active\");\ncityField.setAttribute('aria-expanded', 'true');\nactiveCityIndex = 0;\nrenderCityDropdown(\"\");\n}\nreturn;\n}\nif (wantsTyping){\ne.preventDefault();\nif (e.key === \"Backspace\" || e.key === \"Delete\"){\nenableCityTypingMode({ startValue:\"\", selectAll:false });\n} else {\nenableCityTypingMode({ startValue:e.key, selectAll:false });\n}\n}\n});\n}\nif (cityInput){\ncityInput.addEventListener(\"input\", (e) => {\nif (!cityField || !cityField.classList.contains(\"typing\")) return;\nclearTimeout(inputTimeout);\ninputTimeout = setTimeout(() => {\nrenderCityDropdown(e.target.value);\n}, 150);\n});\ncityInput.addEventListener(\"keydown\", (e) => {\nif (!cityField || !cityField.classList.contains(\"typing\")) return;\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown || !dropdown.classList.contains(\"show\")) return;\nif (e.key === \"ArrowDown\"){\ne.preventDefault();\nif (!filteredCities.length) return;\nactiveCityIndex = Math.min(activeCityIndex + 1, filteredCities.length - 1);\nrenderCityDropdown(cityInput.value);\n} else if (e.key === \"ArrowUp\"){\ne.preventDefault();\nif (!filteredCities.length) return;\nactiveCityIndex = Math.max(activeCityIndex - 1, 0);\nrenderCityDropdown(cityInput.value);\n} else if (e.key === \"Enter\"){\ne.preventDefault();\nif (filteredCities[activeCityIndex]){\nselectCity(filteredCities[activeCityIndex]);\n}\n} else if (e.key === \"Escape\"){\ncloseAllDropdowns();\ndisableCityTypingMode();\n}\n});\ncityInput.addEventListener(\"blur\", () => {\nconst typed = cityInput.value.trim();\nif (!typed){\ndisableCityTypingMode();\nreturn;\n}\nconst exact = indexAll.cities.find(c => c.toLowerCase() === typed.toLowerCase());\nif (exact){\nif (selectedCity !== exact) selectCity(exact);\nelse disableCityTypingMode();\n} else {\nsetCityValue(selectedCity || \"\");\ndisableCityTypingMode();\n}\n});\n}\n// Date field (spectacle mode)\nconst dateField = document.getElementById(\"date-field\");\nif (dateField){\ndateField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst dropdown = document.getElementById(\"date-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\ndateField.classList.add(\"active\");\nensureCalendarMonthIsUseful();\nrenderCalendar();\n}\n});\n}\n// Diner date field\nconst dinerDateField = document.getElementById(\"diner-date-field\");\nif (dinerDateField){\ndinerDateField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dropdown = document.getElementById(\"diner-date-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\ndinerDateField.classList.add(\"active\");\nrenderDinerDropdown();\n}\n});\n}\n// Session field (spectacle mode)\nconst sessionField = document.getElementById(\"session-field\");\nif (sessionField){\nsessionField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst wrapper = document.getElementById(\"session-wrapper\");\nif (!wrapper || wrapper.classList.contains(\"is-hidden\")) return;\n// Ne pas ouvrir le dropdown s'il n'y a qu'une seule séance\nif (sessionField.classList.contains(\"single-session\")) return;\nconst dropdown = document.getElementById(\"session-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\nupdateSessionUI();\ndropdown.classList.add(\"show\");\nsessionField.classList.add(\"active\");\n}\n});\n}\n// People field\nconst peopleField = document.getElementById(\"people-field\");\nif (peopleField){\npeopleField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst dropdown = document.getElementById(\"people-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\npeopleField.classList.add(\"active\");\n}\n});\n}\ndocument.addEventListener(\"click\", () => {\ncloseAllDropdowns();\ndisableCityTypingMode();\n});\n/************************************************************\n* COUNTERS\n************************************************************/\nfunction updatePeopleDisplay(){\nconst total = adultsCount + childrenCount;\nconst el = document.getElementById(\"people-value\");\nif (!el) return;\nel.textContent = total === 1 ? \"1 personne\" : `${total} pers.`;\n}\nconst adultsMinus = document.getElementById(\"adults-minus\");\nconst adultsPlus = document.getElementById(\"adults-plus\");\nconst childrenMinus = document.getElementById(\"children-minus\");\nconst childrenPlus = document.getElementById(\"children-plus\");\nif (adultsMinus) adultsMinus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (adultsCount > 0){\nadultsCount--;\ndocument.getElementById(\"adults-count\").textContent = adultsCount;\nupdatePeopleDisplay();\n}\n});\nif (adultsPlus) adultsPlus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nadultsCount++;\ndocument.getElementById(\"adults-count\").textContent = adultsCount;\nupdatePeopleDisplay();\n});\nif (childrenMinus) childrenMinus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (childrenCount > 0){\nchildrenCount--;\ndocument.getElementById(\"children-count\").textContent = childrenCount;\nupdatePeopleDisplay();\n}\n});\nif (childrenPlus) childrenPlus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nchildrenCount++;\ndocument.getElementById(\"children-count\").textContent = childrenCount;\nupdatePeopleDisplay();\n});\n/************************************************************\n* SUBMIT BUTTON\n************************************************************/\nfunction updateSubmitButton(){\nconst btn = document.getElementById(\"btn-reserve\");\nif (!btn) return;\nif (currentMode === \"diner\"){\nbtn.disabled = !selectedDinerSlot;\nreturn;\n}\n// Mode spectacle\nif (isPastCityMode){\nbtn.disabled = true;\nreturn;\n}\nif (!selectedCity || !selectedDate){\nbtn.disabled = true;\nreturn;\n}\nconst cutoff = getCutoff();\nconst dk = dateKey(selectedDate);\nconst sessions = getSessionsForSelectedDay();\nif (sessions.length > 1){\nif (!selectedSession){\nbtn.disabled = true;\nreturn;\n}\nconst ok = !selectedSession.soldOut && selectedSession.dateTime > cutoff;\nbtn.disabled = !ok;\nreturn;\n}\nbtn.disabled = !hasFutureSession(selectedCity, dk, cutoff);\n}\nconst btnReserve = document.getElementById(\"btn-reserve\");\nif (btnReserve){\nbtnReserve.addEventListener(\"click\", () => {\nconst link = getBookingLink();\nif (link) window.open(link, \"_blank\");\nelse alert(\"Aucune séance disponible (début dans moins de 30 minutes ou complet).\");\n});\n}\n/************************************************************\n* MOBILE\n************************************************************/\nfunction isMobile(){\nreturn window.matchMedia(\"(max-width: 768px)\").matches ||\n('ontouchstart' in window && window.innerWidth <= 768);\n}\nfunction ensureMobileNav(){\nif (!isMobile()) return;\nconst bar = document.querySelector(\".search-bar\");\nif (!bar) return;\nif (!document.getElementById(\"mobile-nav\")){\nconst nav = document.createElement(\"div\");\nnav.id = \"mobile-nav\";\nnav.innerHTML = `\n<button id=\"mobile-back\" type=\"button\" aria-label=\"Retour\">‹</button>\n<div id=\"mobile-summary\"></div>\n`;\nbar.prepend(nav);\n}\nif (!document.getElementById(\"mobile-next\")){\nconst next = document.createElement(\"button\");\nnext.id = \"mobile-next\";\nnext.type = \"button\";\nnext.textContent = \"Continuer\";\nconst dateFieldWrap = bar.querySelector(\".sf-date\");\nif (dateFieldWrap && dateFieldWrap.nextSibling){\nbar.insertBefore(next, dateFieldWrap.nextSibling);\n} else {\nbar.appendChild(next);\n}\n}\nconst backBtn = document.getElementById(\"mobile-back\");\nconst nextBtn = document.getElementById(\"mobile-next\");\nif (backBtn && !backBtn.dataset.bound){\nbackBtn.dataset.bound = \"1\";\nbackBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nmobileStep = 1;\napplyMobileStep();\ncloseAllDropdowns();\n});\n}\nif (nextBtn && !nextBtn.dataset.bound){\nnextBtn.dataset.bound = \"1\";\nnextBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!(selectedCity && selectedDate) || isPastCityMode) return;\nmobileStep = 2;\napplyMobileStep();\ncloseAllDropdowns();\n});\n}\n}\nfunction removeMobileNav(){\nconst nav = document.getElementById(\"mobile-nav\");\nconst next = document.getElementById(\"mobile-next\");\nif (nav) nav.remove();\nif (next) next.remove();\ndocument.body.classList.remove(\"mobile-step-1\",\"mobile-step-2\");\n}\nfunction applyMobileStep(){\nif (!isMobile()){\nremoveMobileNav();\nreturn;\n}\ndocument.body.classList.toggle(\"mobile-step-1\", mobileStep === 1);\ndocument.body.classList.toggle(\"mobile-step-2\", mobileStep === 2);\nupdateMobileNav();\n}\nfunction updateMobileNav(){\nif (!isMobile()) return;\nensureMobileNav();\nconst nextBtn = document.getElementById(\"mobile-next\");\nconst summary = document.getElementById(\"mobile-summary\");\nconst canProceed = !!(selectedCity && selectedDate && !isPastCityMode);\nif (nextBtn){\nnextBtn.style.display = (mobileStep === 1 && canProceed && currentMode === \"spectacle\") ? \"flex\" : \"none\";\nnextBtn.disabled = !canProceed;\n}\nif (summary){\nconst parts = [];\nif (selectedCity) parts.push(selectedCity);\nif (selectedDate){\nparts.push(\nselectedDate.toLocaleDateString(\"fr-FR\", {\nweekday: \"short\",\nday: \"2-digit\",\nmonth: \"short\"\n})\n);\n}\nconst wrapper = document.getElementById(\"session-wrapper\");\nif (wrapper && !wrapper.classList.contains(\"is-hidden\") && selectedSession){\nparts.push(formatTime(selectedSession.dateTime));\n}\nsummary.textContent = parts.join(\" · \") || \"Retour\";\n}\n}\n/************************************************************\n* DEFAULT NEXT BOOKABLE\n************************************************************/\nfunction findNextBookableOverall(cutoff){\nlet best = null;\nfor (const item of tourData){\nif (!item.soldOut && item.dateTime > cutoff){\nif (!best || item.dateTime < best.dateTime) best = item;\n}\n}\nreturn best;\n}\nfunction findNextBookableDiner(cutoff){\nlet best = null;\nfor (const item of dinerData){\nif (!item.soldOut && item.dateTime > cutoff){\nif (!best || item.dateTime < best.dateTime) best = item;\n}\n}\nreturn best;\n}\n/************************************************************\n* INIT\n************************************************************/\nfunction loadTourData(){\nif (!TOUR_DATA_RAW || !TOUR_DATA_RAW.length) {\nshowEmptyState();\nreturn;\n}\ntourData = TOUR_DATA_RAW.map(item => {\nconst dt = parseFRDateTime(item.dateStr);\nconst dayDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\nreturn {\n...item,\nsoldOut: !!item.soldOut,\nisDiner: !!item.isDiner,\ndateTime: dt,\ndayDate,\ndateKey: dateKey(dayDate)\n};\n});\n// Séparer les dîners\ndinerData = tourData.filter(item => item.isDiner);\nindexAll = buildIndexAll(tourData);\nindexDiner = buildIndexAll(dinerData);\n// Initialiser le mode par défaut\ndocument.body.classList.add(\"mode-spectacle\");\nconst cutoff = getCutoff();\n// Mode spectacle : démarrage sans présélection\nselectedCity = null;\nselectedDate = null;\n// Afficher le prochain spectacle en placeholder (informatif uniquement)\nconst nextShow = findNextBookableOverall(cutoff);\nif (nextShow) {\n// Stocker pour réutilisation lors du switch de mode\nnextShowPlaceholder = {\ncity: nextShow.city,\ndateTime: nextShow.dateTime\n};\nconst cv = document.getElementById(\"city-value\");\nconst dv = document.getElementById(\"date-value\");\nif (cv) {\ncv.textContent = nextShow.city;\ncv.classList.add(\"placeholder\");\n}\nif (dv) {\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\ndv.textContent = isDesktop ? formatDateShort(nextShow.dateTime) : formatDateLong(nextShow.dateTime);\ndv.classList.add(\"placeholder\");\n}\n} else {\nnextShowPlaceholder = null;\nsetCityValue(\"\");\nclearDateSelection();\n}\n// Préparer le mode dîner\nconst nextDiner = findNextBookableDiner(cutoff);\nif (nextDiner){\nselectedDinerSlot = {\ncity: nextDiner.city,\ndateKey: nextDiner.dateKey,\ndateTime: nextDiner.dateTime,\nlink: nextDiner.link\n};\nconst displayText = `${nextDiner.city} • ${nextDiner.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"short\",\nday:\"numeric\",\nmonth:\"short\"\n})}`;\nsetDinerDateValue(displayText);\n}\nensureCalendarMonthIsUseful();\nrenderCityDropdown(\"\");\nrenderCalendar();\nrenderDinerDropdown();\nupdateSessionUI();\nupdatePeopleDisplay();\nupdateSubmitButton();\nif (isMobile()){\nensureMobileNav();\nmobileStep = 1;\napplyMobileStep();\n} else {\nremoveMobileNav();\n}\nupdateMobileNav();\n}\n(async function init(){\ntry{\nTOUR_DATA_RAW = await loadRawFromCSV();\nloadTourData();\n} catch(err){\nconsole.error(err);\nshowError(\"Impossible de charger le calendrier des spectacles. Vérifiez votre connexion ou réessayez plus tard.\");\n}\n})();\nwindow.addEventListener(\"resize\", () => {\nif (isMobile()){\nensureMobileNav();\napplyMobileStep();\nupdateMobileNav();\n} else {\nremoveMobileNav();\n}\n});\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nBILLETTERIE\t\n\n\n\n\t\t\n\n\n\n\nTOUTES LES OFFRES >\n\n\n\n\n.fl-node-jpyu61ak29rg.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\nPlaces et billets\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nVivez en V.I.P\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTarifs réduits\nEn savoir plus >\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTOUS LES TARIFS >\n\n\n\n\n.fl-node-gv6p07lr5caz.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nBILLETTERIE\t\n\n\n\n\t\t\n\n\n\n\nTOUTES LES OFFRES >\n\n\n\n\n.fl-node-ngjrqlo4uk95.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTOUS LES TARIFS >\n\n\n\n\n.fl-node-90gjs45e7uxz.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nEn tournée prés de chez vous\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nDîners Spectacle\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nUN SPECTACLE UNIQUE\t\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n(opens in new tab)\n\n\n\nVisitez le chapiteau >\n\n\n\n\n\t\t\n\n\n\n\nDates des séances\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nLes numéros\nEn savoir plus >\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\t\t\nL'ESSENTIEL\ndes SOUVENIRS du CIRQUE\n\n\nC'est parti pour le shopping. Vètements, affiches, programmes, souvenir et goodies\n\nACCÉDER À LA BOUTIQUE(opens in new tab)\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nENSEMBLE\t\n\n\n\n\t\t\n\n\n\nOFFRES EVENEMENTIELLES >\n\n\n\n\n.fl-node-w47suykxtn1z.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nEN GROUPE\nEnsemble pour partager le show\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nÉCOLES\nLa sortie scolaire la plus folle !\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nENTREPRISE et CSE\nPlace aux évènements professionnels\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nUNE GRANDE HISTOIRE\t\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nARLETTE GRUSS ET SA FAMILLE\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nLa magie du cirque à travers les âges\n\n\n\n\n\n\n\n\n","properties.url.0":"\n\n","properties.url.1":"\n\n","properties.url.10":"\n\n","properties.url.2":"\n\n","properties.url.3":"\n\n(opens in new tab)","properties.url.4":"\n\n","properties.url.5":"\n\n","properties.url.6":"\n\n","properties.url.7":"\n\n","properties.url.8":"\n\n","properties.url.9":"\n\n","type":"https://schema.org/WebPage"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/WPHeader"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/Organization"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/Organization"},"tagProtocol":1},{"tagData":{"properties.image.0":"https://cirque-gruss.com/wp-content/uploads/2026/04/title.png","properties.image.1":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-billets-2025-.jpg","properties.image.10":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-au-travers-des-ages-1980.jpg","properties.image.2":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-vip-2025.jpg","properties.image.3":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-tarifs-2025.jpg","properties.image.4":"https://www.cirque-gruss.com/assets/uploads/2025/02/visite-virtuelle.webp","properties.image.5":"https://www.cirque-gruss.com/assets/uploads/2026/10/Tous-les-produits-Essentiel-small-280x280.jpg","properties.image.6":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.image.7":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.image.8":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.image.9":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-famille-arlette.jpg","properties.text":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nEN TOURNÉE DANS TOUTE LA FRANCE\n\n\nLA NOUVELLE CRÉATION DU CIRQUE ARLETTE GRUSS\t\n\n\n\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n\n\n.fl-node-8nuz450pxows.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\nNOUVELLE CRÉATION\t\n\nEN TOURNÉE DANS TOUTE LA FRANCE\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n.fl-node-oj30u6v98xbd.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\t\t\n\n\n\n\n\nRéservation - Essentiel\n\n* { margin: 0; padding: 0; box-sizing: border-box; }\n.container {\nmax-width: 730px;\nmargin: 0 auto;\n}\n/* =====================\nTOGGLE SPECTACLE/DÎNER\n===================== */\n.mode-toggle {\ndisplay: flex;\nbackground: rgb(255, 255, 255, 0.2);\nborder-radius: 8px;\nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);\npadding: 0px;\nwidth: -moz-fit-content;\nwidth: fit-content;\nmargin: 0 auto 24px;\ngap: 5px;\n}\n.toggle-option {\npadding: 5px 19px;\nborder-radius: 8px;\ncursor: pointer;\ntransition: all 0.3s ease;\nfont-weight: 600;\nfont-size: 0.9rem;\nline-height: 0.7rem;\ndisplay: flex;\nalign-items: center;\ngap: 8px;\ncolor: #718096;\nbackground: transparent;\nborder: none;\nwhite-space: nowrap;\nposition: relative;\n}\n.toggle-option:hover {\nbackground: #cbd5e0;\n}\n.toggle-option.active {\nbackground: #A5172E; \ncolor: #fff;\nbox-shadow: 0 4px 12px rgba(165, 23, 46, 0.3);\n}\n/* Mode desktop : icônes uniquement, texte au hover */\n@media (min-width: 769px) {\n.toggle-option.active {\nbackground: #fff;\ncolor: #fff;\nbox-shadow: 0px 0px 16px rgba(165, 23, 46, 0.7);\nborder: solid 2px rgba(165, 23, 46, 0.4);\n}\n#mode-toggle-desktop .toggle-option {\npadding: 14px 14px;\nmin-width: 40px;\n}\n.btn-submit {\ncolor: #fff;\nborder: none;\npadding: 14px 14px;\nborder-radius: 8px;\nfont-size: 1rem;\nfont-weight: 600;\nmargin-left:0px;\ntransition: all 0.3s;\nwhite-space: nowrap;\n}\n#mode-toggle-desktop .toggle-option span {\ndisplay: none;\nposition: absolute;\nleft: 50%;\nbottom: -55px;\ntransform: translateX(-50%);\nbackground: darkred;\ncolor: #fff;\npadding: 14px 14px;\nborder-radius: 6px;\nfont-size: 0.85rem;\nwhite-space: nowrap;\nz-index: 1000;\npointer-events: none;\n}\n#mode-toggle-desktop .toggle-option span::before {\ncontent: '';\nposition: absolute;\ntop: -4px;\nleft: 50%;\ntransform: translateX(-50%);\nwidth: 0;\nheight: 0;\nborder-left: 5px solid transparent;\nborder-right: 5px solid transparent;\nborder-bottom: 5px solid #2d3748;\n}\n#mode-toggle-desktop .toggle-option:hover span {\ndisplay: block;\n}\n#mode-toggle-desktop .toggle-option::before {\ncontent: '🎪';\nfont-size: 1.3em;\n}\n#mode-toggle-desktop #toggle-diner::before {\ncontent: '🍽️';\n}\n}\n/* =====================\nSEARCH BAR (base = mobile-first)\n===================== */\n.search-bar {\n/* comme la v2 */\nbackground: #fff;\nborder-radius: 12px;\nbox-shadow: 0 10px 40px rgba(0,0,0,0.5);\npadding: 7px;\ndisplay: flex;\ngap: 7px;\nalign-items: stretch;\nwidth: fit-content;\nmin-width: 300px;\nmargin: 0 auto;           /* centre */\ntransition: all 0.4s ease;\nposition: relative;        /* IMPORTANT : plus de fixed en mobile */\nz-index: 999;              /* (et écris-le en minuscule) */\n}\n.search-field {\nflex: 1;\nmin-width: 0;\nposition: relative;\ntransition: all 0.3s ease;\n}\n.search-field label {\ndisplay: none;\nfont-size: 0.7rem;\ncolor: #718096;\nmargin-bottom: 6px;\nfont-weight: 600;\ntext-transform: uppercase;\nletter-spacing: 0.5px;\n}\n.field-content {\ndisplay: flex;\nalign-items: center;\ngap: 10px;\npadding: 14px 10px;\nborder: 2px solid #e2e8f0;\nborder-radius: 8px;\ncursor: pointer;\ntransition: all 0.3s ease;\nbackground: #fff;\nmax-height: 44px;\n}\n.field-content:hover {\nborder-color: #A5172E;\nbox-shadow: 0 2px 8px rgba(165, 23, 46, 0.10);\n}\n.field-content.active {\nborder-color: #A5172E;\nbox-shadow: 0 0 0 3px rgba(165, 23, 46, 0.10);\n}\n.icon { \nwidth: 22px; \nheight: 22px; \nflex-shrink: 0; \n}\n.field-value {\nflex: 1;\ncolor: #2d3748;\nfont-size: 0.9rem;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n.field-value.placeholder { \ncolor: #a0aec0; \n}\n/* =====================\nDROPDOWN\n===================== */\n.dropdown {\nposition: absolute;\ntop: calc(100% + 8px);\nleft: 0;\nright: 0;\nbackground: #fff;\nborder-radius: 10px;\nbox-shadow: 0 15px 50px rgba(0,0,0,0.15);\nmax-height: 350px;\noverflow-y: auto;\nz-index: 1000;\ndisplay: none;\nborder: 1px solid #e2e8f0;\n}\n.dropdown.show {\ndisplay: block;\nanimation: slideDown 0.2s ease-out;\n}\n@keyframes slideDown {\nfrom { opacity: 0; transform: translateY(-10px); }\nto { opacity: 1; transform: translateY(0); }\n}\n.dropdown-item {\npadding: 12px 16px;\ncursor: pointer;\ntransition: background 0.2s;\ncolor: #2d3748;\nborder-bottom: 1px solid #f7fafc;\n}\n.dropdown-item:last-child { \nborder-bottom: none; \n}\n.dropdown-item:hover { \nbackground: darkred;\ncolor: #fff;\n}\n.dropdown-item.selected { \nbackground: #A5172E; \ncolor: #fff; \n}\n.dropdown-item.disabled {\nopacity: 0.4;\ncursor: not-allowed;\nbackground: #fafafa;\n}\n.dropdown-item.disabled:hover { \nbackground: #fafafa; \ncolor: #2d3748;\n}\n.dropdown-item.past { \nopacity: 0.55; \n}\n.dropdown-item.active { \nbackground: #f7fafc; \n}\n.dropdown-item.active:hover { \nbackground: darkred;\ncolor: #fff;\n}\n/* Scrollbar */\n.dropdown::-webkit-scrollbar { width: 8px; }\n.dropdown::-webkit-scrollbar-track { background: #f7fafc; border-radius: 10px; }\n.dropdown::-webkit-scrollbar-thumb { background: #cbd5e0; border-radius: 10px; }\n.dropdown::-webkit-scrollbar-thumb:hover { background: #A5172E; }\n/* =====================\nCALENDAR\n===================== */\n.calendar { \npadding: 20px; \n}\n.calendar-header {\ndisplay: flex;\njustify-content: space-between;\nalign-items: center;\nmargin-bottom: 20px;\n}\n.calendar-header button {\nbackground: #fff5f5;\nborder: 2px solid;\ncursor: pointer;\npadding: 0px 12px;\ncolor: #A5172E;\nfont-size: 2rem;\nborder-radius: 12px;\ntransition: background 0.2s;\nline-height: 2.4rem;\n}\n.calendar-header button:hover:not(:disabled) { \nbackground: #f7fafc; \n}\n.calendar-header button:disabled { \nopacity: 0.03; \ncursor: not-allowed; \n}\n.calendar-header span {\nfont-weight: 600;\ncolor: #2d3748;\nfont-size: 1rem;\n}\n.calendar-grid { \ndisplay: grid; \ngrid-template-columns: repeat(7, 1fr); \ngap: 6px; \n}\n.calendar-day-header {\ntext-align: center;\nfont-size: 0.7rem;\ncolor: #718096;\npadding: 10px 0;\nfont-weight: 700;\ntext-transform: uppercase;\n}\n.calendar-day {\naspect-ratio: 1;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nborder-radius: 8px;\ncursor: pointer;\nfont-size: 0.9rem;\ncolor: #2d3748;\ntransition: all 0.2s;\nfont-weight: 500;\n}\n.calendar-day:hover:not(.disabled):not(.empty) {\ncolor: #f7fafc;\nbackground: #A5172E;\ntransform: scale(1.05);\n}\n.calendar-day.empty { \ncursor: default; \n}\n.calendar-day.disabled { \ncolor: #cbd5e0; \ncursor: not-allowed; \n}\n.calendar-day.available {\nbackground: #fff5f5;\ncolor: #A5172E;\nfont-weight: 600;\n}\n.calendar-day.available:hover { \nbackground: #A5172E; \ncolor: #fff; \n}\n.calendar-day.selected { \nbackground: #A5172E; \ncolor: #fff; \n}\n/* =====================\nCOUNTER\n===================== */\n.counter-container { \npadding: 14px; \n}\n.counter-row {\njustify-content: space-between;\nalign-items: center;\npadding: 7px 0;\nborder-bottom: 1px solid #f7fafc;\n}\n.counter-row:last-child { \nborder-bottom: none; \n}\n.counter-label {\ncolor: #2d3748;\nfont-weight: 500;\nfont-size: 0.9rem;\n}\n.counter-controls { \ndisplay: flex; \nalign-items: center; \ngap: 1px; \nmargin: 7px; \n}\n.counter-btn {\nheight: 22px;\nborder-radius: 50%;\nborder: 2px solid #A5172E;\nbackground: #fff;\ncolor: #A5172E;\nfont-size: 1.2rem;\ncursor: pointer;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\ntransition: all 0.2s;\nfont-weight: bold;\npadding: 4px;\n}\n.counter-btn:hover:not(:disabled) { \nbackground: #A5172E; \ncolor: #fff; \n}\n.counter-btn:disabled {\nopacity: 0.3;\ncursor: not-allowed;\nborder-color: #cbd5e0;\ncolor: #cbd5e0;\n}\n.counter-value {\nmin-width: 30px;\ntext-align: center;\nfont-weight: 600;\ncolor: #2d3748;\nfont-size: 1rem;\n}\n/* =====================\nBUTTON\n===================== */\n.btn-submit {\nbackground: #A5172E;\ncolor: #fff;\nborder: none;\npadding: 7px 14px;\nborder-radius: 8px;\nfont-size: 1rem;\nfont-weight: 600;\ncursor: pointer;\ntransition: all 0.3s;\nmargin-left: 0px;\nwhite-space: nowrap;\nmax-height:44px;\n}\n.btn-submit:hover {\nbackground: #8a1325;\ntransform: translateY(-2px);\nbox-shadow: 0 8px 20px rgba(165, 23, 46, 0.30);\n}\n.btn-submit:disabled {\nbackground: #cbd5e0;\ncursor: not-allowed;\ntransform: none;\nbox-shadow: none;\n}\n/* =====================\nDISABLED UI\n===================== */\n.field-content.disabled-ui {\nopacity: 0.45;\nfilter: grayscale(1);\n}\n.field-content.disabled-ui:hover {\nborder-color: #e2e8f0;\nbox-shadow: none;\n}\n/* =====================\nDESKTOP WIDTHS\n===================== */\n@media (min-width: 769px) {\n/* Masquer le toggle mobile en desktop */\n#mode-toggle-mobile { display: none; }\n/* Intégrer le toggle dans la barre en desktop */\n#mode-toggle-desktop {\ndisplay: flex;\nmargin: 0;\nbox-shadow: none;\nflex-shrink: 0;\nbackground: rgb(255, 255, 255, 0.2);\nborder: 1px solid rgb(255, 255, 255, 0.2);}\n.sf-city    { flex: 0 0 280px; }\n.sf-date    { flex: 0 0 155px; }\n.sf-session { flex: 0 0 135px; }\n.sf-diner-date { flex: 1; min-width: 300px; max-width: 400px; }\n/* =====================\nMASQUAGE TEMPORAIRE DU CHAMP PERSONNES\n===================== */\n.sf-people {\ndisplay: none !important;\n}\n/* Réduire la largeur quand il y a une seule séance */\n.sf-session.single-session-wrapper { flex: 0 0 100px; }\n#date-dropdown { min-width: 260px; }\n/* ✅ Ton comportement desktop (fix + glass) reste ici */\n.search-bar{\n/*position: fixed;*/\ntop: 27px;\nmin-width: 580px;\nbackground: rgba(255, 255, 255, 0.3);\nborder: 1px solid rgba(255, 255, 255, 0.4);\nbackdrop-filter: blur(14px);\n-webkit-backdrop-filter: blur(14px);\nbox-shadow: 0 10px 40px rgba(0,0,0,0.5);\n}\ndiv#date-field {\npadding: 14px 7px;\n}\n} /* ✅ IMPORTANT : on ferme bien le media query ici */\n/* =====================\nHIDDEN\n===================== */\n.is-hidden { \ndisplay: none !important; \n}\n/* =====================\nCHEVRON\n===================== */\n.chevron {\nwidth: 18px;\nheight: 18px;\nflex-shrink: 0;\ncolor: #A5172E;\nopacity: 0.9;\n}\n/* Masquer le chevron du champ séance quand il n'y a qu'un seul horaire */\n#session-field.single-session .chevron {\ndisplay: none;\n}\n/* =====================\nCITY INPUT MODE\n===================== */\n.city-input {\nflex: 1;\nmin-width: 0;\nborder: none;\noutline: none;\nbackground: transparent;\nfont-size: 0.95rem;\ncolor: #2d3748;\n}\n.city-input::placeholder { \ncolor: #a0aec0; \n}\n#city-field:not(.typing) #city-input { \ndisplay: none; \n}\n#city-field.typing #city-value { \ndisplay: none; \n}\n#city-field.typing #city-input { \ndisplay: block; \nwidth: 100%; \n}\n/* =====================\nMOBILE NAV\n===================== */\n#mobile-nav, #mobile-next { \ndisplay: none; \n}\n/* =====================\nERROR MESSAGE\n===================== */\n.error-container {\ntext-align: center;\npadding: 40px;\nbackground: #fff;\nborder-radius: 12px;\nbox-shadow: 0 10px 40px rgba(0,0,0,0.08);\n}\n.error-container h2 {\ncolor: #A5172E;\nmargin-bottom: 15px;\nfont-size: 1.5rem;\n}\n.error-container p {\ncolor: #2d3748;\nmargin-bottom: 20px;\nline-height: 1.6;\n}\n.error-container a {\ndisplay: inline-block;\nbackground: #A5172E;\ncolor: #fff;\npadding: 12px 24px;\nborder-radius: 8px;\ntext-decoration: none;\nfont-weight: 600;\ntransition: all 0.3s;\n}\n.error-container a:hover {\nbackground: #8a1325;\ntransform: translateY(-2px);\n}\n/* =====================\nMOBILE STYLES\n===================== */\n@media (max-width: 768px) {\n/* Masquer le toggle desktop en mobile */\n#mode-toggle-desktop {\ndisplay: none;\n}\n.mode-toggle {\ndisplay: flex;\nbackground: #fff;\nborder-radius: 40px;\nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\npadding: 8px;\nwidth: -moz-fit-content;\nwidth: fit-content;\nmargin: 0 auto 24px;\ngap: 5px;\n}\n.toggle-option { \nflex: 1;\njustify-content: center;\npadding: 18px 22px;\nborder-radius: 40px;\ncolor: #718096;\nfont-size: 1rem;\n}\n.search-bar { \nflex-direction: column; \nbox-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\nwidth: min(370px, calc(100vw - 24px));\nmargin: 0 auto;\n}\n.search-field label { \ndisplay: none; \n}\n#mobile-nav {\ndisplay: none;\nwidth: 100%;\nalign-items: center;\ngap: 10px;\npadding: 2px 2px 8px;\nmargin-bottom: 2px;\n}\n#date-field .chevron {\ndisplay: block;}\nbody.mobile-step-2 #mobile-nav { \ndisplay: flex; \n}\n#mobile-back {\nwidth: 36px;\nheight: 36px;\nborder-radius: 999px;\nborder: 1px solid #e2e8f0;\nbackground: #fff;\ncolor: #A5172E;\nfont-size: 22px;\nline-height: 1;\ncursor: pointer;\ndisplay: flex;\nalign-items: center;\njustify-content: center;\nflex: 0 0 auto;\n}\n#mobile-summary {\nflex: 1;\nmin-width: 0;\ncolor: #2d3748;\nfont-size: 0.92rem;\nfont-weight: 700;\nwhite-space: nowrap;\noverflow: hidden;\ntext-overflow: ellipsis;\n}\n#mobile-next {\ndisplay: none;\nwidth: 100%;\nmargin-top: 8px;\npadding: 12px 16px;\nborder-radius: 999px;\nborder: 1px solid #e2e8f0;\nbackground: #fff;\ncolor: #A5172E;\nfont-weight: 800;\ncursor: pointer;\njustify-content: center;\n}\nbody.mobile-step-1.mode-spectacle .sf-session,\nbody.mobile-step-1.mode-spectacle #btn-reserve {\ndisplay: none !important;\n}\nbody.mobile-step-2.mode-spectacle .sf-city,\nbody.mobile-step-2.mode-spectacle .sf-date {\ndisplay: none !important;\n}\nbody.mobile-step-2.mode-spectacle .sf-session,\nbody.mobile-step-2.mode-spectacle #btn-reserve {\nwidth: 100%;\n}\nbody.mobile-step-2.mode-spectacle #btn-reserve {\nmargin-left: 0;\nmargin-top: 10px;\n}\n/* Masquage temporaire du nombre de personnes en mobile */\nbody.mode-spectacle .sf-people,\nbody.mode-diner .sf-people {\ndisplay: none !important;\n}\n.btn-submit {\nmargin-left: 0;\nmargin-top: 10px;\nwidth: 100%;\n}\n/* =====================\nDÎNER MODE SPECIFIC\n===================== */\n.diner-date-item {\ndisplay: flex;\nalign-items: center;\ngap: 8px;\n}\n.diner-date-info {\nflex: 1;\n}\n.diner-date-main {\nfont-weight: 600;\ncolor: #2d3748;\ntext-transform: uppercase;\nfont-size: 0.95em;\n}\n.diner-date-city {\nfont-size: 0.85em;\ncolor: #718096;\nmargin-top: 2px;\ntext-transform: uppercase;\n}\n.dropdown-item.selected .diner-date-main,\n.dropdown-item.selected .diner-date-city {\ncolor: #fff;\n}\n.dropdown-item:hover .diner-date-main,\n.dropdown-item:hover .diner-date-city {\ncolor: #fff;\n}\n.hint-flash {\nborder: 3px solid #A5172E !important;\nbox-shadow: 0 0 0 3px rgba(165, 23, 46, 0.12);\n}\n\n\n\n\n\n\n\nSpectacle\n\n\nDîner-Spectacle\n\n\n\n\n‹\nRetour\n\n\n\n\nSpectacle\n\n\nDîner-Spectacle\n\n\n\n\nVille\n\n\n\n\n\nNancy\n\n\n\n\n\nAmiensArrasBordeauxBoulogne sur merDunkerqueLa RochelleLilleMetzNancyParisRouenThionvilleVilleneuve d'ascqAix les bainsAnnecy\n\n\n\nDate\n\n\n\n\nvendredi 16 octobre 2026\n\n\n\n\n\n\n\n\n‹\nOctobre 2026\n›\n\n\nLun\nMar\nMer\nJeu\nVen\nSam\nDim\n1213141516171819202122232425262728293031\nContinuer\n\n\nDate et Lieu\n\n\n\n\nNancy • sam. 24 oct.\n\n\n\n\n\n\n\n\n\nNancy\nsamedi 24 octobre à 20:00\n\n\n\n\n\n\n\n\nParis\nvendredi 11 décembre à 20:30\n\n\n\n\n\n\n\n\nBordeaux\njeudi 31 décembre à 20:00\n\n\n\n\n\n\n\n\nBordeaux\nvendredi 15 janvier à 20:00\n\n\n\n\n\n\n\n\nBordeaux\nsamedi 23 janvier à 20:00\n\n\n\n\n\n\n\n\nRouen\nvendredi 12 février à 20:00\n\n\n\n\n\n\n\n\nLille\nvendredi 12 mars à 20:00\n\n\n\n\n\n\n\nSéance\n\n\n\n\n--:--\n\n\n\n\n\n\n\n\nPersonnes\n\n\n\n\n2 pers.\n\n\n\n\nAdultes\n\n−\n1\n+\n\n\n\nEnfants\n\n−\n1\n+\n\n\n\n\n\n\nOK\n\n\n\n/************************************************************\n* CONFIG\n************************************************************/\nconst TOUR_CSV_URL = \"https://www.cirque-gruss.com/assets/uploads/2026/06/Calendrier-Essentilel-019.xlsx-Essentiel.csv\";\nconst TOUR_URL = \"https://www.cirque-gruss.com/la-tournee\";\nconst BOOKING_CUTOFF_MINUTES = 30;\n/************************************************************\n* STATE\n************************************************************/\nlet TOUR_DATA_RAW = [];\nlet tourData = [];\nlet dinerData = []; // Sous-ensemble avec Dîner O/N\nlet indexAll = null;\nlet indexDiner = null;\nlet currentMode = \"spectacle\"; // \"spectacle\" ou \"diner\"\n// SPECTACLE MODE\nlet selectedCity = null;\nlet selectedDate = null;\nlet selectedSession = null;\n// DÎNER MODE\nlet selectedDinerSlot = null; // { city, dateKey, dateTime, link }\n// COMMON\nlet adultsCount = 1;\nlet childrenCount = 1;\nlet currentMonth = new Date().getMonth();\nlet currentYear = new Date().getFullYear();\nlet filteredCities = [];\nlet activeCityIndex = -1;\nlet isPastCityMode = false;\nlet mobileStep = 1;\n// Placeholder informatif du prochain spectacle\nlet nextShowPlaceholder = null;\n// Cache\nlet sortedCitiesByAvailability = null;\nlet cachedAvailableDates = null;\nlet lastCutoffTime = 0;\nlet inputTimeout = null;\nconst monthNames = [\n\"Janvier\",\"Février\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\n\"Juillet\",\"Août\",\"Septembre\",\"Octobre\",\"Novembre\",\"Décembre\"\n];\n/************************************************************\n* UTILS\n************************************************************/\nfunction pad2(n){ return String(n).padStart(2,\"0\"); }\nfunction getCutoff(){\nreturn new Date(Date.now() + BOOKING_CUTOFF_MINUTES * 60 * 1000);\n}\nfunction parseFRDateTime(dateStr){\nconst [dPart, tPart=\"00:00:00\"] = String(dateStr).split(\" \");\nconst [dd, mm, yyyy] = dPart.split(\"/\").map(Number);\nconst [hh, mi, ss] = tPart.split(\":\").map(Number);\nreturn new Date(yyyy, (mm || 1) - 1, dd || 1, hh || 0, mi || 0, ss || 0);\n}\nfunction dateKey(d){\nreturn `${d.getFullYear()}-${pad2(d.getMonth()+1)}-${pad2(d.getDate())}`;\n}\nfunction cmpMonth(a,b){\nif (a.y !== b.y) return a.y - b.y;\nreturn a.m0 - b.m0;\n}\nfunction formatTime(dt){\nif (!dt) return \"--:--\";\nreturn dt.toLocaleTimeString(\"fr-FR\",{hour:\"2-digit\",minute:\"2-digit\"});\n}\nfunction formatDateLong(dt){\nconst options = { weekday:\"long\", year:\"numeric\", month:\"long\", day:\"numeric\" };\nreturn dt.toLocaleDateString(\"fr-FR\", options);\n}\nfunction formatDateShort(dt){\nconst d = pad2(dt.getDate());\nconst m = pad2(dt.getMonth() + 1);\nconst y = String(dt.getFullYear()).slice(-2);\nreturn `${d}/${m}/${y}`;\n}\n/************************************************************\n* UI HELPERS\n************************************************************/\nfunction setDateDisplay(d){\nconst el = document.getElementById(\"date-value\");\nif (!el) return;\n// Format court en desktop (jj/mm/aa), format long en mobile\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\nel.textContent = isDesktop ? formatDateShort(d) : formatDateLong(d);\nel.classList.remove(\"placeholder\");\n}\nfunction clearDateSelection(){\nselectedDate = null;\nconst el = document.getElementById(\"date-value\");\nif (el){\nel.textContent = \"Choisir une date\";\nel.classList.add(\"placeholder\");\n}\nupdateSessionUI();\n}\nfunction setCityValue(city){\nconst cv = document.getElementById(\"city-value\");\nconst ci = document.getElementById(\"city-input\");\nif (cv) {\nif (city) {\ncv.textContent = city;\ncv.classList.remove(\"placeholder\");\n} else {\ncv.textContent = \"Choisir une ville\";\ncv.classList.add(\"placeholder\");\n}\n}\nif (ci) ci.value = city || \"\";\n}\nfunction restorePlaceholders(){\n// Restaurer les placeholders informatifs du prochain spectacle\nif (nextShowPlaceholder && !selectedCity && !selectedDate) {\nconst cv = document.getElementById(\"city-value\");\nconst dv = document.getElementById(\"date-value\");\nif (cv) {\ncv.textContent = nextShowPlaceholder.city;\ncv.classList.add(\"placeholder\");\n}\nif (dv) {\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\ndv.textContent = isDesktop ? formatDateShort(nextShowPlaceholder.dateTime) : formatDateLong(nextShowPlaceholder.dateTime);\ndv.classList.add(\"placeholder\");\n}\n}\n}\nfunction setDinerDateValue(text){\nconst el = document.getElementById(\"diner-date-value\");\nif (!el) return;\nel.textContent = text || \"Choisir une date\";\nif (text) el.classList.remove(\"placeholder\");\nelse el.classList.add(\"placeholder\");\n}\nfunction closeAllDropdowns(){\ndocument.querySelectorAll(\".dropdown\").forEach(d => d.classList.remove(\"show\"));\ndocument.querySelectorAll(\".field-content\").forEach(f => {\nf.classList.remove(\"active\");\nif (f.getAttribute('role') === 'combobox') {\nf.setAttribute('aria-expanded', 'false');\n}\n});\n}\nfunction flashCityLinked(){\nconst field = document.getElementById(\"city-field\");\nif (!field) return;\nfield.classList.add(\"hint-flash\");\nsetTimeout(() => {\nfield.classList.remove(\"hint-flash\");\n}, 900);\n}\nfunction setPastUI(past){\nisPastCityMode = past;\nconst dateField = document.getElementById(\"date-field\");\nconst peopleField = document.getElementById(\"people-field\");\nconst sessionField = document.getElementById(\"session-field\");\nif (dateField) dateField.classList.toggle(\"disabled-ui\", past);\nif (peopleField) peopleField.classList.toggle(\"disabled-ui\", past);\nif (sessionField) sessionField.classList.toggle(\"disabled-ui\", past);\nif (past) closeAllDropdowns();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\nfunction showError(message){\nconst container = document.querySelector('.container');\nif (!container) return;\ncontainer.innerHTML = `\n<div class=\"error-container\">\n<h2>⚠️ Erreur de chargement</h2>\n<p>${message}</p>\n<a href=\"${TOUR_URL}\">Voir la tournée complète</a>\n</div>\n`;\n}\nfunction showEmptyState(){\nconst container = document.querySelector('.container');\nif (!container) return;\ncontainer.innerHTML = `\n<div class=\"error-container\">\n<h2>📅 Aucune représentation programmée</h2>\n<p>Aucune date n'est disponible pour le moment.<br>Consultez la page de la tournée pour plus d'informations.</p>\n<a href=\"${TOUR_URL}\">Voir la tournée</a>\n</div>\n`;\n}\n/************************************************************\n* CSV PARSER\n************************************************************/\nfunction detectDelimiter(headerLine){\nconst commas = (headerLine.match(/,/g) || []).length;\nconst semis  = (headerLine.match(/;/g) || []).length;\nreturn semis > commas ? \";\" : \",\";\n}\nfunction parseCSVRow(line, delimiter){\nconst out = [];\nlet cur = \"\";\nlet inQuotes = false;\nfor (let i=0;i<line.length;i++){\nconst ch = line[i];\nif (ch === '\"'){\nif (inQuotes && line[i+1] === '\"'){ cur += '\"'; i++; }\nelse inQuotes = !inQuotes;\ncontinue;\n}\nif (!inQuotes && ch === delimiter){\nout.push(cur);\ncur = \"\";\ncontinue;\n}\ncur += ch;\n}\nout.push(cur);\nreturn out.map(v => v.trim());\n}\nfunction csvToObjects(text){\nconst cleaned = text\n.replace(/^\\uFEFF/,\"\")\n.replace(/\\r\\n/g,\"\\n\")\n.replace(/\\r/g,\"\\n\")\n.trim();\nif (!cleaned) return [];\nconst lines = cleaned.split(\"\\n\").filter(l => l.trim().length);\nif (!lines.length) return [];\nconst delimiter = detectDelimiter(lines[0]);\nconst headers = parseCSVRow(lines[0], delimiter);\nconst rows = [];\nfor (let i=1;i<lines.length;i++){\nconst cols = parseCSVRow(lines[i], delimiter);\nif (!cols.length) continue;\nconst obj = {};\nfor (let j=0;j<headers.length;j++){\nobj[headers[j]] = (cols[j] ?? \"\").trim();\n}\nrows.push(obj);\n}\nreturn rows;\n}\nfunction truthyFlag(v){\nconst s = String(v ?? \"\").trim().toLowerCase();\nreturn [\"o\",\"oui\",\"y\",\"yes\",\"1\",\"true\",\"x\"].includes(s);\n}\nfunction normalizeKey(k){\nreturn String(k ?? \"\")\n.trim().toLowerCase()\n.replace(/\\s+/g,\"\")\n.replace(/['']/g,\"\");\n}\nfunction getAny(row, keys){\nconst rowKeys = Object.keys(row || {});\nfor (const wanted of keys){\nconst nw = normalizeKey(wanted);\nconst found = rowKeys.find(rk => normalizeKey(rk) === nw);\nif (found) return row[found];\n}\nreturn \"\";\n}\nasync function loadRawFromCSV(){\nconst res = await fetch(TOUR_CSV_URL, { cache:\"no-store\" });\nif (!res.ok) throw new Error(`Impossible de charger le calendrier (HTTP ${res.status})`);\nconst text = await res.text();\nconst objs = csvToObjects(text);\nconst data = [];\nfor (const r of objs){\nconst city    = String(getAny(r, [\"Ville\",\"city\"])).trim();\nconst dateStr = String(getAny(r, [\"Date\",\"date\",\"dateStr\"])).trim();\nconst link    = String(getAny(r, [\"LIEN\",\"link\",\"Lien\"])).trim();\nif (!city || !dateStr || !link) continue;\nconst scolaireVal = String(getAny(r, [\"scolaire O/N\",\"scolaire\",\"scolaireO/N\"])).trim().toLowerCase();\nif (scolaireVal.includes(\"scolaire\")) continue;\nconst soldOut = truthyFlag(getAny(r, [\"Complet\",\"complet\",\"soldout\"]));\nconst isDiner = truthyFlag(getAny(r, [\"Diner O/N\",\"Dîner O/N\",\"dinerO/N\",\"diner\"]));\ndata.push({\ncity: city.replace(/\\s+/g,\" \").trim(),\ndateStr,\nlink,\nsoldOut,\nisDiner\n});\n}\nreturn data;\n}\n/************************************************************\n* INDEX\n************************************************************/\nfunction buildIndexAll(data){\nconst citiesSet = new Set();\nconst sessionsByCityDate = new Map();\nconst cityByDateKey = new Map();\nconst dateKeysAll = new Set();\nfor (const item of data){\ncitiesSet.add(item.city);\ndateKeysAll.add(item.dateKey);\nif (!sessionsByCityDate.has(item.city)) sessionsByCityDate.set(item.city, new Map());\nconst m = sessionsByCityDate.get(item.city);\nif (!m.has(item.dateKey)) m.set(item.dateKey, []);\nm.get(item.dateKey).push({\ndateTime: item.dateTime,\nlink: item.link,\nsoldOut: !!item.soldOut,\nisDiner: !!item.isDiner\n});\nif (!cityByDateKey.has(item.dateKey)){\ncityByDateKey.set(item.dateKey, item.city);\n}\n}\nfor (const cityMap of sessionsByCityDate.values()){\nfor (const sessions of cityMap.values()){\nsessions.sort((a,b)=>a.dateTime - b.dateTime);\n}\n}\nconst cities = [...citiesSet].sort((a,b)=>a.localeCompare(b,\"fr\",{sensitivity:\"base\"}));\nreturn { cities, sessionsByCityDate, cityByDateKey, dateKeysAll };\n}\n/************************************************************\n* DISPONIBILITÉS\n************************************************************/\nfunction hasFutureSession(city, dk, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nif (!sessions) return false;\nreturn sessions.some(s => !s.soldOut && s.dateTime > cutoff);\n}\nfunction cityHasFuture(city, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nif (!cityMap) return false;\nfor (const [dk] of cityMap){\nif (hasFutureSession(city, dk, cutoff)) return true;\n}\nreturn false;\n}\nfunction getNextBookableSessionLink(city, dk, cutoff){\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nif (!sessions) return null;\nconst next = sessions.find(s => !s.soldOut && s.dateTime > cutoff);\nreturn next ? next.link : null;\n}\nfunction calculateAvailableDates(cutoff){\nconst set = new Set();\nif (selectedCity){\nconst cityMap = indexAll.sessionsByCityDate.get(selectedCity);\nif (!cityMap) return set;\nfor (const [dk] of cityMap){\nif (hasFutureSession(selectedCity, dk, cutoff)) set.add(dk);\n}\nreturn set;\n}\nfor (const dk of indexAll.dateKeysAll){\nconst city = indexAll.cityByDateKey.get(dk);\nif (city && hasFutureSession(city, dk, cutoff)) set.add(dk);\n}\nreturn set;\n}\nfunction getAvailableDateKeysSet(cutoff){\nif (!cachedAvailableDates || Math.abs(cutoff - lastCutoffTime) > 300000) {\ncachedAvailableDates = calculateAvailableDates(cutoff);\nlastCutoffTime = cutoff;\n}\nreturn cachedAvailableDates;\n}\nfunction getAvailableMonths(cutoff){\nconst availableKeys = getAvailableDateKeysSet(cutoff);\nconst monthsSet = new Set();\nfor (const dk of availableKeys){\nconst [y, mo] = dk.split(\"-\");\nmonthsSet.add(`${y}-${mo}`);\n}\nreturn [...monthsSet].map(mk => {\nconst [y, m] = mk.split(\"-\").map(Number);\nreturn { y, m0: m - 1 };\n}).sort(cmpMonth);\n}\nfunction ensureCalendarMonthIsUseful(){\nconst cutoff = getCutoff();\nconst months = getAvailableMonths(cutoff);\nif (!months.length) return;\nconst ok = months.some(m => m.y === currentYear && m.m0 === currentMonth);\nif (!ok){\ncurrentYear = months[0].y;\ncurrentMonth = months[0].m0;\n}\n}\nfunction findPrevNextMonths(){\nconst cutoff = getCutoff();\nconst months = getAvailableMonths(cutoff);\nif (!months.length) return { prev:null, next:null };\nconst idx = months.findIndex(m => m.y === currentYear && m.m0 === currentMonth);\nif (idx === -1) return { prev:null, next:null };\nreturn {\nprev: idx > 0 ? months[idx-1] : null,\nnext: idx < months.length-1 ? months[idx+1] : null\n};\n}\nfunction jumpToBestMonthForCity(city){\nconst cutoff = getCutoff();\nconst cityMap = indexAll.sessionsByCityDate.get(city);\nif (!cityMap) return;\nlet best = null;\nfor (const sessions of cityMap.values()){\nconst s = sessions.find(x => !x.soldOut && x.dateTime > cutoff);\nif (s && (!best || s.dateTime < best)) best = s.dateTime;\n}\nif (!best) return;\ncurrentYear = best.getFullYear();\ncurrentMonth = best.getMonth();\n}\nfunction getSortedCities(cutoff){\nif (!sortedCitiesByAvailability) {\nsortedCitiesByAvailability = indexAll.cities.slice().sort((a,b) => {\nconst aPast = !cityHasFuture(a, cutoff);\nconst bPast = !cityHasFuture(b, cutoff);\nif (aPast !== bPast) return aPast - bPast;\nreturn a.localeCompare(b,\"fr\",{sensitivity:\"base\"});\n});\n}\nreturn sortedCitiesByAvailability;\n}\n/************************************************************\n* MODE SWITCHING\n************************************************************/\nfunction switchToSpectacleMode(){\ncurrentMode = \"spectacle\";\n// UI Toggle - synchroniser desktop et mobile\ndocument.getElementById(\"toggle-spectacle\").classList.add(\"active\");\ndocument.getElementById(\"toggle-diner\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-spectacle-mobile\").classList.add(\"active\");\ndocument.getElementById(\"toggle-diner-mobile\").classList.remove(\"active\");\n// Body class for responsive\ndocument.body.classList.add(\"mode-spectacle\");\ndocument.body.classList.remove(\"mode-diner\");\n// Show/Hide fields\ndocument.getElementById(\"spectacle-city-wrapper\").classList.remove(\"is-hidden\");\ndocument.getElementById(\"spectacle-date-wrapper\").classList.remove(\"is-hidden\");\ndocument.getElementById(\"diner-date-wrapper\").classList.add(\"is-hidden\");\n// Reset dîner selection\nselectedDinerSlot = null;\nsetDinerDateValue(\"\");\n// Restaurer les placeholders informatifs si aucune sélection\nrestorePlaceholders();\ncloseAllDropdowns();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\nfunction switchToDinerMode(){\ncurrentMode = \"diner\";\n// UI Toggle - synchroniser desktop et mobile\ndocument.getElementById(\"toggle-spectacle\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-diner\").classList.add(\"active\");\ndocument.getElementById(\"toggle-spectacle-mobile\").classList.remove(\"active\");\ndocument.getElementById(\"toggle-diner-mobile\").classList.add(\"active\");\n// Body class for responsive\ndocument.body.classList.add(\"mode-diner\");\ndocument.body.classList.remove(\"mode-spectacle\");\n// Show/Hide fields\ndocument.getElementById(\"spectacle-city-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"spectacle-date-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"session-wrapper\").classList.add(\"is-hidden\");\ndocument.getElementById(\"diner-date-wrapper\").classList.remove(\"is-hidden\");\n// Reset spectacle selections\nselectedCity = null;\nselectedDate = null;\nselectedSession = null;\nsetCityValue(\"\");\nclearDateSelection();\ncloseAllDropdowns();\nrenderDinerDropdown();\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* DÎNER MODE : Dropdown\n************************************************************/\nfunction renderDinerDropdown(){\nconst dropdown = document.getElementById(\"diner-date-dropdown\");\nif (!dropdown) return;\nconst cutoff = getCutoff();\n// Filtrer les dîners disponibles\nconst availableDiners = dinerData\n.filter(item => !item.soldOut && item.dateTime > cutoff)\n.sort((a,b) => a.dateTime - b.dateTime);\nif (!availableDiners.length){\ndropdown.innerHTML = '<div class=\"dropdown-item disabled\">Aucun dîner-spectacle disponible</div>';\nreturn;\n}\ndropdown.innerHTML = availableDiners.map(item => {\nconst isSelected = selectedDinerSlot &&\nselectedDinerSlot.city === item.city &&\nselectedDinerSlot.dateKey === item.dateKey &&\nselectedDinerSlot.dateTime.getTime() === item.dateTime.getTime();\nconst cls = isSelected ? \"dropdown-item selected\" : \"dropdown-item\";\nconst dateStr = item.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"long\",\nday:\"numeric\",\nmonth:\"long\"\n});\nconst timeStr = formatTime(item.dateTime);\nreturn `\n<div class=\"${cls}\" data-city=\"${item.city}\" data-datekey=\"${item.dateKey}\" data-ts=\"${item.dateTime.getTime()}\" role=\"option\" aria-selected=\"${isSelected}\">\n<div class=\"diner-date-item\">\n<span class=\"emoji\">🍴</span>\n<div class=\"diner-date-info\">\n<div class=\"diner-date-main\">${item.city}</div>\n<div class=\"diner-date-city\">${dateStr} à ${timeStr}</div>\n</div>\n</div>\n</div>\n`;\n}).join(\"\");\ndropdown.querySelectorAll('.dropdown-item[data-ts]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nconst city = item.dataset.city;\nconst dk = item.dataset.datekey;\nconst ts = Number(item.dataset.ts);\nconst found = dinerData.find(d =>\nd.city === city &&\nd.dateKey === dk &&\nd.dateTime.getTime() === ts\n);\nif (found){\nselectedDinerSlot = {\ncity: found.city,\ndateKey: found.dateKey,\ndateTime: found.dateTime,\nlink: found.link\n};\nconst displayText = `${found.city} • ${found.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"short\",\nday:\"numeric\",\nmonth:\"short\"\n})}`;\nsetDinerDateValue(displayText);\ncloseAllDropdowns();\nupdateSubmitButton();\n}\n});\n});\n}\n/************************************************************\n* VILLE : dropdown vs typing (MODE SPECTACLE)\n************************************************************/\nfunction enableCityTypingMode({ startValue=null, selectAll=true } = {}){\nconst field = document.getElementById(\"city-field\");\nconst input = document.getElementById(\"city-input\");\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!field || !input || !dropdown) return;\nfield.classList.add(\"typing\");\nfield.setAttribute('aria-expanded', 'true');\nif (startValue !== null) input.value = startValue;\nelse input.value = (input.value || selectedCity || \"\");\ncloseAllDropdowns();\ndropdown.classList.add(\"show\");\nfield.classList.add(\"active\");\nrenderCityDropdown(input.value);\ninput.focus();\nif (selectAll) input.select();\n}\nfunction disableCityTypingMode(){\nconst field = document.getElementById(\"city-field\");\nif (!field) return;\nfield.classList.remove(\"typing\");\nfield.setAttribute('aria-expanded', 'false');\nsetCityValue(selectedCity || \"\");\n}\nfunction renderCityDropdown(filterText=\"\"){\nconst cutoff = getCutoff();\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown) return;\nconst q = (filterText || \"\").trim().toLowerCase();\nconst sorted = getSortedCities(cutoff);\nfilteredCities = q ? sorted.filter(c => c.toLowerCase().includes(q)) : sorted.slice();\nactiveCityIndex = filteredCities.length\n? Math.min(Math.max(activeCityIndex, 0), filteredCities.length-1)\n: -1;\nif (activeCityIndex === -1 && filteredCities.length) activeCityIndex = 0;\ndropdown.innerHTML =\nfilteredCities.map((city,i) => {\nconst isSelected = selectedCity === city;\nconst isPast = !cityHasFuture(city, cutoff);\nconst cls = [\n\"dropdown-item\",\nisSelected ? \"selected\" : \"\",\n(!isSelected && i === activeCityIndex) ? \"active\" : \"\",\n(isPast && !isSelected) ? \"past\" : \"\"\n].filter(Boolean).join(\" \");\nreturn `<div class=\"${cls}\" data-city=\"${city}\" role=\"option\" aria-selected=\"${isSelected}\">${city}</div>`;\n}).join(\"\") || `<div class=\"dropdown-item disabled\" role=\"alert\">Aucune ville trouvée</div>`;\ndropdown.querySelectorAll('.dropdown-item[data-city]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nselectCity(item.dataset.city);\n});\n});\n}\nfunction selectCity(city){\nselectedCity = city;\nsetCityValue(city);\ndisableCityTypingMode();\nsortedCitiesByAvailability = null;\ncachedAvailableDates = null;\nconst cutoff = getCutoff();\nconst past = !cityHasFuture(selectedCity, cutoff);\nif (past){\nclearDateSelection();\nsetPastUI(true);\ncloseAllDropdowns();\nupdateMobileNav();\nreturn;\n}\nsetPastUI(false);\nif (selectedDate){\nconst dk = dateKey(selectedDate);\nif (!hasFutureSession(selectedCity, dk, cutoff)){\nclearDateSelection();\n}\n}\njumpToBestMonthForCity(selectedCity);\ncloseAllDropdowns();\nrenderCalendar();\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* CALENDRIER (MODE SPECTACLE)\n************************************************************/\nfunction renderCalendar(){\nconst dropdown = document.getElementById(\"date-dropdown\");\nif (!dropdown) return;\nensureCalendarMonthIsUseful();\nconst { prev, next } = findPrevNextMonths();\nconst cutoff = getCutoff();\nconst availableKeys = getAvailableDateKeysSet(cutoff);\nconst firstDay = new Date(currentYear, currentMonth, 1);\nconst lastDay = new Date(currentYear, currentMonth + 1, 0);\nconst startDayOfWeek = firstDay.getDay() === 0 ? 6 : firstDay.getDay() - 1;\nconst weeks = [];\nlet currentWeek = [];\nfor (let i = 0; i < startDayOfWeek; i++){\ncurrentWeek.push({ empty: true });\n}\nfor (let day = 1; day <= lastDay.getDate(); day++){\nconst dateObj = new Date(currentYear, currentMonth, day);\nconst dk = dateKey(dateObj);\nconst isAvailable = availableKeys.has(dk);\nconst isSelected = selectedDate && dateKey(selectedDate) === dk;\ncurrentWeek.push({\nday,\ndateKey: dk,\nisAvailable,\nisSelected,\nisEmpty: false\n});\nif (currentWeek.length === 7){\nweeks.push(currentWeek);\ncurrentWeek = [];\n}\n}\nif (currentWeek.length > 0){\nwhile (currentWeek.length < 7){\ncurrentWeek.push({ empty: true });\n}\nweeks.push(currentWeek);\n}\nconst weeksWithAvailableDates = weeks.filter(week =>\nweek.some(day => day.isAvailable || day.isSelected)\n);\nconst weeksToShow = weeksWithAvailableDates.length > 0\n? weeksWithAvailableDates\n: weeks;\nlet html = `\n<div class=\"calendar\">\n<div class=\"calendar-header\">\n<button id=\"prev-month\" ${prev ? \"\" : \"disabled\"} aria-label=\"Mois précédent\">‹</button>\n<span>${monthNames[currentMonth]} ${currentYear}</span>\n<button id=\"next-month\" ${next ? \"\" : \"disabled\"} aria-label=\"Mois suivant\">›</button>\n</div>\n<div class=\"calendar-grid\" role=\"grid\">\n<div class=\"calendar-day-header\">Lun</div>\n<div class=\"calendar-day-header\">Mar</div>\n<div class=\"calendar-day-header\">Mer</div>\n<div class=\"calendar-day-header\">Jeu</div>\n<div class=\"calendar-day-header\">Ven</div>\n<div class=\"calendar-day-header\">Sam</div>\n<div class=\"calendar-day-header\">Dim</div>\n`;\nweeksToShow.forEach(week => {\nweek.forEach(dayData => {\nif (dayData.empty){\nhtml += `<div class=\"calendar-day empty\"></div>`;\n} else {\nlet cls = \"calendar-day\";\nif (dayData.isSelected) cls += \" selected\";\nelse if (dayData.isAvailable) cls += \" available\";\nelse cls += \" disabled\";\nhtml += `<div class=\"${cls}\" data-datekey=\"${dayData.dateKey}\" role=\"gridcell\" aria-selected=\"${dayData.isSelected}\">${dayData.day}</div>`;\n}\n});\n});\nhtml += `</div></div>`;\ndropdown.innerHTML = html;\nconst prevBtn = document.getElementById(\"prev-month\");\nconst nextBtn = document.getElementById(\"next-month\");\nif (prevBtn) prevBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!prev) return;\ncurrentYear = prev.y;\ncurrentMonth = prev.m0;\nrenderCalendar();\n});\nif (nextBtn) nextBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!next) return;\ncurrentYear = next.y;\ncurrentMonth = next.m0;\nrenderCalendar();\n});\ndropdown.querySelectorAll(\".calendar-day.available, .calendar-day.selected\").forEach(cell => {\ncell.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dk = cell.dataset.datekey;\nconst [y,m,d] = dk.split(\"-\").map(Number);\nconst wasCityEmpty = !selectedCity;\nselectedDate = new Date(y, m-1, d);\nif (!selectedCity){\nselectedCity = indexAll.cityByDateKey.get(dk) || null;\nsetCityValue(selectedCity || \"\");\ndisableCityTypingMode();\nif (selectedCity) flashCityLinked();\n}\nconst cutoff2 = getCutoff();\nif (selectedCity && !hasFutureSession(selectedCity, dk, cutoff2)){\nclearDateSelection();\nupdateSubmitButton();\nupdateMobileNav();\nreturn;\n}\nsetPastUI(false);\nsetDateDisplay(selectedDate);\ncurrentYear = y;\ncurrentMonth = m-1;\ncloseAllDropdowns();\ncachedAvailableDates = null;\nupdateSessionUI();\nupdateSubmitButton();\nupdateMobileNav();\nif (wasCityEmpty && selectedCity) flashCityLinked();\n});\n});\n}\n/************************************************************\n* SÉANCES (MODE SPECTACLE)\n************************************************************/\nfunction getSessionsForSelectedDay(){\nif (!selectedCity || !selectedDate || !indexAll) return [];\nconst dk = dateKey(selectedDate);\nconst cityMap = indexAll.sessionsByCityDate.get(selectedCity);\nconst sessions = cityMap ? cityMap.get(dk) : null;\nreturn sessions ? sessions.slice() : [];\n}\nfunction setSessionValue(dt){\nconst el = document.getElementById(\"session-value\");\nif (!el) return;\nel.textContent = dt ? formatTime(dt) : \"--:--\";\n}\nfunction clearSessionSelection(){\nselectedSession = null;\nsetSessionValue(null);\n}\nfunction updateSessionUI(){\nconst wrapper = document.getElementById(\"session-wrapper\");\nconst field = document.getElementById(\"session-field\");\nconst dropdown = document.getElementById(\"session-dropdown\");\nif (!wrapper || !field || !dropdown) return;\nconst sessions = getSessionsForSelectedDay();\nconst hasSession = sessions.length > 0;\nconst isSingleSession = sessions.length === 1; // Une seule séance\nif (!selectedCity || !selectedDate || isPastCityMode || !hasSession){\nwrapper.classList.add(\"is-hidden\");\nclearSessionSelection();\ndropdown.classList.remove(\"show\");\nfield.classList.remove(\"active\");\nfield.classList.remove(\"single-session\");\nwrapper.classList.remove(\"single-session-wrapper\");\nupdateMobileNav();\nreturn;\n}\nwrapper.classList.remove(\"is-hidden\");\n// Ajouter/retirer la classe selon le nombre de séances\nif (isSingleSession) {\nfield.classList.add(\"single-session\");\nfield.style.cursor = \"default\"; // Pas cliquable si une seule séance\nwrapper.classList.add(\"single-session-wrapper\"); // AJOUT\n} else {\nfield.classList.remove(\"single-session\");\nfield.style.cursor = \"pointer\";\nwrapper.classList.remove(\"single-session-wrapper\"); // AJOUT\n}\nconst cutoff = getCutoff();\nlet keep = null;\nif (selectedSession){\nkeep = sessions.find(s => s.dateTime.getTime() === selectedSession.dateTime.getTime());\n}\nconst firstSelectable = sessions.find(s => !s.soldOut && s.dateTime > cutoff) || null;\nif (keep){\nconst keepOk = !keep.soldOut && keep.dateTime > cutoff;\nif (!keepOk && firstSelectable) keep = null;\n}\nconst chosen = keep || firstSelectable || sessions[0] || null;\nselectedSession = chosen ? { ...chosen } : null;\nsetSessionValue(chosen ? chosen.dateTime : null);\ndropdown.innerHTML = sessions.map(s => {\nconst isSelected = selectedSession && s.dateTime.getTime() === selectedSession.dateTime.getTime();\nconst selectable = !s.soldOut && s.dateTime > cutoff;\nconst cls = [\n\"dropdown-item\",\nisSelected ? \"selected\" : \"\",\nselectable ? \"\" : \"disabled\"\n].filter(Boolean).join(\" \");\nconst suffix = s.soldOut ? \" — complet\" : (s.dateTime <= cutoff ? \" — trop tard\" : \"\");\nreturn `<div class=\"${cls}\" data-ts=\"${s.dateTime.getTime()}\" role=\"option\" aria-selected=\"${isSelected}\">${formatTime(s.dateTime)}${suffix}</div>`;\n}).join(\"\");\ndropdown.querySelectorAll('.dropdown-item[data-ts]').forEach(item => {\nitem.addEventListener(\"mousedown\", (e) => {\ne.preventDefault();\nconst ts = Number(item.dataset.ts);\nconst s = sessions.find(x => x.dateTime.getTime() === ts);\nif (!s) return;\nconst selectable = !s.soldOut && s.dateTime > cutoff;\nif (!selectable) return;\nselectedSession = { ...s };\nsetSessionValue(s.dateTime);\ncloseAllDropdowns();\nupdateSubmitButton();\nupdateMobileNav();\n});\n});\nupdateSubmitButton();\nupdateMobileNav();\n}\n/************************************************************\n* BOOKING LINK\n************************************************************/\nfunction getBookingLink(){\nif (currentMode === \"diner\"){\nreturn selectedDinerSlot ? selectedDinerSlot.link : null;\n}\n// Mode spectacle\nif (!selectedCity || !selectedDate) return null;\nif (isPastCityMode) return null;\nconst cutoff = getCutoff();\nconst dk = dateKey(selectedDate);\nconst sessions = getSessionsForSelectedDay();\nif (sessions.length > 1){\nif (!selectedSession) return null;\nconst ok = !selectedSession.soldOut && selectedSession.dateTime > cutoff;\nreturn ok ? selectedSession.link : null;\n}\nreturn getNextBookableSessionLink(selectedCity, dk, cutoff);\n}\n/************************************************************\n* EVENTS UI\n************************************************************/\n// Toggle buttons - version desktop\ndocument.getElementById(\"toggle-spectacle\").addEventListener(\"click\", () => {\nif (currentMode !== \"spectacle\") switchToSpectacleMode();\n});\ndocument.getElementById(\"toggle-diner\").addEventListener(\"click\", () => {\nif (currentMode !== \"diner\") switchToDinerMode();\n});\n// Toggle buttons - version mobile\ndocument.getElementById(\"toggle-spectacle-mobile\").addEventListener(\"click\", () => {\nif (currentMode !== \"spectacle\") switchToSpectacleMode();\n});\ndocument.getElementById(\"toggle-diner-mobile\").addEventListener(\"click\", () => {\nif (currentMode !== \"diner\") switchToDinerMode();\n});\n// City field (spectacle mode)\nconst cityField = document.getElementById(\"city-field\");\nconst cityInput = document.getElementById(\"city-input\");\nif (cityField){\ncityField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown) return;\nconst isOpen = dropdown.classList.contains(\"show\");\nconst isTyping = cityField.classList.contains(\"typing\");\nif (isTyping) return;\nif (!isOpen){\ncloseAllDropdowns();\ndropdown.classList.add(\"show\");\ncityField.classList.add(\"active\");\ncityField.setAttribute('aria-expanded', 'true');\nactiveCityIndex = 0;\nrenderCityDropdown(\"\");\n} else {\nenableCityTypingMode({ startValue:\"\", selectAll:false });\n}\n});\ncityField.addEventListener(\"keydown\", (e) => {\nif (cityField.classList.contains(\"typing\")) return;\nconst printable = e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey;\nconst wantsTyping = printable || e.key === \"Backspace\" || e.key === \"Delete\";\nif (e.key === \"Enter\" || e.key === \" \"){\ne.preventDefault();\nconst dropdown = document.getElementById(\"city-dropdown\");\ncloseAllDropdowns();\nif (dropdown){\ndropdown.classList.add(\"show\");\ncityField.classList.add(\"active\");\ncityField.setAttribute('aria-expanded', 'true');\nactiveCityIndex = 0;\nrenderCityDropdown(\"\");\n}\nreturn;\n}\nif (wantsTyping){\ne.preventDefault();\nif (e.key === \"Backspace\" || e.key === \"Delete\"){\nenableCityTypingMode({ startValue:\"\", selectAll:false });\n} else {\nenableCityTypingMode({ startValue:e.key, selectAll:false });\n}\n}\n});\n}\nif (cityInput){\ncityInput.addEventListener(\"input\", (e) => {\nif (!cityField || !cityField.classList.contains(\"typing\")) return;\nclearTimeout(inputTimeout);\ninputTimeout = setTimeout(() => {\nrenderCityDropdown(e.target.value);\n}, 150);\n});\ncityInput.addEventListener(\"keydown\", (e) => {\nif (!cityField || !cityField.classList.contains(\"typing\")) return;\nconst dropdown = document.getElementById(\"city-dropdown\");\nif (!dropdown || !dropdown.classList.contains(\"show\")) return;\nif (e.key === \"ArrowDown\"){\ne.preventDefault();\nif (!filteredCities.length) return;\nactiveCityIndex = Math.min(activeCityIndex + 1, filteredCities.length - 1);\nrenderCityDropdown(cityInput.value);\n} else if (e.key === \"ArrowUp\"){\ne.preventDefault();\nif (!filteredCities.length) return;\nactiveCityIndex = Math.max(activeCityIndex - 1, 0);\nrenderCityDropdown(cityInput.value);\n} else if (e.key === \"Enter\"){\ne.preventDefault();\nif (filteredCities[activeCityIndex]){\nselectCity(filteredCities[activeCityIndex]);\n}\n} else if (e.key === \"Escape\"){\ncloseAllDropdowns();\ndisableCityTypingMode();\n}\n});\ncityInput.addEventListener(\"blur\", () => {\nconst typed = cityInput.value.trim();\nif (!typed){\ndisableCityTypingMode();\nreturn;\n}\nconst exact = indexAll.cities.find(c => c.toLowerCase() === typed.toLowerCase());\nif (exact){\nif (selectedCity !== exact) selectCity(exact);\nelse disableCityTypingMode();\n} else {\nsetCityValue(selectedCity || \"\");\ndisableCityTypingMode();\n}\n});\n}\n// Date field (spectacle mode)\nconst dateField = document.getElementById(\"date-field\");\nif (dateField){\ndateField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst dropdown = document.getElementById(\"date-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\ndateField.classList.add(\"active\");\nensureCalendarMonthIsUseful();\nrenderCalendar();\n}\n});\n}\n// Diner date field\nconst dinerDateField = document.getElementById(\"diner-date-field\");\nif (dinerDateField){\ndinerDateField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nconst dropdown = document.getElementById(\"diner-date-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\ndinerDateField.classList.add(\"active\");\nrenderDinerDropdown();\n}\n});\n}\n// Session field (spectacle mode)\nconst sessionField = document.getElementById(\"session-field\");\nif (sessionField){\nsessionField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst wrapper = document.getElementById(\"session-wrapper\");\nif (!wrapper || wrapper.classList.contains(\"is-hidden\")) return;\n// Ne pas ouvrir le dropdown s'il n'y a qu'une seule séance\nif (sessionField.classList.contains(\"single-session\")) return;\nconst dropdown = document.getElementById(\"session-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\nupdateSessionUI();\ndropdown.classList.add(\"show\");\nsessionField.classList.add(\"active\");\n}\n});\n}\n// People field\nconst peopleField = document.getElementById(\"people-field\");\nif (peopleField){\npeopleField.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (isPastCityMode){\nwindow.location.href = TOUR_URL;\nreturn;\n}\nconst dropdown = document.getElementById(\"people-dropdown\");\nconst isOpen = dropdown && dropdown.classList.contains(\"show\");\ncloseAllDropdowns();\nif (dropdown && !isOpen){\ndropdown.classList.add(\"show\");\npeopleField.classList.add(\"active\");\n}\n});\n}\ndocument.addEventListener(\"click\", () => {\ncloseAllDropdowns();\ndisableCityTypingMode();\n});\n/************************************************************\n* COUNTERS\n************************************************************/\nfunction updatePeopleDisplay(){\nconst total = adultsCount + childrenCount;\nconst el = document.getElementById(\"people-value\");\nif (!el) return;\nel.textContent = total === 1 ? \"1 personne\" : `${total} pers.`;\n}\nconst adultsMinus = document.getElementById(\"adults-minus\");\nconst adultsPlus = document.getElementById(\"adults-plus\");\nconst childrenMinus = document.getElementById(\"children-minus\");\nconst childrenPlus = document.getElementById(\"children-plus\");\nif (adultsMinus) adultsMinus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (adultsCount > 0){\nadultsCount--;\ndocument.getElementById(\"adults-count\").textContent = adultsCount;\nupdatePeopleDisplay();\n}\n});\nif (adultsPlus) adultsPlus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nadultsCount++;\ndocument.getElementById(\"adults-count\").textContent = adultsCount;\nupdatePeopleDisplay();\n});\nif (childrenMinus) childrenMinus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (childrenCount > 0){\nchildrenCount--;\ndocument.getElementById(\"children-count\").textContent = childrenCount;\nupdatePeopleDisplay();\n}\n});\nif (childrenPlus) childrenPlus.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nchildrenCount++;\ndocument.getElementById(\"children-count\").textContent = childrenCount;\nupdatePeopleDisplay();\n});\n/************************************************************\n* SUBMIT BUTTON\n************************************************************/\nfunction updateSubmitButton(){\nconst btn = document.getElementById(\"btn-reserve\");\nif (!btn) return;\nif (currentMode === \"diner\"){\nbtn.disabled = !selectedDinerSlot;\nreturn;\n}\n// Mode spectacle\nif (isPastCityMode){\nbtn.disabled = true;\nreturn;\n}\nif (!selectedCity || !selectedDate){\nbtn.disabled = true;\nreturn;\n}\nconst cutoff = getCutoff();\nconst dk = dateKey(selectedDate);\nconst sessions = getSessionsForSelectedDay();\nif (sessions.length > 1){\nif (!selectedSession){\nbtn.disabled = true;\nreturn;\n}\nconst ok = !selectedSession.soldOut && selectedSession.dateTime > cutoff;\nbtn.disabled = !ok;\nreturn;\n}\nbtn.disabled = !hasFutureSession(selectedCity, dk, cutoff);\n}\nconst btnReserve = document.getElementById(\"btn-reserve\");\nif (btnReserve){\nbtnReserve.addEventListener(\"click\", () => {\nconst link = getBookingLink();\nif (link) window.open(link, \"_blank\");\nelse alert(\"Aucune séance disponible (début dans moins de 30 minutes ou complet).\");\n});\n}\n/************************************************************\n* MOBILE\n************************************************************/\nfunction isMobile(){\nreturn window.matchMedia(\"(max-width: 768px)\").matches ||\n('ontouchstart' in window && window.innerWidth <= 768);\n}\nfunction ensureMobileNav(){\nif (!isMobile()) return;\nconst bar = document.querySelector(\".search-bar\");\nif (!bar) return;\nif (!document.getElementById(\"mobile-nav\")){\nconst nav = document.createElement(\"div\");\nnav.id = \"mobile-nav\";\nnav.innerHTML = `\n<button id=\"mobile-back\" type=\"button\" aria-label=\"Retour\">‹</button>\n<div id=\"mobile-summary\"></div>\n`;\nbar.prepend(nav);\n}\nif (!document.getElementById(\"mobile-next\")){\nconst next = document.createElement(\"button\");\nnext.id = \"mobile-next\";\nnext.type = \"button\";\nnext.textContent = \"Continuer\";\nconst dateFieldWrap = bar.querySelector(\".sf-date\");\nif (dateFieldWrap && dateFieldWrap.nextSibling){\nbar.insertBefore(next, dateFieldWrap.nextSibling);\n} else {\nbar.appendChild(next);\n}\n}\nconst backBtn = document.getElementById(\"mobile-back\");\nconst nextBtn = document.getElementById(\"mobile-next\");\nif (backBtn && !backBtn.dataset.bound){\nbackBtn.dataset.bound = \"1\";\nbackBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nmobileStep = 1;\napplyMobileStep();\ncloseAllDropdowns();\n});\n}\nif (nextBtn && !nextBtn.dataset.bound){\nnextBtn.dataset.bound = \"1\";\nnextBtn.addEventListener(\"click\", (e) => {\ne.stopPropagation();\nif (!(selectedCity && selectedDate) || isPastCityMode) return;\nmobileStep = 2;\napplyMobileStep();\ncloseAllDropdowns();\n});\n}\n}\nfunction removeMobileNav(){\nconst nav = document.getElementById(\"mobile-nav\");\nconst next = document.getElementById(\"mobile-next\");\nif (nav) nav.remove();\nif (next) next.remove();\ndocument.body.classList.remove(\"mobile-step-1\",\"mobile-step-2\");\n}\nfunction applyMobileStep(){\nif (!isMobile()){\nremoveMobileNav();\nreturn;\n}\ndocument.body.classList.toggle(\"mobile-step-1\", mobileStep === 1);\ndocument.body.classList.toggle(\"mobile-step-2\", mobileStep === 2);\nupdateMobileNav();\n}\nfunction updateMobileNav(){\nif (!isMobile()) return;\nensureMobileNav();\nconst nextBtn = document.getElementById(\"mobile-next\");\nconst summary = document.getElementById(\"mobile-summary\");\nconst canProceed = !!(selectedCity && selectedDate && !isPastCityMode);\nif (nextBtn){\nnextBtn.style.display = (mobileStep === 1 && canProceed && currentMode === \"spectacle\") ? \"flex\" : \"none\";\nnextBtn.disabled = !canProceed;\n}\nif (summary){\nconst parts = [];\nif (selectedCity) parts.push(selectedCity);\nif (selectedDate){\nparts.push(\nselectedDate.toLocaleDateString(\"fr-FR\", {\nweekday: \"short\",\nday: \"2-digit\",\nmonth: \"short\"\n})\n);\n}\nconst wrapper = document.getElementById(\"session-wrapper\");\nif (wrapper && !wrapper.classList.contains(\"is-hidden\") && selectedSession){\nparts.push(formatTime(selectedSession.dateTime));\n}\nsummary.textContent = parts.join(\" · \") || \"Retour\";\n}\n}\n/************************************************************\n* DEFAULT NEXT BOOKABLE\n************************************************************/\nfunction findNextBookableOverall(cutoff){\nlet best = null;\nfor (const item of tourData){\nif (!item.soldOut && item.dateTime > cutoff){\nif (!best || item.dateTime < best.dateTime) best = item;\n}\n}\nreturn best;\n}\nfunction findNextBookableDiner(cutoff){\nlet best = null;\nfor (const item of dinerData){\nif (!item.soldOut && item.dateTime > cutoff){\nif (!best || item.dateTime < best.dateTime) best = item;\n}\n}\nreturn best;\n}\n/************************************************************\n* INIT\n************************************************************/\nfunction loadTourData(){\nif (!TOUR_DATA_RAW || !TOUR_DATA_RAW.length) {\nshowEmptyState();\nreturn;\n}\ntourData = TOUR_DATA_RAW.map(item => {\nconst dt = parseFRDateTime(item.dateStr);\nconst dayDate = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\nreturn {\n...item,\nsoldOut: !!item.soldOut,\nisDiner: !!item.isDiner,\ndateTime: dt,\ndayDate,\ndateKey: dateKey(dayDate)\n};\n});\n// Séparer les dîners\ndinerData = tourData.filter(item => item.isDiner);\nindexAll = buildIndexAll(tourData);\nindexDiner = buildIndexAll(dinerData);\n// Initialiser le mode par défaut\ndocument.body.classList.add(\"mode-spectacle\");\nconst cutoff = getCutoff();\n// Mode spectacle : démarrage sans présélection\nselectedCity = null;\nselectedDate = null;\n// Afficher le prochain spectacle en placeholder (informatif uniquement)\nconst nextShow = findNextBookableOverall(cutoff);\nif (nextShow) {\n// Stocker pour réutilisation lors du switch de mode\nnextShowPlaceholder = {\ncity: nextShow.city,\ndateTime: nextShow.dateTime\n};\nconst cv = document.getElementById(\"city-value\");\nconst dv = document.getElementById(\"date-value\");\nif (cv) {\ncv.textContent = nextShow.city;\ncv.classList.add(\"placeholder\");\n}\nif (dv) {\nconst isDesktop = window.matchMedia(\"(min-width: 769px)\").matches;\ndv.textContent = isDesktop ? formatDateShort(nextShow.dateTime) : formatDateLong(nextShow.dateTime);\ndv.classList.add(\"placeholder\");\n}\n} else {\nnextShowPlaceholder = null;\nsetCityValue(\"\");\nclearDateSelection();\n}\n// Préparer le mode dîner\nconst nextDiner = findNextBookableDiner(cutoff);\nif (nextDiner){\nselectedDinerSlot = {\ncity: nextDiner.city,\ndateKey: nextDiner.dateKey,\ndateTime: nextDiner.dateTime,\nlink: nextDiner.link\n};\nconst displayText = `${nextDiner.city} • ${nextDiner.dateTime.toLocaleDateString(\"fr-FR\", {\nweekday:\"short\",\nday:\"numeric\",\nmonth:\"short\"\n})}`;\nsetDinerDateValue(displayText);\n}\nensureCalendarMonthIsUseful();\nrenderCityDropdown(\"\");\nrenderCalendar();\nrenderDinerDropdown();\nupdateSessionUI();\nupdatePeopleDisplay();\nupdateSubmitButton();\nif (isMobile()){\nensureMobileNav();\nmobileStep = 1;\napplyMobileStep();\n} else {\nremoveMobileNav();\n}\nupdateMobileNav();\n}\n(async function init(){\ntry{\nTOUR_DATA_RAW = await loadRawFromCSV();\nloadTourData();\n} catch(err){\nconsole.error(err);\nshowError(\"Impossible de charger le calendrier des spectacles. Vérifiez votre connexion ou réessayez plus tard.\");\n}\n})();\nwindow.addEventListener(\"resize\", () => {\nif (isMobile()){\nensureMobileNav();\napplyMobileStep();\nupdateMobileNav();\n} else {\nremoveMobileNav();\n}\n});\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nBILLETTERIE\t\n\n\n\n\t\t\n\n\n\n\nTOUTES LES OFFRES >\n\n\n\n\n.fl-node-jpyu61ak29rg.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\nPlaces et billets\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nVivez en V.I.P\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTarifs réduits\nEn savoir plus >\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTOUS LES TARIFS >\n\n\n\n\n.fl-node-gv6p07lr5caz.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nBILLETTERIE\t\n\n\n\n\t\t\n\n\n\n\nTOUTES LES OFFRES >\n\n\n\n\n.fl-node-ngjrqlo4uk95.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nTOUS LES TARIFS >\n\n\n\n\n.fl-node-90gjs45e7uxz.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nEn tournée prés de chez vous\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nDîners Spectacle\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nUN SPECTACLE UNIQUE\t\n\n\n\n\t\t\n\n\n\n\n\t\t\n\n\n\n(opens in new tab)\n\n\n\nVisitez le chapiteau >\n\n\n\n\n\t\t\n\n\n\n\nDates des séances\nEn savoir plus >\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\nLes numéros\nEn savoir plus >\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\n\t\t\nL'ESSENTIEL\ndes SOUVENIRS du CIRQUE\n\n\nC'est parti pour le shopping. Vètements, affiches, programmes, souvenir et goodies\n\nACCÉDER À LA BOUTIQUE(opens in new tab)\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nENSEMBLE\t\n\n\n\n\t\t\n\n\n\nOFFRES EVENEMENTIELLES >\n\n\n\n\n.fl-node-w47suykxtn1z.fl-animation:not(.fl-animated){opacity:0}\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nEN GROUPE\nEnsemble pour partager le show\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nÉCOLES\nLa sortie scolaire la plus folle !\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nENTREPRISE et CSE\nPlace aux évènements professionnels\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\nUNE GRANDE HISTOIRE\t\n\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nARLETTE GRUSS ET SA FAMILLE\n\n\n\n\n\t\t\n\n\n\n\n\n\n\nLa magie du cirque à travers les âges\n\n\n\n\n\n\n\n\n","properties.url.0":"\n\n","properties.url.1":"\n\n","properties.url.2":"\n\n","properties.url.3":"\n\n(opens in new tab)","properties.url.4":"\n\n","properties.url.5":"\n\n","properties.url.6":"\n\n","properties.url.7":"\n\n","properties.url.8":"\n\n","type":"https://schema.org/CreativeWork"},"tagProtocol":1},{"tagData":{"properties.image":"https://cirque-gruss.com/wp-content/uploads/2026/04/title.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-billets-2025-.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-vip-2025.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-tarifs-2025.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2025/02/visite-virtuelle.webp","properties.url":"\n\n(opens in new tab)","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2026/10/Tous-les-produits-Essentiel-small-280x280.jpg","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-famille-arlette.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-au-travers-des-ages-1980.jpg","properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"type":"https://schema.org/SiteNavigationElement"},"tagProtocol":1},{"tagData":{"properties.url.0":"\n\n","properties.url.1":"\n\n","type":"http://schema.org/WPFooter"},"tagProtocol":1},{"tagData":{"properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.url":"\n\n","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"properties.image":"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png","type":"https://schema.org/ImageObject"},"tagProtocol":1},{"tagData":{"og:locale":"fr_FR"},"tagProtocol":3},{"tagData":{"og:type":"website"},"tagProtocol":3},{"tagData":{"og:title":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée"},"tagProtocol":3},{"tagData":{"og:description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406"},"tagProtocol":3},{"tagData":{"og:url":"https://www.cirque-gruss.com"},"tagProtocol":3},{"tagData":{"og:site_name":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque"},"tagProtocol":3},{"tagData":{"og:updated_time":"2026-10-09T15:58:07+02:00"},"tagProtocol":3},{"tagData":{"og:image":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg"},"tagProtocol":3},{"tagData":{"og:image:secure_url":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg"},"tagProtocol":3},{"tagData":{"og:image:width":"1200"},"tagProtocol":3},{"tagData":{"og:image:height":"700"},"tagProtocol":3},{"tagData":{"og:image:alt":"cirque"},"tagProtocol":3},{"tagData":{"og:image:type":"image/jpeg"},"tagProtocol":3},{"tagData":{"@context":"https://schema.org","@graph.0.@id":"https://www.cirque-gruss.com/#organization","@graph.0.@type":"Organization","@graph.0.logo.@id":"https://www.cirque-gruss.com/#logo","@graph.0.logo.@type":"ImageObject","@graph.0.logo.caption":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque","@graph.0.logo.contentUrl":"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png","@graph.0.logo.height":"42","@graph.0.logo.inLanguage":"fr-FR","@graph.0.logo.url":"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png","@graph.0.logo.width":"400","@graph.0.name":"Cirque Arlette Gruss","@graph.0.sameAs.0":"https://www.facebook.com/CirqueArletteGrussOfficiel/","@graph.1.@id":"https://www.cirque-gruss.com/#website","@graph.1.@type":"WebSite","@graph.1.inLanguage":"fr-FR","@graph.1.name":"Cirque Arlette Gruss - Spectacle des 40 ans du cirque","@graph.1.potentialAction.@type":"SearchAction","@graph.1.potentialAction.query-input":"required name=search_term_string","@graph.1.potentialAction.target":"https://www.cirque-gruss.com/?s={search_term_string}","@graph.1.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.1.url":"https://www.cirque-gruss.com","@graph.2.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.2.@type":"ImageObject","@graph.2.height":"700","@graph.2.inLanguage":"fr-FR","@graph.2.url":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.2.width":"1200","@graph.3.@id":"https://www.cirque-gruss.com#webpage","@graph.3.@type":"WebPage","@graph.3.about.@id":"https://www.cirque-gruss.com/#organization","@graph.3.dateModified":"2026-10-09T15:58:07+02:00","@graph.3.datePublished":"2026-04-09T12:21:20+02:00","@graph.3.inLanguage":"fr-FR","@graph.3.isPartOf.@id":"https://www.cirque-gruss.com/#website","@graph.3.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.3.primaryImageOfPage.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.3.url":"https://www.cirque-gruss.com","@graph.4.@id":"https://www.cirque-gruss.com#schema-217518","@graph.4.@type":"Article","@graph.4.author.@type":"Person","@graph.4.author.name":"test04","@graph.4.dateModified":"2026-10-09T15:58:07+02:00","@graph.4.datePublished":"2026-04-09T12:21:20+02:00","@graph.4.description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406","@graph.4.headline":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.4.image.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.4.inLanguage":"fr-FR","@graph.4.isPartOf.@id":"https://www.cirque-gruss.com#webpage","@graph.4.mainEntityOfPage.@id":"https://www.cirque-gruss.com#webpage","@graph.4.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.4.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.5.@id":"https://www.cirque-gruss.com#schema-217591","@graph.5.@type":"Article","@graph.5.author.@type":"Person","@graph.5.author.name":"test04","@graph.5.dateModified":"2026-10-09T15:58:07+02:00","@graph.5.datePublished":"2026-04-09T12:21:20+02:00","@graph.5.description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406","@graph.5.headline":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.5.image.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.5.inLanguage":"fr-FR","@graph.5.isPartOf.@id":"https://www.cirque-gruss.com#webpage","@graph.5.mainEntityOfPage.@id":"https://www.cirque-gruss.com#webpage","@graph.5.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.5.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.6.@id":"https://www.cirque-gruss.com#schema-217664","@graph.6.@type":"Article","@graph.6.author.@type":"Person","@graph.6.author.name":"test04","@graph.6.dateModified":"2026-10-09T15:58:07+02:00","@graph.6.datePublished":"2026-04-09T12:21:20+02:00","@graph.6.description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406","@graph.6.headline":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.6.image.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.6.inLanguage":"fr-FR","@graph.6.isPartOf.@id":"https://www.cirque-gruss.com#webpage","@graph.6.mainEntityOfPage.@id":"https://www.cirque-gruss.com#webpage","@graph.6.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.6.publisher.@id":"https://www.cirque-gruss.com/#organization","@graph.7.@id":"https://www.cirque-gruss.com#schema-217737","@graph.7.@type":"Article","@graph.7.author.@type":"Person","@graph.7.author.name":"test04","@graph.7.dateModified":"2026-10-09T15:58:07+02:00","@graph.7.datePublished":"2026-04-09T12:21:20+02:00","@graph.7.description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406","@graph.7.headline":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.7.image.@id":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg","@graph.7.inLanguage":"fr-FR","@graph.7.isPartOf.@id":"https://www.cirque-gruss.com#webpage","@graph.7.mainEntityOfPage.@id":"https://www.cirque-gruss.com#webpage","@graph.7.name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","@graph.7.publisher.@id":"https://www.cirque-gruss.com/#organization"},"tagProtocol":4},{"tagData":{"meta:viewport":"width=device-width, initial-scale=1"},"tagProtocol":5},{"tagData":{"meta:description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406"},"tagProtocol":5},{"tagData":{"meta:robots":"follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"},"tagProtocol":5},{"tagData":{"meta:twitter:card":"summary_large_image"},"tagProtocol":5},{"tagData":{"meta:twitter:title":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée"},"tagProtocol":5},{"tagData":{"meta:twitter:description":"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406"},"tagProtocol":5},{"tagData":{"meta:twitter:image":"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg"},"tagProtocol":5},{"tagData":{"meta:twitter:label1":"Écrit par"},"tagProtocol":5},{"tagData":{"meta:twitter:data1":"test04"},"tagProtocol":5},{"tagData":{"meta:twitter:label2":"Temps de lecture"},"tagProtocol":5},{"tagData":{"meta:twitter:data2":"Moins d’une minute"},"tagProtocol":5},{"tagData":{"meta:msapplication-TileImage":"https://www.cirque-gruss.com/assets/uploads/2020/01/favicon-300x300.png"},"tagProtocol":5},{"tagData":{"meta:viewport":"width=device-width, initial-scale=1.0"},"tagProtocol":5},{"tagData":{"title":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée"},"tagProtocol":5},{"tagData":{"canonicalUrl":"https://www.cirque-gruss.com"},"tagProtocol":6}],"ms":2,"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"]}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p"},{"data":{"body":{"ad_id":"undefined","app_name":"external","att_status":3,"creative_id":"undefined","custom_enum":"form_visible","custom_name":"form_funnel","ext_json":{"message":"form_1|1.-2835.160::0.0.0.0::0.0.0|","performance":[],"pixel_api_conflict_flag":false,"pixel_list":"C50A482LQH64DC0FCGG0,CT443I3C77U9RNPHCGL0"},"in_iframe":1,"latency":0,"lib":{"lib_version":"2.2.1","ttq_name":"ttq"},"load_id":"df99baf1-c68c-11f1-90e0-963feef81235","metric_name":"custom_info","net_type":"4g","page_url":"https://www.cirque-gruss.com/","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0","partner":"non","pixel_code":"C50A482LQH64DC0FCGG0","pixel_monitor_version":"v2","placement":"non","platform":1,"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","time_to_last_start":3018,"time_to_navigation_start":3325,"user_agent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default","vids":"76936274"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/monitor"},{"data":{"body":{"_inspection":{"inter_id":"1.-2835.160::0.0.0.0::0.0.0","vids":"76936274"},"action":"Direct","auto_collected_properties":{"page_trigger":"tts-lf-form_visible"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":0,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"2","referrer":"","url":"https://www.cirque-gruss.com/"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0::df99baf1-c68c-11f1-90e0-963feef81235","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","sessions":[{"csct":1,"csid":"1791844379643::0Eg8nNhrDbDIT_sMCSdG","page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pixel_code":"C50A482LQH64DC0FCGG0"},{"csct":1,"csid":"1791844379650::DeJ0pwJ7WEmsE3Hx8zkw","page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pixel_code":"CT443I3C77U9RNPHCGL0"}],"user":{"anonymous_id":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844380140-8516366065995","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:00.140Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/act"},{"data":{"body":{"_inspection":{"inter_id":"1.-2835.160::0.0.0.0::0.0.0","vids":"76936274"},"action":"Metadata","auto_collected_properties":{"content_data":{"json_ld":"[{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.cirque-gruss.com/#organization\",\"name\":\"Cirque Arlette Gruss\",\"sameAs\":[\"https://www.facebook.com/CirqueArletteGrussOfficiel/\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https://www.cirque-gruss.com/#logo\",\"url\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png\",\"contentUrl\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/logo-AG-web-2020-dore.png\",\"caption\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"inLanguage\":\"fr-FR\",\"width\":\"400\",\"height\":\"42\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.cirque-gruss.com/#website\",\"url\":\"https://www.cirque-gruss.com\",\"name\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":\"https://www.cirque-gruss.com/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}},{\"@type\":\"ImageObject\",\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg\",\"url\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg\",\"width\":\"1200\",\"height\":\"700\",\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https://www.cirque-gruss.com#webpage\",\"url\":\"https://www.cirque-gruss.com\",\"name\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"datePublished\":\"2026-04-09T12:21:20+02:00\",\"dateModified\":\"2026-10-09T15:58:07+02:00\",\"about\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com/#website\"},\"primaryImageOfPage\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg\"},\"inLanguage\":\"fr-FR\"},{\"@type\":\"Article\",\"headline\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"datePublished\":\"2026-04-09T12:21:20+02:00\",\"dateModified\":\"2026-10-09T15:58:07+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406\",\"name\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"@id\":\"https://www.cirque-gruss.com#schema-217518\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"datePublished\":\"2026-04-09T12:21:20+02:00\",\"dateModified\":\"2026-10-09T15:58:07+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406\",\"name\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"@id\":\"https://www.cirque-gruss.com#schema-217591\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"datePublished\":\"2026-04-09T12:21:20+02:00\",\"dateModified\":\"2026-10-09T15:58:07+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406\",\"name\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"@id\":\"https://www.cirque-gruss.com#schema-217664\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com#webpage\"}},{\"@type\":\"Article\",\"headline\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"datePublished\":\"2026-04-09T12:21:20+02:00\",\"dateModified\":\"2026-10-09T15:58:07+02:00\",\"author\":{\"@type\":\"Person\"},\"description\":\"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406\",\"name\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"@id\":\"https://www.cirque-gruss.com#schema-217737\",\"isPartOf\":{\"@id\":\"https://www.cirque-gruss.com#webpage\"},\"publisher\":{\"@id\":\"https://www.cirque-gruss.com/#organization\"},\"image\":{\"@id\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre.jpg\"},\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https://www.cirque-gruss.com#webpage\"}}]}]","meta":"{\"title\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"meta:description\":\"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406\"}","microdata":"[{\"dimensions\":{\"h\":6884,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":107,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":0,\"w\":0},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/Organization\"},{\"dimensions\":{\"h\":0,\"w\":0},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":20,\"w\":190},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/Organization\"}],\"type\":\"https://schema.org/WPHeader\"},{\"dimensions\":{\"h\":5404,\"w\":325},\"properties\":{\"text\":\"NOUVELLE CRÉATION\\n\\nEN TOURNÉE\\nDANS TOUTE LA FRANCE\\nSpectacle\\nDîner-Spectacle\\nNancy\\nvendredi 16 octobre 2026\\nBILLETTERIE\\n TOUS LES TARIFS >\\nEn tournée\\nprés de chez vous\\nDîners Spectacle\\nUN SPECTACLE UNIQUE\\n(opens in new tab)\\n\\nVisitez le chapiteau >\\n\\nDates des séances\\n\\nEn savoir plus >\\n\\nLes numéros\\n\\nEn savoir plus >\\n\\nL'ESSENTIEL\\ndes SOUVENIRS du CIRQUE\\n\\nC'est parti pour le shopping. Vètements, affiches, programmes, souvenir et goodies\\n\\nACCÉDER À LA BOUTIQUE\\n(opens in new tab)\\nENSEMBLE\\nEN GROUPE\\n\\nE\"},\"subscopes\":[{\"dimensions\":{\"h\":0,\"w\":0},\"properties\":{\"image\":\"https://cirque-gruss.com/wp-content/uploads/2026/04/title.png\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":163,\"w\":285},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":169,\"w\":285},\"properties\":{\"url\":\"https://www.cirque-gruss.com/tarifs-et-billetterie#tarifs-placement\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-billets-2025-.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":169,\"w\":285},\"properties\":{\"url\":\"https://www.cirque-gruss.com/offre-vip\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-vip-2025.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":169,\"w\":285},\"properties\":{\"url\":\"https://www.cirque-gruss.com/tarifs-et-billetterie#tarif-reduit\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2025/02/rub-tarifs-2025.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":184,\"w\":285},\"properties\":{\"url\":\"https://vip-studio360.fr/galerie360/visites/vv-cirque-arlette-gruss/index.htm\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2025/02/visite-virtuelle.webp\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":280,\"w\":285},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2026/10/Tous-les-produits-Essentiel-small-280x280.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":129,\"w\":299},\"properties\":{\"url\":\"https://www.cirque-gruss.com/groupes\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-en-groupe.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":129,\"w\":299},\"properties\":{\"url\":\"https://www.cirque-gruss.com/scolaires\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-ecoles.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":129,\"w\":299},\"properties\":{\"url\":\"https://www.cirque-gruss.com/comites-d-entreprise\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2019/09/ensemble-entreprises.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":124,\"w\":259},\"properties\":{\"url\":\"https://www.cirque-gruss.com/la-famille\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-famille-arlette.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":130,\"w\":275},\"properties\":{\"url\":\"https://www.cirque-gruss.com/la-famille#cirque\",\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/02/le-cirque-au-travers-des-ages-1980.jpg\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"}],\"type\":\"https://schema.org/CreativeWork\"},{\"dimensions\":{\"h\":269,\"w\":318},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":482,\"w\":318},\"properties\":{},\"subscopes\":[],\"type\":\"https://schema.org/SiteNavigationElement\"},{\"dimensions\":{\"h\":1373,\"w\":353},\"properties\":{},\"subscopes\":[{\"dimensions\":{\"h\":89,\"w\":133},\"properties\":{\"url\":\"https://www.cirque-gruss.com/\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"},{\"dimensions\":{\"h\":17,\"w\":133},\"properties\":{\"url\":\"tel:0812106406\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"}],\"type\":\"http://schema.org/WPFooter\"},{\"dimensions\":{\"h\":41,\"w\":243},\"properties\":{\"image\":\"https://www.cirque-gruss.com/assets/uploads/2020/01/aurevoir-cirque-arlette-gruss.png\"},\"subscopes\":[],\"type\":\"https://schema.org/ImageObject\"}],\"type\":\"https://schema.org/WebPage\"}]","open_graph":"{\"og:locale\":\"fr_FR\",\"og:type\":\"website\",\"og:title\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"og:description\":\"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406\",\"og:url\":\"https://www.cirque-gruss.com\",\"og:site_name\":\"Cirque Arlette Gruss - Spectacle des 40 ans du cirque\",\"og:updated_time\":\"2026-10-09T15:58:07+02:00\",\"og:image\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg\",\"og:image:secure_url\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg\",\"og:image:width\":\"1200\",\"og:image:height\":\"700\",\"og:image:alt\":\"cirque\",\"og:image:type\":\"image/jpeg\",\"article:published_time\":\"2026-04-09T12:21:20+02:00\",\"article:modified_time\":\"2026-10-09T15:58:07+02:00\",\"twitter:card\":\"summary_large_image\",\"twitter:title\":\"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée\",\"twitter:description\":\"Vivez des moments inoubliables au spectacle du Cirque Arlette Gruss Profitez des pack Famille V.I.P ou des séances à tarif réduit • Réservez vos billets. Contactez-nous 7j/7 au 0812 106 406\",\"twitter:image\":\"https://www.cirque-gruss.com/assets/uploads/2025/03/Parenthese_BanniereWebOrdiHomePage_1200-700_v2_Titre-1.jpg\",\"twitter:label1\":\"Écrit par\",\"twitter:data1\":\"test04\",\"twitter:label2\":\"Temps de lecture\",\"twitter:data2\":\"Moins d’une minute\"}"},"page_trigger":"PageView"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"device":{"platform":"android"},"index":0,"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"2","referrer":"","url":"https://www.cirque-gruss.com/"},"pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0::df99baf1-c68c-11f1-90e0-963feef81235","pixel":{"code":"C50A482LQH64DC0FCGG0","codes":"C50A482LQH64DC0FCGG0|CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r","sessions":[{"csct":1,"csid":"1791844379643::0Eg8nNhrDbDIT_sMCSdG","page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pixel_code":"C50A482LQH64DC0FCGG0"},{"csct":1,"csid":"1791844379650::DeJ0pwJ7WEmsE3Hx8zkw","page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pixel_code":"CT443I3C77U9RNPHCGL0"}],"user":{"anonymous_id":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event_id":"","is_onsite":false,"message_id":"messageId-1791844380091-3245989985918","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:33:00.091Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel/act"},{"data":{"body":{"ctx":{"a":[26,37,45,45,1],"bg":false,"bt":"1d53c387","c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","d_bvs":"","huah":true,"lc":"488515ac-a3cf-4065-8422-8abd998e8497","ls":"921bcf58-1f80-4fed-93d4-f7c942cccd87","mtp":0,"p":[950,961,619,3123,2412],"pv":2,"r":"1c3cb923-fbd5-4396-b169-bc896304efeb","rd":3244,"sa":1791844379219,"sh":745,"si":"2R4DnPvQ9tGBgwGRpF5Pj-ojzyU6TaOe2nOSG89YH4Dn7SLU98lCzM2HXqQOxcxNoxgMlgZ37yq1uW0uha8yC84ryC9F5JznaoVIhRWso89gZWEiir2ZjoSXBB5UGVCM4tocPLkj-9WUltVpvIljBO_r2MX4kKvU","sps":832,"ss":"0c960677-ef2a-41b9-842e-85af320bce2b","sw":353,"ts":1791844380054,"ua":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","url":"https://www.cirque-gruss.com/","v":"3.60.0-2608111919"},"req":[{"del":174,"i":{"pids":["bdb43125-632f-4607-bcd8-ba1682ca837c"]}}],"u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr6.snapchat.com/p"},{"data":{"body":{"_inspection":{"inter_id":"1.-2835.0::0.0.0.0::0.0.0","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844379650::DeJ0pwJ7WEmsE3Hx8zkw","css":1,"device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/"},"page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0::e0155661-c68c-11f1-9d9a-72b0f783ad32-CT443I3C77U9RNPHCGL0","pixel":{"code":"CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-CT443I3C77U9RNPHCGL0","user":{"anonymous_id":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"Pageview","event_id":"","is_onsite":false,"message_id":"messageId-1791844379691-2659346386333-CT443I3C77U9RNPHCGL0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:32:59.691Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-2835.0::0.0.0.0::0.0.0","trigger_source":"pixel_self","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844379650::DeJ0pwJ7WEmsE3Hx8zkw","device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/"},"page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0::e0155661-c68c-11f1-9d9a-72b0f783ad32-CT443I3C77U9RNPHCGL0","pixel":{"code":"CT443I3C77U9RNPHCGL0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-CT443I3C77U9RNPHCGL0","user":{"anonymous_id":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"LandingPageView","event_id":"","is_onsite":false,"message_id":"messageId-1791844379697-6138245994874-CT443I3C77U9RNPHCGL0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:32:59.697Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-2835.0::0.0.0.0::0.0.0","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844379643::0Eg8nNhrDbDIT_sMCSdG","css":1,"device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/"},"page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0::df99baf1-c68c-11f1-90e0-963feef81235-C50A482LQH64DC0FCGG0","pixel":{"code":"C50A482LQH64DC0FCGG0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-C50A482LQH64DC0FCGG0","user":{"anonymous_id":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"Pageview","event_id":"","is_onsite":false,"message_id":"messageId-1791844379668-2067307533203-C50A482LQH64DC0FCGG0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:32:59.668Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-2835.0::0.0.0.0::0.0.0","trigger_source":"pixel_self","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844379643::0Eg8nNhrDbDIT_sMCSdG","device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/"},"page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0::df99baf1-c68c-11f1-90e0-963feef81235-C50A482LQH64DC0FCGG0","pixel":{"code":"C50A482LQH64DC0FCGG0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-C50A482LQH64DC0FCGG0","user":{"anonymous_id":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"LandingPageView","event_id":"","is_onsite":false,"message_id":"messageId-1791844379681-8855982268282-C50A482LQH64DC0FCGG0","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:32:59.681Z"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/api/v2/pixel"},{"data":{"body":{"_inspection":{"inter_id":"1.-2835.0::0.0.0.0::0.0.0","vids":"76936274"},"context":{"ad":{"jsb_status":2,"sdk_env":"external"},"csct":1,"csid":"1791844379643::0Eg8nNhrDbDIT_sMCSdG","css":1,"device":{"platform":"android"},"library":{"name":"pixel.js","version":"2.2.1"},"page":{"load_progress":"1","referrer":"","url":"https://www.cirque-gruss.com/"},"page_csid":"1791844379644::x6ejenFUpbQ2Ifm8d_Sk","pageview_id":"df9a00ba-c68c-11f1-90e0-963feef81235-HgdE6.0.0::df99baf1-c68c-11f1-90e0-963feef81235-C50A482LQH64DC0FCGG0","pixel":{"code":"C50A482LQH64DC0FCGG0","runtime":"1"},"session_id":"df9a00ba-c68c-11f1-90e0-963feef81235::qLI-17alNoduPC1p5H2r-C50A482LQH64DC0FCGG0","user":{"anonymous_id":"01M4S3YTZ453AQRJNMQH54TCJR_.tt.1.1791844379622"},"userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36","variation_id":"default"},"event":"EnrichIpv6","event_id":"","is_onsite":false,"message_id":"messageId-1791844379668-2067307533203-C50A482LQH64DC0FCGG0#source=2","properties":{"android_version":"","device_model":""},"signal_diagnostic_labels":{"hashed_eb_email":{"label":"missing"},"hashed_eb_phone":{"label":"missing"},"hashed_email":{"label":"missing"},"hashed_phone":{"label":"missing"},"raw_auto_email":{"label":"missing"},"raw_auto_phone":{"label":"missing"},"raw_eb_email":{"label":"missing"},"raw_eb_phone":{"label":"missing"},"raw_email":{"label":"missing"},"raw_phone":{"label":"missing"}},"timestamp":"2026-10-12T22:32:59.668Z","trigger_event":"Pageview"},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics-ipv6.tiktokw.us/ipv6/enrich_ipv6"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/identify_0504602d.js"},{"data":{"body":{},"filter":"||connect.facebook.net/signals/$third-party","listName":"easyprivacy.txt","query":{"domain":"www.cirque-gruss.com","ex_m":"118,241,171,27,82,83,162,78,77,11,181,102,20,153,141,46,85,90,149,176,183,8,4,5,7,6,3,103,115,32,17,31,18,33,34,35,37,55,163,87,126,22,24,51,47,49,48,95,104,108,124,160,164,53,125,29,26,133,79,43,166,165,167,157,155,30,42,66,123,178,80,21,128,93,76,23,97,98,130,96,151,150,154,109,177,180,41,56,127,54,161,72,185,110,184,210,255,84,274,273,272,14,25,28,40,62,117,68,10,73,111,112,113,119,144,38,36,146,147,148,143,142,172,86,175,173,174,57,69,67,137,19,179,52,324,325,326,323,339,361,248,237,70,238,236,364,355,59,249,121,145,92,135,61,134,140,139,65,74,168,88,89,129,44,39,60,63,114,182,1,138,16,136,12,2,64,105,15,75,71,132,101,100,187,188,106,107,9,116,186,58,158,99,91,81,131,120,169,50,159,0,94,152,156,170,45,122,13,189","hme":"7459fa3e38c2784dbaf309537bed5fa7e8560fab51fb61e53e5ffafeb46a02a9","im":1,"r":"stable","v":"2.9.419"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://connect.facebook.net/signals/config/735734249165336?v=2.9.419&r=stable&domain=www.cirque-gruss.com&im=1&hme=7459fa3e38c2784dbaf309537bed5fa7e8560fab51fb61e53e5ffafeb46a02a9&ex_m=118%2C241%2C171%2C27%2C82%2C83%2C162%2C78%2C77%2C11%2C181%2C102%2C20%2C153%2C141%2C46%2C85%2C90%2C149%2C176%2C183%2C8%2C4%2C5%2C7%2C6%2C3%2C103%2C115%2C32%2C17%2C31%2C18%2C33%2C34%2C35%2C37%2C55%2C163%2C87%2C126%2C22%2C24%2C51%2C47%2C49%2C48%2C95%2C104%2C108%2C124%2C160%2C164%2C53%2C125%2C29%2C26%2C133%2C79%2C43%2C166%2C165%2C167%2C157%2C155%2C30%2C42%2C66%2C123%2C178%2C80%2C21%2C128%2C93%2C76%2C23%2C97%2C98%2C130%2C96%2C151%2C150%2C154%2C109%2C177%2C180%2C41%2C56%2C127%2C54%2C161%2C72%2C185%2C110%2C184%2C210%2C255%2C84%2C274%2C273%2C272%2C14%2C25%2C28%2C40%2C62%2C117%2C68%2C10%2C73%2C111%2C112%2C113%2C119%2C144%2C38%2C36%2C146%2C147%2C148%2C143%2C142%2C172%2C86%2C175%2C173%2C174%2C57%2C69%2C67%2C137%2C19%2C179%2C52%2C324%2C325%2C326%2C323%2C339%2C361%2C248%2C237%2C70%2C238%2C236%2C364%2C355%2C59%2C249%2C121%2C145%2C92%2C135%2C61%2C134%2C140%2C139%2C65%2C74%2C168%2C88%2C89%2C129%2C44%2C39%2C60%2C63%2C114%2C182%2C1%2C138%2C16%2C136%2C12%2C2%2C64%2C105%2C15%2C75%2C71%2C132%2C101%2C100%2C187%2C188%2C106%2C107%2C9%2C116%2C186%2C58%2C158%2C99%2C91%2C81%2C131%2C120%2C169%2C50%2C159%2C0%2C94%2C152%2C156%2C170%2C45%2C122%2C13%2C189"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/main.MWU2MzIzODM0MA.js"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"bg":false,"bt":"1d53c387","cdid":"@-df4ddaf2-87ab-4c04-aec9-d5231adf6dc5","d_bvs":"","ev":"PAGE_VIEW","gat":"AW-11241157491,GTM-WGZHD7C","huah":true,"intg":"gtm","m_dcl":961,"m_fcps":619,"m_pi":950,"m_pl":0,"m_pv":2,"m_rd":2460,"m_sh":745,"m_sl":2412,"m_sw":353,"pid":"bdb43125-632f-4607-bcd8-ba1682ca837c","pids":"bdb43125-632f-4607-bcd8-ba1682ca837c","pl":"https://www.cirque-gruss.com/","trackId":"d64cdd8d-a444-41a5-9cd6-8c39caba7300","ts":1791844379270,"u_c1":"039cfbd0-f6d1-4383-b591-a45e4f8fea23","u_sclid":"921bcf58-1f80-4fed-93d4-f7c942cccd87","u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b","v":"3.60.0-2608111919"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/p?pid=bdb43125-632f-4607-bcd8-ba1682ca837c&ev=PAGE_VIEW&intg=gtm&pids=bdb43125-632f-4607-bcd8-ba1682ca837c&u_c1=039cfbd0-f6d1-4383-b591-a45e4f8fea23&cdid=%40-df4ddaf2-87ab-4c04-aec9-d5231adf6dc5&u_sclid=921bcf58-1f80-4fed-93d4-f7c942cccd87&u_scsid=0c960677-ef2a-41b9-842e-85af320bce2b&gat=AW-11241157491%2CGTM-WGZHD7C&bg=false&bt=1d53c387&d_bvs=&huah=true&m_dcl=961&m_fcps=619&m_pi=950&m_pl=0&m_pv=2&m_rd=2460&m_sh=745&m_sl=2412&m_sw=353&pl=https%3A%2F%2Fwww.cirque-gruss.com%2F&trackId=d64cdd8d-a444-41a5-9cd6-8c39caba7300&ts=1791844379270&v=3.60.0-2608111919"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"pid":"bdb43125-632f-4607-bcd8-ba1682ca837c","u_sclid":"921bcf58-1f80-4fed-93d4-f7c942cccd87","u_scsid":"0c960677-ef2a-41b9-842e-85af320bce2b"}},"stack":[{"fileName":"","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/cm/i?pid=bdb43125-632f-4607-bcd8-ba1682ca837c&u_scsid=0c960677-ef2a-41b9-842e-85af320bce2b&u_sclid=921bcf58-1f80-4fed-93d4-f7c942cccd87"},{"data":{"body":{},"filter":"||tr.snapchat.com^","listName":"easyprivacy.txt","query":{"v":"3.60.0-2608111919"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://tr.snapchat.com/config/com/bdb43125-632f-4607-bcd8-ba1682ca837c.js?v=3.60.0-2608111919"},{"data":{"body":{},"filter":"||google.com/pagead/","listName":"easylist.txt","query":{"_tu":"CBA","async":1,"auid":1245753783.1791844,"bg":"ffffff","capi":1,"category":"acrcp_v1_512","cerd":"ChDI7L4txYG_LZGHvy2d6bc4","cid":"CAQSTwBAziHchKKnQx3U9NhkcBb6TDDFDoyvRSTsYQf06jAEyAlOmQDWQbACnGzWH1lsxaJG679l8FoTC9vlJysqQT7GiO9pPk3Ipc2I03o3fr8","crd":"CLTesQII8t-xAgit4bECCK_hsQIIobixAgixwbECCLDBsQIIscOxAgiKxbECCMLJsQII1-ixAgi0xrECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgiK8rECCPTasQII4uqxAgjo7rECCLfysQIIkuuxAgjJ47ECCJfUsQIIyduxAgim3bECCLDesQIIgNuxAgjN4bECShR0cmlnZ2VyPWV2ZW50LXNvdXJjZVoDCgEBYgMKAQM","ct_cookie_present":false,"currency_code":"EUR","cv":11,"did":"dNGJiYT","dma":1,"dma_cps":"a","ec_mode":"a","ecsid2":1216465013.1791844,"eitems":"ChAI8Iqy1gYQvLfb7ov4kZxMEh0AG3JFSIkXZvME1912yaeHGZvxCsuu2JX0GGxPgg","em":"tv.1","emd":"tvd.1","en":"conversion","eoid":"CkcKEAjwirLWBhDm5ZrDna_88WsSMwAQWfsvQw7ZI5e9XarnGel4mUWkYFwpmoO1TaiH6ILqLlDlEnyIp5d2C0GDpnxDNYNvNPD_BwE","ept":5,"fmt":8,"frm":0,"fsk":"ChAI8Iqy1gYQ7uDWkqjJjI1tEiwAtDPwq2GDwCr4wCtHodqyDJdzGVoywrn5ZCunHLV9VYWnusilKoQmsiTBbRoCj20","fst":1791844378703,"gcd":"13l3l3l2l1l1","gcl_ctr":"1~0~0~0","gdid":"dNGJiYT","gtm":"45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1","guid":"ON","hn":"www.googleadservices.com","is_vtc":1,"label":"whADCKTgy-0aEPPmmfAp","npa":1,"oidsrc":3,"pscrd":"IhMIpYjEvcS1lwMVmQymCB2_XRz6Oh1odHRwczovL3d3dy5jaXJxdWUtZ3J1c3MuY29tL0JYQ2hFSThJcXkxZ1lRcHF6UzRxTFA3ZUxXQVJJdEFGcFBkUTAzeWNfa1RZM0R4YVkyeHpPZjhsYUNOaFlxMnJCUGN6ZThRZGlaOHlHeDRhdzFGR3ZZaG1PVXoMCAliCAgAEAAYACAA","random":3285669038,"rcb":13,"tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tiba":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","u_h":745,"u_w":353,"uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"url":"https://www.cirque-gruss.com/","value":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.google.com/pagead/1p-conversion/11241157491/?random=1466667349&cv=11&fst=1791844378703&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion&gtm=45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1&gcd=13l3l3l2l1l1&dma_cps=a&dma=1&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&u_w=353&u_h=745&url=https%3A%2F%2Fwww.cirque-gruss.com%2F&rcb=13&label=whADCKTgy-0aEPPmmfAp&capi=1&frm=0&tiba=Cirque%20Arlette%20Gruss%20-%20Nouveau%20Spectacle%20Parenth%C3%A8se%20!%20billets%20et%20horaires%20-%20En%20tourn%C3%A9e&did=dNGJiYT&gdid=dNGJiYT&value=0&currency_code=EUR&hn=www.googleadservices.com&npa=1&auid=1245753783.1791844378&uaa=&uab=&uafvl=&uamb=0&uam=&uap=&uapv=&uaw=0&ec_mode=a&oidsrc=3&ecsid2=1216465013.1791844379&_tu=CBA&gcl_ctr=1~0~0~0&category=acrcp_v1_512&em=tv.1&emd=tvd.1&ept=5&ct_cookie_present=false&eoid=CkcKEAjwirLWBhDm5ZrDna_88WsSMwAQWfsvQw7ZI5e9XarnGel4mUWkYFwpmoO1TaiH6ILqLlDlEnyIp5d2C0GDpnxDNYNvNPD_BwE&crd=CLTesQII8t-xAgit4bECCK_hsQIIobixAgixwbECCLDBsQIIscOxAgiKxbECCMLJsQII1-ixAgi0xrECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgiK8rECCPTasQII4uqxAgjo7rECCLfysQIIkuuxAgjJ47ECCJfUsQIIyduxAgim3bECCLDesQIIgNuxAgjN4bECShR0cmlnZ2VyPWV2ZW50LXNvdXJjZVoDCgEBYgMKAQM&cerd=ChDI7L4txYG_LZGHvy2d6bc4&fsk=ChAI8Iqy1gYQ7uDWkqjJjI1tEiwAtDPwq2GDwCr4wCtHodqyDJdzGVoywrn5ZCunHLV9VYWnusilKoQmsiTBbRoCj20&pscrd=IhMIpYjEvcS1lwMVmQymCB2_XRz6Oh1odHRwczovL3d3dy5jaXJxdWUtZ3J1c3MuY29tL0JYQ2hFSThJcXkxZ1lRcHF6UzRxTFA3ZUxXQVJJdEFGcFBkUTAzeWNfa1RZM0R4YVkyeHpPZjhsYUNOaFlxMnJCUGN6ZThRZGlaOHlHeDRhdzFGR3ZZaG1PVXoMCAliCAgAEAAYACAA&is_vtc=1&cid=CAQSTwBAziHchKKnQx3U9NhkcBb6TDDFDoyvRSTsYQf06jAEyAlOmQDWQbACnGzWH1lsxaJG679l8FoTC9vlJysqQT7GiO9pPk3Ipc2I03o3fr8&eitems=ChAI8Iqy1gYQvLfb7ov4kZxMEh0AG3JFSIkXZvME1912yaeHGZvxCsuu2JX0GGxPgg&random=3285669038"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"_id":"fc7e06cde401c619","_idn":1,"_refts":0,"action_name":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","fa_fp[0][fa_fv]":1,"fa_fp[0][fa_name]":"subscription","fa_fp[0][fa_vid]":"pyGqnC","fa_pv":1,"h":22,"idsite":1,"m":32,"pf_dm1":805,"pf_net":96,"pf_srv":38,"pf_tfr":26,"pv_id":"66FUTY","r":120306,"rec":1,"s":59,"send_image":0,"uadata":{},"url":"https://www.cirque-gruss.com/"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cirquegruss.matomo.cloud/matomo.php?action_name=Cirque%20Arlette%20Gruss%20-%20Nouveau%20Spectacle%20Parenth%C3%A8se%20!%20billets%20et%20horaires%20-%20En%20tourn%C3%A9e&idsite=1&rec=1&r=120306&h=22&m=32&s=59&url=https%3A%2F%2Fwww.cirque-gruss.com%2F&_id=fc7e06cde401c619&_idn=1&send_image=0&_refts=0&pv_id=66FUTY&fa_pv=1&fa_fp[0][fa_vid]=pyGqnC&fa_fp[0][fa_name]=subscription&fa_fp[0][fa_fv]=1&pf_net=96&pf_srv=38&pf_tfr=26&pf_dm1=805&uadata=%7B%7D"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{"_tu":"CBA","async":1,"auid":1245753783.1791844,"bg":"ffffff","capi":1,"category":"acrcp_v1_512","cerd":"ChDI7L4txYG_LZGHvy2d6bc4","crd":"CLTesQII8t-xAgit4bECCK_hsQIIobixAgixwbECCLDBsQIIscOxAgiKxbECCMLJsQII1-ixAgi0xrECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgiK8rECCPTasQII4uqxAgjo7rECCLfysQIIkuuxAgjJ47ECCJfUsQIIyduxAgim3bECCLDesQIIgNuxAgjN4bECShR0cmlnZ2VyPWV2ZW50LXNvdXJjZVoDCgEBYgMKAQM","ct_cookie_present":false,"currency_code":"EUR","cv":11,"did":"dNGJiYT","dma":1,"dma_cps":"a","ec_mode":"a","ecsid2":1216465013.1791844,"eitems":"ChAI8Iqy1gYQvLfb7ov4kZxMEh0AG3JFSBEDgOHlJe_DWi5IDONCvfBTRYSZODO2uQ","em":"tv.1","emd":"tvd.1","en":"conversion","eoid":"CkcKEAjwirLWBhDm5ZrDna_88WsSMwAQWfsvQw7ZI5e9XarnGel4mUWkYFwpmoO1TaiH6ILqLlDlEnyIp5d2C0GDpnxDNYNvNPD_BwE","ept":5,"fmt":8,"frm":0,"fsk":"ChAI8Iqy1gYQ7uDWkqjJjI1tEiwAtDPwq2GDwCr4wCtHodqyDJdzGVoywrn5ZCunHLV9VYWnusilKoQmsiTBbRoCj20","fst":1791844378703,"gcd":"13l3l3l2l1l1","gcl_ctr":"1~0~0~0","gdid":"dNGJiYT","gtm":"45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1","guid":"ON","hn":"www.googleadservices.com","label":"whADCKTgy-0aEPPmmfAp","npa":1,"oidsrc":3,"pscrd":"IhMIpYjEvcS1lwMVmQymCB2_XRz6Oh1odHRwczovL3d3dy5jaXJxdWUtZ3J1c3MuY29tL0JYQ2hFSThJcXkxZ1lRcHF6UzRxTFA3ZUxXQVJJdEFGcFBkUTAzeWNfa1RZM0R4YVkyeHpPZjhsYUNOaFlxMnJCUGN6ZThRZGlaOHlHeDRhdzFGR3ZZaG1PVXoMCAliCAgAEAAYACAA","random":1466667349,"rcb":13,"tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tiba":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","u_h":745,"u_w":353,"uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"url":"https://www.cirque-gruss.com/","value":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://googleads.g.doubleclick.net/pagead/viewthroughconversion/11241157491/?random=1466667349&cv=11&fst=1791844378703&fmt=8&bg=ffffff&guid=ON&async=1&en=conversion&gtm=45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1&gcd=13l3l3l2l1l1&dma_cps=a&dma=1&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&u_w=353&u_h=745&url=https%3A%2F%2Fwww.cirque-gruss.com%2F&rcb=13&label=whADCKTgy-0aEPPmmfAp&capi=1&frm=0&tiba=Cirque%20Arlette%20Gruss%20-%20Nouveau%20Spectacle%20Parenth%C3%A8se%20!%20billets%20et%20horaires%20-%20En%20tourn%C3%A9e&did=dNGJiYT&gdid=dNGJiYT&value=0&currency_code=EUR&hn=www.googleadservices.com&npa=1&auid=1245753783.1791844378&uaa=&uab=&uafvl=&uamb=0&uam=&uap=&uapv=&uaw=0&ec_mode=a&oidsrc=3&ecsid2=1216465013.1791844379&_tu=CBA&gcl_ctr=1~0~0~0&category=acrcp_v1_512&em=tv.1&emd=tvd.1&ept=5&ct_cookie_present=false&eoid=CkcKEAjwirLWBhDm5ZrDna_88WsSMwAQWfsvQw7ZI5e9XarnGel4mUWkYFwpmoO1TaiH6ILqLlDlEnyIp5d2C0GDpnxDNYNvNPD_BwE&crd=CLTesQII8t-xAgit4bECCK_hsQIIobixAgixwbECCLDBsQIIscOxAgiKxbECCMLJsQII1-ixAgi0xrECCIfbsQII08WxAgjrzLECCO3OsQII1c-xAgiK8rECCPTasQII4uqxAgjo7rECCLfysQIIkuuxAgjJ47ECCJfUsQIIyduxAgim3bECCLDesQIIgNuxAgjN4bECShR0cmlnZ2VyPWV2ZW50LXNvdXJjZVoDCgEBYgMKAQM&cerd=ChDI7L4txYG_LZGHvy2d6bc4&eitems=ChAI8Iqy1gYQvLfb7ov4kZxMEh0AG3JFSBEDgOHlJe_DWi5IDONCvfBTRYSZODO2uQ&fsk=ChAI8Iqy1gYQ7uDWkqjJjI1tEiwAtDPwq2GDwCr4wCtHodqyDJdzGVoywrn5ZCunHLV9VYWnusilKoQmsiTBbRoCj20&pscrd=IhMIpYjEvcS1lwMVmQymCB2_XRz6Oh1odHRwczovL3d3dy5jaXJxdWUtZ3J1c3MuY29tL0JYQ2hFSThJcXkxZ1lRcHF6UzRxTFA3ZUxXQVJJdEFGcFBkUTAzeWNfa1RZM0R4YVkyeHpPZjhsYUNOaFlxMnJCUGN6ZThRZGlaOHlHeDRhdzFGR3ZZaG1PVXoMCAliCAgAEAAYACAA"},{"data":{"body":[{"botBehavior":null,"config":{"identifier":"6154472452a02c49b33a1f66","language":"fr","name":"ga_fb"},"correlationId":"","deployment":"2026-07-28T10:03:07.519Z","domain":"www.cirque-gruss.com","geolocation":{"countryCode":"FR","isFallback":false,"reglementation":"gpdr","subdivisionCode":"Unknown","userLanguage":"en-US"},"metadata":{"sdkVersion":"1.13.0"},"pathname":"/","preferences":{"disabled":[],"enabled":[]},"projectId":"61278530702fed3d78f5d8bb","referrer":null,"source":"sdk-web","timestamp":"2026-10-12T22:32:58.495Z","token":"z0lL7RKqOCeoGjoAWXweYmuX5c","type":"pageview","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36"},{"botBehavior":null,"config":{"identifier":"6154472452a02c49b33a1f66","language":"fr","name":"ga_fb"},"correlationId":"","deployment":"2026-07-28T10:03:07.519Z","domain":"www.cirque-gruss.com","geolocation":{"countryCode":"FR","isFallback":false,"reglementation":"gpdr","subdivisionCode":"Unknown","userLanguage":"en-US"},"metadata":{"sdkVersion":"1.13.0","widget":{"configLoadMs":305,"configResolvedAt":"2026-10-12T22:32:58.797Z","cookiesVersion":"ga_fb","gcm":{"adsDataRedaction":false,"display":true,"displayIllustrations":true,"position":"last","urlPassthrough":false},"isGppConfig":false,"msftUet":null,"mspaOptOutMode":null,"platform":null,"position":"left","restrictedMode":false,"sdkBuild":"sdk","subscription":"free","tastePromotion":false}},"pathname":"/","preferences":{"disabled":[],"enabled":[]},"projectId":"61278530702fed3d78f5d8bb","referrer":null,"source":"sdk-web","timestamp":"2026-10-12T22:32:58.497Z","token":"z0lL7RKqOCeoGjoAWXweYmuX5c","type":"cookies:loaded","userAgent":"Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36"}],"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://api.axept.io/v1/analytics/evts"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cv":1,"e":"gtm.dom","eid":17,"es":1,"gtm":"45be6a91v9224546821za20gzb894699499zd894699499xf1","h":"Ag","id":"AW-11241157491","pid":638607459,"rv":"6a91","t":"t","tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tc":9,"u":"AAAAAAAIAAAAACAgCA","ut":"AgAAgA","v":3,"z":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/a?id=AW-11241157491&v=3&t=t&pid=638607459&gtm=45be6a91v9224546821za20gzb894699499zd894699499xf1&cv=1&rv=6a91&tc=9&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&es=1&e=gtm.dom&eid=17&u=AAAAAAAIAAAAACAgCA&ut=AgAAgA&h=Ag&z=0"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cv":1,"e":"*","eid":4,"epr":"1AW","gtm":"45be6a91v9224546821za20gzb894699499zd894699499xf1","h":"Ag","id":"AW-11241157491","pid":638607459,"rv":"6a91","t":"t","tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tc":9,"u":"AAAAAAAIAAAAACAgCA","ut":"AgAAgA","v":3,"z":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/a?id=AW-11241157491&v=3&t=t&pid=638607459&gtm=45be6a91v9224546821za20gzb894699499zd894699499xf1&cv=1&rv=6a91&tc=9&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&e=*&eid=4&u=AAAAAAAIAAAAACAgCA&ut=AgAAgA&h=Ag&epr=1AW&z=0"},{"data":{"body":{},"filter":"||googleadservices.com^$third-party","listName":"easyprivacy.txt","query":{"_tu":"CBA","async":1,"auid":1245753783.1791844,"bg":"ffffff","bttype":"purchase","capi":1,"category":"acrcp_v1_512","currency_code":"EUR","cv":11,"did":"dNGJiYT","dma":1,"dma_cps":"a","ec_mode":"a","ecsid2":1216465013.1791844,"em":"tv.1","emd":"tvd.1","en":"conversion","fmt":3,"frm":0,"fst":1791844378703,"gcd":"13l3l3l2l1l1","gcl_ctr":"1~0~0~0","gdid":"dNGJiYT","gtm":"45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1","guid":"ON","hn":"www.googleadservices.com","label":"whADCKTgy-0aEPPmmfAp","npa":1,"oid":"GG_1385523149.1791844379","oidsrc":3,"random":1791844378703,"rcb":13,"tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tiba":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","u_h":745,"u_w":353,"uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"url":"https://www.cirque-gruss.com/","value":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googleadservices.com/ccm/conversion/11241157491/?random=1791844378703&cv=11&fst=1791844378703&fmt=3&bg=ffffff&guid=ON&async=1&en=conversion&gtm=45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1&gcd=13l3l3l2l1l1&dma_cps=a&dma=1&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&u_w=353&u_h=745&url=https%3A%2F%2Fwww.cirque-gruss.com%2F&rcb=13&label=whADCKTgy-0aEPPmmfAp&capi=1&frm=0&tiba=Cirque%20Arlette%20Gruss%20-%20Nouveau%20Spectacle%20Parenth%C3%A8se%20!%20billets%20et%20horaires%20-%20En%20tourn%C3%A9e&did=dNGJiYT&gdid=dNGJiYT&bttype=purchase&value=0&currency_code=EUR&hn=www.googleadservices.com&npa=1&auid=1245753783.1791844378&uaa=&uab=&uafvl=&uamb=0&uam=&uap=&uapv=&uaw=0&ec_mode=a&oid=GG_1385523149.1791844379&oidsrc=3&ecsid2=1216465013.1791844379&_tu=CBA&gcl_ctr=1~0~0~0&category=acrcp_v1_512&em=tv.1&emd=tvd.1"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cv":1,"e":"gtag.config","eid":3,"epr":"1AW.2AW","gtm":"45be6a91v9224546821za20gzb894699499zd894699499xf1","h":"Ag","id":"AW-11241157491","pid":638607459,"rv":"6a91","t":"t","tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tc":9,"u":"AAAAAAAIAAAAACAg","ut":"AgAAgA","v":3,"z":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/a?id=AW-11241157491&v=3&t=t&pid=638607459&gtm=45be6a91v9224546821za20gzb894699499zd894699499xf1&cv=1&rv=6a91&tc=9&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&e=gtag.config&eid=3&u=AAAAAAAIAAAAACAg&ut=AgAAgA&h=Ag&epr=1AW.2AW&z=0"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cv":1,"e":"gtm.js","eid":4,"es":1,"gtm":"45be6a91v9224546821za20gzb894699499zd894699499xf1","h":"Ag","id":"AW-11241157491","pid":638607459,"rv":"6a91","t":"t","tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tc":9,"ti":"2rep","tr":"1rep","u":"AAAAAAAIAAAAAAAg","v":3,"z":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/a?id=AW-11241157491&v=3&t=t&pid=638607459&gtm=45be6a91v9224546821za20gzb894699499zd894699499xf1&cv=1&rv=6a91&tc=9&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&es=1&e=gtm.js&eid=4&u=AAAAAAAIAAAAAAAg&h=Ag&tr=1rep&ti=2rep&z=0"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cv":1,"e":"gtag.config","eid":3,"es":1,"gtm":"45be6a91v9224546821za20gzb894699499zd894699499xf1","h":"Ag","id":"AW-11241157491","pid":638607459,"rv":"6a91","t":"t","tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tc":9,"ti":"2ogtautoevents.2ogtadsdatatos.2ogt1pdatav2.2ccdadsfirst.2ccdemform.2ccdadd1pdata.2ccdadslast.2destaw","tr":"1ogtautoevents.1ogtadsdatatos.1ogt1pdatav2.1ccdadsfirst.1ccdemform.1ccdadd1pdata.1ccdadslast.1destaw","u":"AAAAAAAIAAAAAAAg","v":3,"z":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/a?id=AW-11241157491&v=3&t=t&pid=638607459&gtm=45be6a91v9224546821za20gzb894699499zd894699499xf1&cv=1&rv=6a91&tc=9&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&es=1&e=gtag.config&eid=3&u=AAAAAAAIAAAAAAAg&h=Ag&tr=1ogtautoevents.1ogtadsdatatos.1ogt1pdatav2.1ccdadsfirst.1ccdemform.1ccdadd1pdata.1ccdadslast.1destaw&ti=2ogtautoevents.2ogtadsdatatos.2ogt1pdatav2.2ccdadsfirst.2ccdemform.2ccdadd1pdata.2ccdadslast.2destaw&z=0"},{"data":{"body":{},"filter":"||googleadservices.com^$third-party","listName":"easyprivacy.txt","query":{"_tu":"CBA","async":1,"auid":1245753783.1791844,"bg":"ffffff","bttype":"purchase","capi":1,"category":"acrcp_v1_512","currency_code":"EUR","cv":11,"did":"dNGJiYT","dma":1,"dma_cps":"a","ec_mode":"a","ecsid2":1216465013.1791844,"em":"tv.1","emd":"tvd.1","en":"conversion","ept":5,"fmt":7,"frm":0,"fst":1791844378703,"gcd":"13l3l3l2l1l1","gcl_ctr":"1~0~0~0","gdid":"dNGJiYT","gtm":"45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1","guid":"ON","hn":"www.googleadservices.com","label":"whADCKTgy-0aEPPmmfAp","npa":1,"oid":"GG_1385523149.1791844379","oidsrc":3,"random":1791844378703,"rcb":13,"tag_exp":"115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034","tiba":"Cirque Arlette Gruss - Nouveau Spectacle Parenthèse ! billets et horaires - En tournée","u_h":745,"u_w":353,"uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"url":"https://www.cirque-gruss.com/","value":0}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googleadservices.com/pagead/conversion/11241157491/?random=1791844378703&cv=11&fst=1791844378703&fmt=7&bg=ffffff&guid=ON&async=1&en=conversion&gtm=45be6a91v9224546821z8894699499za20gzb894699499zd894699499xeaxf1&gcd=13l3l3l2l1l1&dma_cps=a&dma=1&tag_exp=115616985~115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~121046263~121046271~121246026~121246034&u_w=353&u_h=745&url=https%3A%2F%2Fwww.cirque-gruss.com%2F&rcb=13&label=whADCKTgy-0aEPPmmfAp&capi=1&frm=0&tiba=Cirque%20Arlette%20Gruss%20-%20Nouveau%20Spectacle%20Parenth%C3%A8se%20!%20billets%20et%20horaires%20-%20En%20tourn%C3%A9e&did=dNGJiYT&gdid=dNGJiYT&bttype=purchase&value=0&currency_code=EUR&hn=www.googleadservices.com&npa=1&auid=1245753783.1791844378&uaa=&uab=&uafvl=&uamb=0&uam=&uap=&uapv=&uaw=0&ec_mode=a&oid=GG_1385523149.1791844379&oidsrc=3&ecsid2=1216465013.1791844379&_tu=CBA&gcl_ctr=1~0~0~0&category=acrcp_v1_512&em=tv.1&emd=tvd.1&ept=5"},{"data":{"body":{},"filter":"||analytics.tiktok.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/static/main.MWU2MzIzODM0OA.js"},{"data":{"body":{},"filter":"||doubleclick.net^","listName":"easylist.txt","query":{"auid":1245753783.1791844,"fmt":8,"gtm":"45He6a91v894699499za200zd894699499xeaxf1"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://ad.doubleclick.net/ccm/s/collect?auid=1245753783.1791844378&gtm=45He6a91v894699499za200zd894699499xeaxf1&fmt=8"},{"data":{"body":{},"filter":"://analytics.*/event","listName":"easyprivacy.txt","query":{"lib":"ttq","sdkid":"CT443I3C77U9RNPHCGL0"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=CT443I3C77U9RNPHCGL0&lib=ttq"},{"data":{"body":{},"filter":"/matomo.js$domain=~github.com","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.matomo.cloud/cirquegruss.matomo.cloud/matomo.js"},{"data":{"body":{},"filter":"/fbevents.js","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://connect.facebook.net/en_US/fbevents.js"},{"data":{"body":{},"filter":"||sc-static.net^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://sc-static.net/scevent.min.js"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"cx":"c","gtm":"4e6a91","id":"AW-11241157491"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=AW-11241157491&cx=c&gtm=4e6a91"},{"data":{"body":{},"filter":"://analytics.*/event","listName":"easyprivacy.txt","query":{"lib":"ttq","sdkid":"C50A482LQH64DC0FCGG0"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://analytics.tiktok.com/i18n/pixel/events.js?sdkid=C50A482LQH64DC0FCGG0&lib=ttq"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"GTM-WGZHD7C"}},"stack":[{"fileName":"https://www.cirque-gruss.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtm.js?id=GTM-WGZHD7C"}]}}