{"id":1867,"date":"2026-06-11T12:26:32","date_gmt":"2026-06-11T10:26:32","guid":{"rendered":"https:\/\/www.campingloucabasson.com\/elaia-metadata\/"},"modified":"2026-06-11T12:26:32","modified_gmt":"2026-06-11T10:26:32","slug":"elaia-metadata","status":"publish","type":"page","link":"https:\/\/www.campingloucabasson.com\/en\/elaia-metadata\/","title":{"rendered":"Explore your surroundings"},"content":{"rendered":"\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"ItemList\",\"name\":\"Villes aux alentours\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Thing\",\"name\":\"Rayol Canadel sur Mer\",\"url\":\"https:\/\/www.sainttropeztourisme.com\/fr\/explorer\/les-villages-du-golfe-a-visiter\/rayol-canadel-sur-mer\/\",\"image\":\"https:\/\/www.campingloucabasson.com\/wp-content\/uploads\/2026\/02\/camping-lou-cabasson-a-bormes-les-mimosas.jpg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.159524,\"longitude\":6.470249},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"The Gardens of Rayol, Cap Garonne Museum, fine sandy beaches\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Provencal and artisanal markets, guided tours, seasonal night markets\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Provencal specialties, seafood, local traditional restaurants\"},{\"@type\":\"PropertyValue\",\"name\":\"Tip or comment\",\"value\":\"Charming seaside village, ideal for walks and discovering maritime nature, with many water activities nearby.\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Thing\",\"name\":\"Le Lavandou\",\"image\":\"https:\/\/elaia-public.s3.fr-par.scw.cloud\/metadata_images\/image_6a2aa25a11d5b.jpeg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.1379153,\"longitude\":6.3703537},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"6 minutes\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Seafront\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Market every Thursday \\nNight market every Wednesday evening in July and August\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Thing\",\"name\":\"La Londe-les-Maures\",\"image\":\"https:\/\/elaia-public.s3.fr-par.scw.cloud\/metadata_images\/image_6a2aa1b6ab0b5.jpeg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.1386669,\"longitude\":6.2349987},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"12 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"17 minutes\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Son port\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"March\u00e9 chaque dimanche matin\\n\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Thing\",\"name\":\"Saint Tropez\",\"image\":\"https:\/\/www.campingloucabasson.com\/wp-content\/uploads\/2026\/03\/saint-tropez-var-vacances.jpeg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.2708936,\"longitude\":6.640892},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"35 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"40 minutes\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Its port\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Market every Tuesday and Saturday morning\\n\"}]}}]},{\"@type\":\"ItemList\",\"name\":\"Activit\u00e9s et lieux recommand\u00e9s\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Thing\",\"name\":\"The medieval village of Bormes les mimosas\",\"image\":\"https:\/\/www.campingloucabasson.com\/wp-content\/uploads\/2026\/03\/camping-au-coeur-de-bormes-les-mimosas.jpg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.151872,\"longitude\":6.343167},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"culture\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"3.5 km\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Thing\",\"name\":\"Fort de Br\u00e9gan\u00e7on\",\"image\":\"https:\/\/elaia-public.s3.fr-par.scw.cloud\/metadata_images\/image_6a2aa344c4580.jpeg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.0928118,\"longitude\":6.3217092},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Family, culture\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Thing\",\"name\":\"Vineyard Discovery\",\"image\":\"https:\/\/www.campingloucabasson.com\/wp-content\/uploads\/2026\/03\/vignes-var-france-vin.jpeg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.1497202,\"longitude\":6.3418579},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Walk in the vineyards\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Bormes les mimosas by the sea\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Thing\",\"name\":\"Hiking and walks\",\"image\":\"https:\/\/www.campingloucabasson.com\/wp-content\/uploads\/2026\/03\/randonnee-vacances-var-france.jpeg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.1187784,\"longitude\":6.3336182},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, sport, family\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"The coastal trail, the Maures massif\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"}]}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"Thing\",\"name\":\"Guided tours: discovery circuits in the village, botanical visits\",\"image\":\"https:\/\/www.campingloucabasson.com\/wp-content\/uploads\/2026\/03\/camping-proche-de-massif-des-maures.jpg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.128267,\"longitude\":6.331036},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Bormes les mimosas and its surroundings\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"}]}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"Thing\",\"name\":\"Water activities: sailing, kayaking, paddleboarding, snorkeling, boat trips or crossings to the Islands of Or (Porquerolles, Port-Cros)\",\"image\":\"https:\/\/www.campingloucabasson.com\/wp-content\/uploads\/2026\/03\/camping-proche-de-la-plage-estagnol.jpg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.1308375,\"longitude\":6.3657188},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, sports, culture\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Bormes les Mimosas and its surroundings\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"}]}}]},{\"@type\":\"ItemList\",\"name\":\"\u00c9v\u00e9nements recommand\u00e9s\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Thing\",\"name\":\"Les samedis en musique\",\"description\":\"Tous les samedis de juillet \\u0026 ao\u00fbtVillage de Bormes-les-Mimosas (place Gambetta, ruelle Carnot\u2026). Animations musicales gratuites dans les rues du village, id\u00e9al pour fl\u00e2ner le soir.\",\"image\":\"https:\/\/elaia-public.s3.fr-par.scw.cloud\/metadata_images\/image_6a2aa64a9f55a.jpg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.128267,\"longitude\":6.331036},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ Period\",\"value\":\"Juillet - Ao\u00fbt\"},{\"@type\":\"PropertyValue\",\"name\":\"Location (city)\",\"value\":\"Village de Bormes\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, famille, sport, culture\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Thing\",\"name\":\"Animations dans les vignobles \",\"description\":\"Concerts, paniers d\u00e9gustation, ap\u00e9ros, soir\u00e9es musique, cin\u00e9ma en plein air sur la plage, etc. Ambiance tranquille mais tr\u00e8s immersive\",\"url\":\"https:\/\/www.bormeslesmimosas.com\/activites\/savoir-faire-bormes\/les-vignobles\/les-animations-evenements\/\",\"image\":\"https:\/\/elaia-public.s3.fr-par.scw.cloud\/metadata_images\/image_6a621408b1f4f.webp\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.128267,\"longitude\":6.331036},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ Period\",\"value\":\"Juillet - Ao\u00fbt\"},{\"@type\":\"PropertyValue\",\"name\":\"Location (city)\",\"value\":\"Village de Bormes\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, famille, culture\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Thing\",\"name\":\"Village of Bormes - \",\"description\":\"Food products, artisans, traditional Proven\u00e7al market\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.128267,\"longitude\":6.331036},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ Period\",\"value\":\"All year round, Wednesdays mornings from 8 am to 1 pm\"},{\"@type\":\"PropertyValue\",\"name\":\"Location (city)\",\"value\":\"Place Saint-Fran\u00e7ois - Village of Bormes\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Thing\",\"name\":\"March\u00e9 du Pin\",\"description\":\"All year, Le Pin neighborhood, Bormes Food, local products, small neighborhood market\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.128267,\"longitude\":6.331036},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ Period\",\"value\":\"Tuesday morning from 8 am to 1 pm \u2013 All year\"},{\"@type\":\"PropertyValue\",\"name\":\"Location (city)\",\"value\":\"Lower part of Bormes - Le Pin neighborhood\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"2.5 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}]}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"Thing\",\"name\":\"March\u00e9 de la Favi\u00e8re\",\"description\":\"Market parking lot. Artisan and food market. Souvenirs, gastronomic, local products.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.1236023,\"longitude\":6.3591957},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ Period\",\"value\":\"Saturday morning from 8 am to 1 pm - From May to September (season)\"},{\"@type\":\"PropertyValue\",\"name\":\"Location (city)\",\"value\":\"Port of Bormes - La Favi\u00e8re\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4.5 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}]}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"Thing\",\"name\":\"Artisanal Night at the Medieval Village\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.151872,\"longitude\":6.343167},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ Period\",\"value\":\"Tuesday evening 5 PM to 11 PM - July-August\"},{\"@type\":\"PropertyValue\",\"name\":\"Location (city)\",\"value\":\"Village\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}]}},{\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@type\":\"Thing\",\"name\":\"Night market at La Favi\u00e8re\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.1233204,\"longitude\":6.3604832},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ Period\",\"value\":\"Monday evening from 6 pm to midnight. July\/August\"},{\"@type\":\"PropertyValue\",\"name\":\"Location (city)\",\"value\":\"Port of Bormes. La Favi\u00e8re\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from camping (km)\",\"value\":\"4.5 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}]}}]},{\"@type\":\"ItemList\",\"name\":\"\u00c9v\u00e9nements locaux\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Thing\",\"name\":\"Le march\u00e9 du samedi \u00e0 La Garde\",\"url\":\"http:\/\/www.ville-lagarde.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.124478,\"longitude\":6.009905},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Le march\u00e9 du samedi \u00e0 La Garde\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"March\u00e9s \\u0026 foires\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Garde\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83130\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Thing\",\"name\":\"Le march\u00e9 des artisans et producteurs locaux au Pradet\",\"description\":\"Meet every Sunday, from 8am to 1pm on the Tourism Office's forecourt, to stock up at this small market with local products such as eggs, olive oil, chocolate, ceramics...\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.106779,\"longitude\":6.022041},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Le march\u00e9 des artisans et producteurs locaux au Pradet\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"March\u00e9s \\u0026 foires\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Le Pradet\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83220\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Thing\",\"name\":\"Petit march\u00e9 alimentaire du Pin\",\"description\":\"Small neighborhood food market every Tuesday.\",\"url\":\"http:\/\/www.bormeslesmimosas.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.144589,\"longitude\":6.338419},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Petit march\u00e9 alimentaire du Pin\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Bormes-les-Mimosas\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83230\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Thing\",\"name\":\"Guided Tours of Gulf of Saint-Tropez for Groups\",\"description\":\"Discover all group guided tours offered by Gulf of Saint-Tropez Development across the 12 communes of the destination.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.256373,\"longitude\":6.522645},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Guided Tours of Gulf of Saint-Tropez for Groups\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Other events\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Cogolin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83310\"}]}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"Thing\",\"name\":\"Port Grimaud Market\",\"description\":\"Weekly market: fruits and vegetables, flowers, Proven\u00e7al products...\",\"url\":\"https:\/\/www.grimaud-provence.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.274423,\"longitude\":6.580565},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Port Grimaud Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Grimaud\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83310\"}]}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"Thing\",\"name\":\"Lighthouse Dressing - Saint-Tropez Blue Color - Tribute to Brigitte Bardot\",\"description\":\"Saint-Tropez Blue Color 2026: BARDOT in RIMOUX's light.\\r\\n\\r\\nThe Saint-Tropez Lighthouse Event\\r\\n\\\"From Notre-Dame de Paris to Notre-Dame de Saint-Tropez!\\\"\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.272696,\"longitude\":6.63256},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Lighthouse Dressing - Saint-Tropez Blue Color - Tribute to Brigitte Bardot\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Saint-Tropez\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83990\"}]}},{\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@type\":\"Thing\",\"name\":\"Village Market\",\"description\":\"From Thursday, June 4 to Sunday, September 27 inclusive: Small train - Free shuttle every Thursday and Sunday from 9:30 am to 1 pm. \\nDeparture\/arrival at Tennis \\u0026 Padel Ramatuelle\",\"url\":\"http:\/\/www.ramatuelle-tourisme.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.215327,\"longitude\":6.612171},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Village Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Ramatuelle\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83350\"}]}},{\"@type\":\"ListItem\",\"position\":8,\"item\":{\"@type\":\"Thing\",\"name\":\"March\u00e9 proven\u00e7al hebdomadaire\",\"description\":\"Rendez-vous au c\u0153ur du village de Cogolin , les mercredis Place Victor Hugo et les samedis Place de la R\u00e9publique de 8h30 \u00e0 12h30, pour profiter de l'ambiance convivial de notre march\u00e9 proven\u00e7al.\",\"url\":\"http:\/\/www.cogolin.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.251631,\"longitude\":6.533685},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"March\u00e9 proven\u00e7al hebdomadaire\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"March\u00e9s \\u0026 foires\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Cogolin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83310\"}]}},{\"@type\":\"ListItem\",\"position\":9,\"item\":{\"@type\":\"Thing\",\"name\":\"Villa Carmignac - 2026 Exhibition - Sea, pop and sun\",\"description\":\"The Carmignac Foundation presents the 2026 exhibition \\\"Sea, Pop and Sun\\\" at Villa Carmignac.\",\"url\":\"https:\/\/www.fondationcarmignac.com\/fr\/sea-pop-et-sun-villa-carmignac-porquerolles-art\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":42.999511,\"longitude\":6.211733},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Villa Carmignac - 2026 Exhibition - Sea, pop and sun\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Hy\u00e8res\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83400\"}]}},{\"@type\":\"ListItem\",\"position\":10,\"item\":{\"@type\":\"Thing\",\"name\":\"Guided walk: The heart of Gassin\u2019s history\",\"description\":\"The tourist office invites you to explore the historic heritage of Gassin. This guided tour takes you through cobbled streets to observe the ramparts, wells, Saracenic gate, and the 16th-century church.\",\"url\":\"http:\/\/gassin.eu\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.23,\"longitude\":6.5856},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Guided walk: The heart of Gassin\u2019s history\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Other events\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Gassin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83580\"}]}},{\"@type\":\"ListItem\",\"position\":11,\"item\":{\"@type\":\"Thing\",\"name\":\"The Farmers' Market at Pradet\",\"description\":\"Markets of Local Producers is a brand of the Chambers of Agriculture\\r\\nSmall local producers' market. Every Tuesday.\",\"url\":\"http:\/\/www.le-pradet.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.106675,\"longitude\":6.022174},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"The Farmers' Market at Pradet\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Le Pradet\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83220\"}]}},{\"@type\":\"ListItem\",\"position\":12,\"item\":{\"@type\":\"Thing\",\"name\":\"Sylvain Dautremay's Monumental Exhibition: \\\"I Only Dream of Freedom\\\"\",\"description\":\"Discover five works by Sylvain Dautremay, a sculptor specializing in chainsaw wood sculpture. He brings to life impressive creations, often inspired by the animal world.\",\"url\":\"http:\/\/gassin.eu\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.229455,\"longitude\":6.585562},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Sylvain Dautremay's Monumental Exhibition: \\\"I Only Dream of Freedom\\\"\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Gassin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83580\"}]}},{\"@type\":\"ListItem\",\"position\":13,\"item\":{\"@type\":\"Thing\",\"name\":\"Micro-folie\",\"description\":\"Digital museum in collaboration with 2 national cultural institutions, projection on a large screen and digital tablets.\",\"url\":\"http:\/\/www.cogolin.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.252934,\"longitude\":6.533052},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Micro-folie\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Cogolin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83310\"}]}},{\"@type\":\"ListItem\",\"position\":14,\"item\":{\"@type\":\"Thing\",\"name\":\"Tuesday Market in La Garde\",\"description\":\"The market in La Garde, on the village square\",\"url\":\"http:\/\/www.ville-lagarde.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.124478,\"longitude\":6.009905},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Tuesday Market in La Garde\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Garde\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83130\"}]}},{\"@type\":\"ListItem\",\"position\":15,\"item\":{\"@type\":\"Thing\",\"name\":\"A.S.S.D.N Memorial\",\"description\":\"Memorial of the former members of the Special Services of National Defense, unique in France. \\nHistory and comments. By appointment only.\\nSaturday, September 20, guided tour in the morning from 10 am and in the afternoon from 3:30 pm.\",\"url\":\"http:\/\/www.ramatuelle-tourisme.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.217331,\"longitude\":6.611037},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"A.S.S.D.N Memorial\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Other events\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Ramatuelle\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83350\"}]}},{\"@type\":\"ListItem\",\"position\":16,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market - Downtown - La Londe les Maures\",\"description\":\"Every Sunday morning, the Proven\u00e7al market of La Londe Les Maures invites you to stroll and indulge.\",\"url\":\"https:\/\/www.mpmtourisme.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.137879,\"longitude\":6.234676},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market - Downtown - La Londe les Maures\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 Fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Londe-les-Maures\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83250\"}]}},{\"@type\":\"ListItem\",\"position\":17,\"item\":{\"@type\":\"Thing\",\"name\":\"Commented Tour of the Niel Museum\",\"description\":\"2026 Exhibition: Abstraction is a color\",\"url\":\"https:\/\/www.provencemed.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.035896,\"longitude\":6.126226},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Commented Tour of the Niel Museum\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Other events\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Hy\u00e8res\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83400\"}]}},{\"@type\":\"ListItem\",\"position\":18,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market of Cuers\",\"description\":\"The Proven\u00e7al market of Cuers is a beautiful discovery of Proven\u00e7al flavors and a friendly atmosphere in the heart of one of the oldest villages in the Var.\",\"url\":\"https:\/\/www.mpmtourisme.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.236787,\"longitude\":6.073172},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market of Cuers\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Cuers\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83390\"}]}},{\"@type\":\"ListItem\",\"position\":19,\"item\":{\"@type\":\"Thing\",\"name\":\"Gassin the Mouse Trail\",\"description\":\"The tourist office offers a fun itinerary for 3-6-year-olds. Like Gassin\u2019s secrets, it is free, available at the office, easy to do independently, and all year round.\",\"url\":\"http:\/\/gassin.eu\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.23,\"longitude\":6.5856},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Gassin the Mouse Trail\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Other events\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Gassin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83580\"}]}},{\"@type\":\"ListItem\",\"position\":20,\"item\":{\"@type\":\"Thing\",\"name\":\"La Crau Market\",\"description\":\"Every Wednesday morning and Sunday, it's the big market of La Crau.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.148715,\"longitude\":6.072052},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"La Crau Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Crau\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83260\"}]}},{\"@type\":\"ListItem\",\"position\":21,\"item\":{\"@type\":\"Thing\",\"name\":\"Gassin Secrets \u2014 Adventure Treasure Hunt for children 6-14 in the Gulf of Saint-Tropez\",\"description\":\"Come discover one of France\u2019s most beautiful villages through riddles that will lead you through the alleys to reveal the Secrets of Gassin! Bring a pen and pick up your game booklet at the reception and get ready: the game begins!\",\"url\":\"http:\/\/gassin.eu\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.23,\"longitude\":6.5856},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Gassin Secrets \u2014 Adventure Treasure Hunt for children 6-14 in the Gulf of Saint-Tropez\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Other events\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Gassin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83580\"}]}},{\"@type\":\"ListItem\",\"position\":22,\"item\":{\"@type\":\"Thing\",\"name\":\"2026 Exhibition at the Museum of the Bank: Calder, Colors in Balance\",\"description\":\"Through a selection of 70 works, this exhibition invites you to explore the unique universe of Alexander Calder, where colors, motion, and balance meet in a truly innovative artistic creation.\",\"url\":\"https:\/\/www.provencemed.com\/loisirs\/entree-a-la-banque-musee-des-cultures-et-du-paysage-hyeres\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.119832,\"longitude\":6.130573},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"2026 Exhibition at the Museum of the Bank: Calder, Colors in Balance\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Hy\u00e8res\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83400\"}]}},{\"@type\":\"ListItem\",\"position\":23,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market of Pierrefeu du Var\",\"description\":\"Discover Provence\u2019s terroir with our weekly Saturday market. Vegetables, cheese, flowers, caterer...\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.227602,\"longitude\":6.14321},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market of Pierrefeu du Var\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Pierrefeu-du-Var\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83390\"}]}},{\"@type\":\"ListItem\",\"position\":24,\"item\":{\"@type\":\"Thing\",\"name\":\"Exhibition - Abstraction is a color\",\"description\":\"This exhibition highlights the relationship between color and abstraction in the second half of the 20th century. The color struggles to impose itself in the abstract expression of the post-war period in an aesthetic context not very favorable to the use of colorful splashes.\",\"url\":\"https:\/\/www.museeduniel.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.035896,\"longitude\":6.126226},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Exhibition - Abstraction is a color\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Hy\u00e8res\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83400\"}]}},{\"@type\":\"ListItem\",\"position\":25,\"item\":{\"@type\":\"Thing\",\"name\":\"Guided tour and tasting at Ch\u00e2teau de Br\u00e9gan\u00e7on\",\"description\":\"Want to immerse yourself in the fascinating world of winemaking? Discover the guided tours available throughout the year.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.115058,\"longitude\":6.310758},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Guided tour and tasting at Ch\u00e2teau de Br\u00e9gan\u00e7on\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Other events\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Bormes-les-Mimosas\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83230\"}]}},{\"@type\":\"ListItem\",\"position\":26,\"item\":{\"@type\":\"Thing\",\"name\":\"Tuesday Market (5 vendors)\",\"description\":\"ice creams, crepes, charcuterie, local products, crafts, original creations, printed T-shirts, and small discoveries\",\"url\":\"https:\/\/www.mairie-rocbaron.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.305978,\"longitude\":6.083557},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Tuesday Market (5 vendors)\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Rocbaron\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83136\"}]}},{\"@type\":\"ListItem\",\"position\":27,\"item\":{\"@type\":\"Thing\",\"name\":\"Friday Market at La Garde\",\"url\":\"http:\/\/www.ville-lagarde.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.124478,\"longitude\":6.009905},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Friday Market at La Garde\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"March\u00e9s \\u0026 foires\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Garde\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83130\"}]}},{\"@type\":\"ListItem\",\"position\":28,\"item\":{\"@type\":\"Thing\",\"name\":\"Sunday Market (40 exhibitors)\",\"description\":\"Fruits \\u0026 vegetables, butchery, cheese shop, catering, textiles, local products...\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.305978,\"longitude\":6.083557},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Sunday Market (40 exhibitors)\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 Fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Rocbaron\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83136\"}]}},{\"@type\":\"ListItem\",\"position\":29,\"item\":{\"@type\":\"Thing\",\"name\":\"Provencal Market\",\"description\":\"Weekly Provencal Market: the market takes place every Wednesday morning on Jean Moulin square.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.170843,\"longitude\":6.532281},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Provencal Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 Fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Cavalaire-sur-Mer\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83240\"}]}},{\"@type\":\"ListItem\",\"position\":30,\"item\":{\"@type\":\"Thing\",\"name\":\"The La Valette du Var Market\",\"description\":\"Every Monday morning, the market is set up at Place du G\u00e9n\u00e9ral de Gaulle and Avenue du Char Verdun in La Valette. Local products, fruits and vegetables, butchery and charcuterie, flowers and plants, as well as clothing, utensils, toys...\",\"url\":\"http:\/\/www.lavalette83.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.137303,\"longitude\":5.984489},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"The La Valette du Var Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 Fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Valette-du-Var\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83160\"}]}},{\"@type\":\"ListItem\",\"position\":31,\"item\":{\"@type\":\"Thing\",\"name\":\"Market in Grimaud Village\",\"description\":\"Provence market in Grimaud: the art of living in the heart of the village.\",\"url\":\"https:\/\/www.grimaud-provence.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.27397,\"longitude\":6.522769},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Market in Grimaud Village\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Grimaud\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83310\"}]}},{\"@type\":\"ListItem\",\"position\":32,\"item\":{\"@type\":\"Thing\",\"name\":\"Weekly Proven\u00e7al Market\",\"description\":\"Weekly market\",\"url\":\"http:\/\/www.golfe-sainttropez-tourisme.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.31708,\"longitude\":6.469621},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Weekly Proven\u00e7al Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Garde-Freinet\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83680\"}]}},{\"@type\":\"ListItem\",\"position\":33,\"item\":{\"@type\":\"Thing\",\"name\":\"The Carqueiranne Market\",\"description\":\"Provencal market all morning in the heart of the village of Carqueiranne. \\nCome and meet local producers and the treasures of the Carqueiranne land.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.094171,\"longitude\":6.074442},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"The Carqueiranne Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Carqueiranne\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83320\"}]}},{\"@type\":\"ListItem\",\"position\":34,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Weekly Market\",\"description\":\"A beautiful market with the colors and scents of Provence in the heart of the village.\",\"url\":\"http:\/\/www.leplandelatour.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.338723,\"longitude\":6.546612},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Weekly Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Le Plan-de-la-Tour\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83120\"}]}},{\"@type\":\"ListItem\",\"position\":35,\"item\":{\"@type\":\"Thing\",\"name\":\"Organic and Ethical Market\",\"description\":\"Organic and zero waste market with local organic producers.\",\"url\":\"https:\/\/www.lavieautrement.org\/page\/1319374-l-association\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.27397,\"longitude\":6.522769},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Organic and Ethical Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 Fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Grimaud\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83310\"}]}},{\"@type\":\"ListItem\",\"position\":36,\"item\":{\"@type\":\"Thing\",\"name\":\"Jean-Luc Ducreux's Monumental Sculpture Exhibition \u00ab Infinite - the Absence of an End \u00bb\",\"description\":\"This year, Ducreux presents new monumental works in Gassin and at the Sculpture Garden. The marriage of contemporary art and the mythical view of the Gulf of Saint-Tropez transcends the senses. An unchangeable exhibition.\",\"url\":\"https:\/\/gassin.eu\/fr\/animation\/culture\/gassin\/exposition-de-sculptures-monumentales-jean-luc-ducreux-infini-l-absence-d-une-fin-6505393\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.239318,\"longitude\":6.595177},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Jean-Luc Ducreux's Monumental Sculpture Exhibition \u00ab Infinite - the Absence of an End \u00bb\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Gassin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83580\"}]}},{\"@type\":\"ListItem\",\"position\":37,\"item\":{\"@type\":\"Thing\",\"name\":\"Museum of Bormes - 2400 years of art and history in augmented reality\",\"description\":\"Explore 2400 years of art and history in Bormes les Mimosas. Discover an exceptional place for a unique journey through time, from the 1st century BC to today in augmented reality.\\r\\nAlso visit the temporary exhibition of MHAB.\",\"url\":\"https:\/\/musee-bormes.com\/les-expositions\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.150773,\"longitude\":6.340554},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Museum of Bormes - 2400 years of art and history in augmented reality\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Bormes-les-Mimosas\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83230\"}]}},{\"@type\":\"ListItem\",\"position\":38,\"item\":{\"@type\":\"Thing\",\"name\":\"Local producer and artisan market at the port of Carqueiranne\",\"description\":\"Come meet local Carqueirannais producers and artisans at the small market by the port, right next to the boats, in Carqueiranne.\",\"url\":\"http:\/\/www.carqueiranne.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.086986,\"longitude\":6.076348},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Local producer and artisan market at the port of Carqueiranne\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Carqueiranne\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83320\"}]}},{\"@type\":\"ListItem\",\"position\":39,\"item\":{\"@type\":\"Thing\",\"name\":\"Le march\u00e9 local\",\"description\":\"Market of local and quality products, from La Valette and surroundings. Gourmet products, oil, goat cheeses, honey, fruits and vegetables, ...\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.137234,\"longitude\":5.981061},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Le march\u00e9 local\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"March\u00e9s \\u0026 foires\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Valette-du-Var\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83160\"}]}},{\"@type\":\"ListItem\",\"position\":40,\"item\":{\"@type\":\"Thing\",\"name\":\"Weekly Market\",\"description\":\"The Solli\u00e8s-Pont weekly market is a must-attend event that lively up the heart of the village each week.\",\"url\":\"http:\/\/www.ville-sollies-pont.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.190985,\"longitude\":6.040468},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Weekly Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Solli\u00e8s-Pont\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83210\"}]}},{\"@type\":\"ListItem\",\"position\":41,\"item\":{\"@type\":\"Thing\",\"name\":\"Exhibition \\\"Around the Pointu\\\" at Port Miramar\",\"description\":\"Discover the large-format photo exhibition on traditional boats, sea fishing, cabanas, and ports of La Londe.\",\"url\":\"http:\/\/www.mpmtourisme.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.115933,\"longitude\":6.248943},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Exhibition \\\"Around the Pointu\\\" at Port Miramar\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Londe-les-Maures\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83250\"}]}}]}]}<\/script>\n<style>\n  .mv-wrap {\n    --mv-accent: #2e5e45;\n    --mv-accent-soft: #2e5e451a;\n    --mv-cream: #faf7f2;\n    --mv-line: #ebe5da;\n    --mv-muted: #6b6559;\n    --mv-header: 0px;\n    font-family: 'Inter', -apple-system, sans-serif;\n    color: #1f2a24;\n    max-width: 1440px;\n    margin: 0 auto;\n    padding: 0 24px 56px;\n    box-sizing: border-box;\n  }\n\n  .mv-wrap *,\n  .mv-wrap *::before,\n  .mv-wrap *::after,\n  .mv-modal-overlay *,\n  .mv-modal-overlay *::before,\n  .mv-modal-overlay *::after {\n    box-sizing: border-box;\n  }\n\n  .mv-wrap button,\n  .mv-wrap input,\n  .mv-modal-overlay button {\n    font-family: 'Inter', -apple-system, sans-serif;\n  }\n\n  .mv-icon {\n    display: inline-flex;\n    width: 1em;\n    height: 1em;\n    flex-shrink: 0;\n  }\n\n  .mv-icon svg {\n    width: 100%;\n    height: 100%;\n  }\n\n  \/* \u2500\u2500\u2500 Bandeau \u2500\u2500\u2500 *\/\n  .mv-hero {\n    position: relative;\n    overflow: hidden;\n    margin: 16px 0 24px;\n    padding: 56px 48px;\n    border-radius: 24px;\n    background: var(--mv-cream);\n    background-size: cover;\n    background-position: center right;\n  }\n\n  .mv-hero::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(90deg, rgba(250, 247, 242, 0.97) 0%, rgba(250, 247, 242, 0.88) 38%, rgba(250, 247, 242, 0.2) 70%, rgba(250, 247, 242, 0) 100%);\n  }\n\n  .mv-hero-inner {\n    position: relative;\n    max-width: 560px;\n  }\n\n  .mv-hero-title {\n    margin: 0 0 12px !important;\n    font-size: clamp(30px, 4vw, 48px) !important;\n    line-height: 1.1 !important;\n    color: #1c2b22 !important;\n  }\n\n  .mv-hero-text {\n    margin: 0 0 20px !important;\n    font-size: 17px;\n    line-height: 1.55;\n    color: #3b4a40;\n  }\n\n  .mv-hero-chip {\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n    padding: 9px 16px;\n    border-radius: 999px;\n    background: #fff;\n    box-shadow: 0 2px 8px rgba(31, 42, 36, 0.1);\n    font-size: 14px;\n    color: #3b4a40;\n  }\n\n  .mv-hero-chip strong {\n    color: #1c2b22;\n  }\n\n  \/* \u2500\u2500\u2500 Recherche + distance \u2500\u2500\u2500 *\/\n  .mv-controls {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-bottom: 14px;\n  }\n\n  .mv-search {\n    position: relative;\n    flex: 1 1 360px;\n  }\n\n  .mv-search .mv-icon {\n    position: absolute;\n    left: 18px;\n    top: 50%;\n    transform: translateY(-50%);\n    font-size: 18px;\n    color: var(--mv-muted);\n  }\n\n  .mv-search input {\n    width: 100% !important;\n    height: 50px;\n    padding: 0 18px 0 48px !important;\n    border: 1px solid var(--mv-line) !important;\n    border-radius: 999px !important;\n    background: #fff !important;\n    font-size: 15px !important;\n    color: #1f2a24;\n    outline: none;\n    box-shadow: 0 1px 3px rgba(31, 42, 36, 0.05);\n  }\n\n  .mv-search input:focus {\n    border-color: var(--mv-accent) !important;\n    box-shadow: 0 0 0 3px var(--mv-accent-soft) !important;\n  }\n\n  .mv-seg {\n    display: inline-flex;\n    padding: 4px;\n    gap: 2px;\n    border: 1px solid var(--mv-line);\n    border-radius: 999px;\n    background: #fff;\n  }\n\n  .mv-seg button {\n    padding: 0 18px;\n    height: 40px;\n    border: 0;\n    border-radius: 999px;\n    background: transparent;\n    color: #3b4a40;\n    font-size: 14px;\n    font-weight: 600;\n    cursor: pointer;\n    white-space: nowrap;\n    transition: all 0.15s;\n  }\n\n  .mv-seg button:hover {\n    background: var(--mv-cream);\n  }\n\n  .mv-seg button.is-active {\n    background: var(--mv-accent);\n    color: #fff;\n  }\n\n  \/* \u2500\u2500\u2500 Cat\u00e9gories \u2500\u2500\u2500 *\/\n  \/* Cat\u00e9gories : une seule ligne qui d\u00e9file, fl\u00e8ches + fondu sur les bords *\/\n  .mv-cats-wrap {\n    position: relative;\n    margin-bottom: 18px;\n  }\n\n  .mv-cats {\n    display: flex;\n    flex-wrap: nowrap;\n    gap: 8px;\n    overflow-x: auto;\n    scroll-behavior: smooth;\n    scrollbar-width: none;\n    padding: 2px 0;\n  }\n\n  .mv-cats::-webkit-scrollbar {\n    display: none;\n  }\n\n  .mv-cat {\n    flex-shrink: 0;\n  }\n\n  .mv-cats-arrow {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    z-index: 1;\n    display: none;\n    align-items: center;\n    width: 64px;\n    padding: 0;\n    border: 0;\n    cursor: pointer;\n    font-size: 20px;\n    color: #1f2a24;\n  }\n\n  .mv-cats-arrow span {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 36px;\n    height: 36px;\n    border: 1px solid var(--mv-line);\n    border-radius: 50%;\n    background: #fff;\n    box-shadow: 0 2px 6px rgba(31, 42, 36, 0.12);\n  }\n\n  .mv-cats-arrow--left {\n    left: 0;\n    justify-content: flex-start;\n    background: linear-gradient(90deg, #fff 45%, rgba(255, 255, 255, 0));\n  }\n\n  .mv-cats-arrow--right {\n    right: 0;\n    justify-content: flex-end;\n    background: linear-gradient(270deg, #fff 45%, rgba(255, 255, 255, 0));\n  }\n\n  .mv-cats-wrap.can-left .mv-cats-arrow--left,\n  .mv-cats-wrap.can-right .mv-cats-arrow--right {\n    display: flex;\n  }\n\n  .mv-cat {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    padding: 9px 16px;\n    border: 1px solid var(--mv-line);\n    border-radius: 999px;\n    background: #fff;\n    color: #2f3b33;\n    font-size: 14px;\n    font-weight: 500;\n    cursor: pointer;\n    transition: all 0.15s;\n  }\n\n  .mv-cat .mv-icon {\n    font-size: 17px;\n    color: var(--mv-cat);\n  }\n\n  .mv-cat:hover {\n    border-color: #d6cdbd;\n  }\n\n  .mv-cat.is-active {\n    background: var(--mv-accent);\n    border-color: var(--mv-accent);\n    color: #fff;\n  }\n\n  .mv-cat.is-active .mv-icon {\n    color: #fff;\n  }\n\n  \/* \u2500\u2500\u2500 Barre compteur + liste\/carte \u2500\u2500\u2500 *\/\n  .mv-bar {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    margin-bottom: 16px;\n  }\n\n  .mv-count {\n    margin: 0 !important;\n    font-size: 15px;\n    color: var(--mv-muted);\n  }\n\n  .mv-count strong {\n    color: #1f2a24;\n  }\n\n  \/* \u2500\u2500\u2500 Layout liste + carte \u2500\u2500\u2500 *\/\n  .mv-layout {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(340px, 38%);\n    gap: 24px;\n    align-items: start;\n  }\n\n  .mv-layout.is-list {\n    grid-template-columns: minmax(0, 1fr);\n  }\n\n  .mv-layout.is-list .mv-map-panel {\n    display: none;\n  }\n\n  .mv-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\n    \/* dense : la fiche \u00ab \u00c0 la une \u00bb (2 colonnes) ne laisse pas de trou sur grand \u00e9cran *\/\n    grid-auto-flow: dense;\n    gap: 18px;\n  }\n\n  \/* Colonne carte (sticky) : carte carr\u00e9e + fiche du rep\u00e8re cliqu\u00e9 en dessous *\/\n  .mv-map-panel {\n    position: sticky;\n    top: calc(var(--mv-header) + 16px);\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n  }\n\n  .mv-map {\n    width: 100%;\n    aspect-ratio: 1 \/ 1;\n    max-height: max(300px, calc(100vh - var(--mv-header) - 290px));\n    \/* Certains th\u00e8mes rouvrent le d\u00e9bordement des cartes Leaflet : les tuiles\n       d\u00e9passaient alors de la page (camping de la Croze). On rogne quoi qu'il arrive. *\/\n    overflow: hidden !important;\n    contain: paint;\n    border: 1px solid var(--mv-line);\n    border-radius: 20px;\n    background: var(--mv-cream);\n  }\n\n  .mv-preview-hint {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 16px 18px;\n    border: 1px dashed #d6cdbd;\n    border-radius: 16px;\n    color: var(--mv-muted);\n    font-size: 14px;\n  }\n\n  .mv-preview-hint .mv-icon {\n    font-size: 20px;\n    color: var(--mv-accent);\n  }\n\n  \/* Fiche compacte (horizontale) sous la carte \u2014 s\u00e9lecteurs doubl\u00e9s pour\n     passer devant les r\u00e8gles .mv-card d\u00e9finies plus bas *\/\n  .mv-card.mv-card--mini {\n    flex-direction: row;\n    min-height: 0;\n    border-radius: 16px;\n  }\n\n  .mv-card.mv-card--mini:hover {\n    transform: none;\n  }\n\n  .mv-card.mv-card--mini .mv-card-media {\n    flex: 0 0 120px;\n    width: 120px;\n    aspect-ratio: auto;\n    min-height: 120px;\n  }\n\n  .mv-card.mv-card--mini .mv-card-noimg {\n    font-size: 28px;\n  }\n\n  .mv-card.mv-card--mini .mv-card-body {\n    gap: 4px;\n    min-width: 0;\n    padding: 10px 14px;\n  }\n\n  .mv-card.mv-card--mini .mv-card-title {\n    font-size: 16px !important;\n    -webkit-line-clamp: 1;\n  }\n\n  .mv-card.mv-card--mini .mv-meta {\n    font-size: 12px;\n  }\n\n  .mv-card.mv-card--mini .mv-card-desc {\n    font-size: 13px;\n    -webkit-line-clamp: 2;\n  }\n\n  .mv-card.mv-card--mini .mv-card-foot {\n    padding-top: 2px;\n  }\n\n  .mv-card.mv-card--mini .mv-discover {\n    padding: 5px 12px;\n    font-size: 13px;\n  }\n\n  .mv-card.mv-card--mini .mv-pill {\n    position: static;\n    align-self: flex-start;\n    padding: 2px 10px;\n    font-size: 11px;\n    box-shadow: none;\n  }\n\n  \/* \u2500\u2500\u2500 Carte (fiche) \u2500\u2500\u2500 *\/\n  \/* La liste change brutalement de hauteur au clic sur une cat\u00e9gorie :\n     l'ancrage de d\u00e9filement du navigateur \u00ab corrigeait \u00bb alors la position et\n     contrariait le d\u00e9filement vers les filtres. *\/\n  #mv-app {\n    overflow-anchor: none;\n  }\n\n  .mv-card {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    overflow: hidden;\n    border: 1px solid var(--mv-line);\n    border-radius: 18px;\n    background: #fff;\n    box-shadow: 0 1px 3px rgba(31, 42, 36, 0.05);\n    cursor: pointer;\n    transition: box-shadow 0.2s, transform 0.2s;\n  }\n\n  .mv-card:hover,\n  .mv-card.is-hover {\n    box-shadow: 0 12px 28px rgba(31, 42, 36, 0.12);\n    transform: translateY(-2px);\n  }\n\n  .mv-card-media {\n    position: relative;\n    \/* Hauteur fix\u00e9e par le format, jamais par la photo : sans flex-shrink ni\n       taille minimale de contenu, une photo en hauteur \u00e9tirait son cadre et\n       les cartes d'une m\u00eame rang\u00e9e n'avaient plus des images align\u00e9es. *\/\n    flex: 0 0 auto;\n    min-height: 0;\n    \/* Pas d'overflow: hidden ici : la pastille de cat\u00e9gorie est pos\u00e9e \u00e0 cheval\n       sur le bas de l'image. L'image, en absolu, ne d\u00e9borde pas de son cadre. *\/\n    aspect-ratio: 16 \/ 10;\n    background: var(--mv-cream);\n  }\n\n  .mv-card-media img {\n    position: absolute;\n    inset: 0;\n    display: block;\n    width: 100% !important;\n    max-width: none !important;\n    height: 100% !important;\n    object-fit: cover;\n  }\n\n  .mv-card-noimg {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    height: 100%;\n    font-size: 42px;\n    color: var(--mv-cat);\n    background: color-mix(in srgb, var(--mv-cat) 10%, var(--mv-cream));\n  }\n\n  .mv-pill {\n    display: inline-flex;\n    align-items: center;\n    padding: 4px 12px;\n    border-radius: 999px;\n    background: #fff;\n    background: color-mix(in srgb, var(--mv-cat) 14%, #fff);\n    color: var(--mv-cat);\n    font-size: 12px;\n    font-weight: 600;\n    white-space: nowrap;\n  }\n\n  .mv-card-media .mv-pill {\n    position: absolute;\n    left: 12px;\n    bottom: -12px;\n    background: color-mix(in srgb, var(--mv-cat) 12%, #fff);\n    box-shadow: 0 2px 6px rgba(31, 42, 36, 0.12);\n  }\n\n  .mv-card-body {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    gap: 7px;\n    padding: 22px 16px 16px;\n  }\n\n  .mv-card-title {\n    margin: 0 !important;\n    font-size: 18px !important;\n    line-height: 1.25 !important;\n    color: #1c2b22 !important;\n    display: -webkit-box;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n  }\n\n  .mv-meta {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 6px 12px;\n    margin: 0 !important;\n    font-size: 13px;\n    color: var(--mv-muted);\n  }\n\n  .mv-meta span {\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n  }\n\n  .mv-card-desc {\n    margin: 0 !important;\n    font-size: 14px;\n    line-height: 1.5;\n    color: #4b5850;\n    display: -webkit-box;\n    -webkit-line-clamp: 3;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n  }\n\n  .mv-tags {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 6px;\n  }\n\n  .mv-tag {\n    padding: 3px 10px;\n    border-radius: 999px;\n    background: #f3efe8;\n    color: #4b5850;\n    font-size: 12px;\n    max-width: 100%;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .mv-card-foot {\n    display: flex;\n    justify-content: flex-end;\n    margin-top: auto;\n    padding-top: 6px;\n  }\n\n  .mv-discover {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 8px 16px;\n    border: 0;\n    border-radius: 999px;\n    background: #f7ebe0;\n    color: #1c2b22;\n    font-size: 14px;\n    font-weight: 600;\n    cursor: pointer;\n    transition: background 0.15s;\n  }\n\n  .mv-card:hover .mv-discover {\n    background: #f1dcc9;\n  }\n\n  \/* Carte \u00ab \u00e0 la une \u00bb : grande, texte sur l'image *\/\n  .mv-card--featured {\n    grid-column: span 2;\n    min-height: 360px;\n  }\n\n  .mv-card--featured .mv-card-media {\n    position: absolute;\n    inset: 0;\n    aspect-ratio: auto;\n  }\n\n  .mv-card--featured .mv-card-media::after {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(90deg, rgba(20, 24, 20, 0.72) 0%, rgba(20, 24, 20, 0.35) 55%, rgba(20, 24, 20, 0.05) 100%);\n  }\n\n  .mv-card--featured .mv-card-body {\n    position: relative;\n    justify-content: flex-end;\n    max-width: 480px;\n    padding: 28px;\n    color: #fff;\n  }\n\n  .mv-card--featured .mv-card-title {\n    font-size: 30px !important;\n    color: #fff !important;\n  }\n\n  .mv-card--featured .mv-card-desc,\n  .mv-card--featured .mv-meta {\n    color: rgba(255, 255, 255, 0.9);\n  }\n\n  .mv-card--featured .mv-card-foot {\n    justify-content: flex-start;\n    margin-top: 8px;\n  }\n\n  .mv-card--featured .mv-discover {\n    background: #fff;\n  }\n\n  .mv-flag {\n    align-self: flex-start;\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    margin-bottom: 6px;\n    padding: 6px 12px;\n    border-radius: 999px;\n    background: #c2410c;\n    color: #fff;\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: 0.4px;\n    text-transform: uppercase;\n  }\n\n  \/* Pagination *\/\n  .mv-more {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    align-items: center;\n    gap: 6px;\n    margin-top: 28px;\n  }\n\n  .mv-page {\n    min-width: 42px;\n    height: 42px;\n    padding: 0 12px;\n    border: 1px solid var(--mv-line);\n    border-radius: 999px;\n    background: #fff;\n    color: #2f3b33;\n    font-size: 14px;\n    font-weight: 600;\n    cursor: pointer;\n    transition: all 0.15s;\n  }\n\n  .mv-page:hover:not(:disabled):not([aria-current=\"page\"]) {\n    border-color: var(--mv-accent);\n    color: var(--mv-accent);\n  }\n\n  .mv-page[aria-current=\"page\"] {\n    background: var(--mv-accent);\n    border-color: var(--mv-accent);\n    color: #fff;\n    cursor: default;\n  }\n\n  .mv-page:disabled {\n    opacity: 0.4;\n    cursor: not-allowed;\n  }\n\n  .mv-page-gap {\n    padding: 0 4px;\n    color: var(--mv-muted);\n  }\n\n  \/* Bouton \u00ab Revenir \u00e0 la vue d'ensemble \u00bb (visible apr\u00e8s un zoom \/ d\u00e9placement) *\/\n  .mv-map {\n    position: relative;\n  }\n\n  \/* Pas de gros contour noir au clic sur la carte ; contour visible au clavier seulement *\/\n  .mv-map.leaflet-container:focus {\n    outline: none;\n  }\n\n  .mv-map.leaflet-container:focus-visible {\n    outline: 3px solid var(--mv-accent);\n    outline-offset: 2px;\n  }\n\n  .mv-reset {\n    position: absolute;\n    top: 12px;\n    left: 12px;\n    z-index: 500;\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 8px 14px;\n    border: 0;\n    border-radius: 999px;\n    background: #fff;\n    color: #1c2b22;\n    font-family: 'Inter', -apple-system, sans-serif;\n    font-size: 13px;\n    font-weight: 600;\n    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);\n    cursor: pointer;\n  }\n\n  .mv-reset[hidden] {\n    display: none;\n  }\n\n  .mv-reset:hover {\n    background: var(--mv-accent);\n    color: #fff;\n  }\n\n  .mv-reset .mv-icon {\n    font-size: 15px;\n  }\n\n  \/* Rep\u00e8re de l'\u00e9tablissement (\u00ab vous \u00eates ici \u00bb) *\/\n  .mv-home {\n    background: none;\n    border: none;\n    pointer-events: none;\n  }\n\n  .mv-home-pin {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 44px;\n    height: 44px;\n    border: 3px solid #fff;\n    border-radius: 50%;\n    background: #1c2b22;\n    color: #fff;\n    box-shadow: 0 0 0 5px rgba(28, 43, 34, 0.25), 0 4px 12px rgba(0, 0, 0, 0.35);\n  }\n\n  .mv-home-pin svg {\n    width: 22px;\n    height: 22px;\n  }\n\n  .mv-home-label.leaflet-tooltip {\n    padding: 5px 10px;\n    border: 0;\n    border-radius: 999px;\n    background: #1c2b22;\n    color: #fff;\n    font-family: 'Inter', -apple-system, sans-serif;\n    font-size: 12px;\n    font-weight: 700;\n    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);\n  }\n\n  .mv-home-label.leaflet-tooltip-right::before {\n    border-right-color: #1c2b22;\n  }\n\n  .mv-btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 12px 26px;\n    border: 0;\n    border-radius: 999px;\n    background: var(--mv-accent);\n    color: #fff !important;\n    font-size: 15px;\n    font-weight: 600;\n    text-decoration: none !important;\n    cursor: pointer;\n    transition: filter 0.15s;\n  }\n\n  .mv-btn:hover {\n    filter: brightness(0.92);\n  }\n\n  .mv-empty {\n    grid-column: 1 \/ -1;\n    padding: 40px 20px;\n    border: 1px dashed #d6cdbd;\n    border-radius: 18px;\n    background: #fff;\n    color: var(--mv-muted);\n    text-align: center;\n  }\n\n  .mv-empty strong {\n    display: block;\n    margin-bottom: 4px;\n    color: #1f2a24;\n  }\n\n  \/* \u2500\u2500\u2500 Id\u00e9es selon vos envies \u2500\u2500\u2500 *\/\n  .mv-ideas {\n    margin-top: 48px;\n  }\n\n  .mv-ideas-head {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: baseline;\n    justify-content: space-between;\n    gap: 8px 24px;\n    margin-bottom: 16px;\n  }\n\n  .mv-ideas-title {\n    margin: 0 !important;\n    font-size: clamp(22px, 2.6vw, 30px) !important;\n    color: #1c2b22 !important;\n  }\n\n  .mv-ideas-sub {\n    margin: 0 !important;\n    color: var(--mv-muted);\n    font-size: 14px;\n  }\n\n  .mv-ideas-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n    gap: 16px;\n  }\n\n  .mv-idea {\n    display: flex;\n    align-items: stretch;\n    overflow: hidden;\n    min-height: 88px;\n    padding: 0;\n    border: 1px solid var(--mv-line);\n    border-radius: 16px;\n    background: #fff;\n    text-align: left;\n    cursor: pointer;\n    transition: box-shadow 0.2s;\n  }\n\n  .mv-idea:hover {\n    box-shadow: 0 8px 20px rgba(31, 42, 36, 0.1);\n  }\n\n  .mv-idea-img {\n    flex: 0 0 38%;\n    background: var(--mv-cream) center \/ cover no-repeat;\n  }\n\n  .mv-idea-body {\n    display: flex;\n    flex: 1;\n    align-items: center;\n    gap: 10px;\n    padding: 12px 14px;\n  }\n\n  .mv-idea-body .mv-icon {\n    font-size: 22px;\n    color: var(--mv-cat);\n  }\n\n  .mv-idea-text {\n    flex: 1;\n    min-width: 0;\n  }\n\n  .mv-idea-text strong {\n    display: block;\n    font-size: 14px;\n    color: #1c2b22;\n    line-height: 1.3;\n  }\n\n  .mv-idea-text span {\n    font-size: 13px;\n    color: var(--mv-muted);\n  }\n\n  \/* \u2500\u2500\u2500 Marqueurs carte \u2500\u2500\u2500 *\/\n  .mv-pin svg {\n    display: block;\n    overflow: visible;\n    transform-origin: 50% 100%;\n    transition: transform 0.15s ease;\n    filter: drop-shadow(0 2px 3px rgba(20, 24, 20, 0.35));\n  }\n\n  .mv-pin.is-hover svg {\n    transform: scale(1.3);\n  }\n\n  .mv-pin.is-selected svg {\n    transform: scale(1.4);\n    filter: drop-shadow(0 0 0 #fff) drop-shadow(0 3px 6px rgba(20, 24, 20, 0.45));\n  }\n\n  .mv-pin.is-selected {\n    z-index: 1001 !important;\n  }\n\n  \/* Pas de carr\u00e9 de focus Leaflet autour du rep\u00e8re cliqu\u00e9 *\/\n  .mv-pin:focus,\n  .mv-pin:focus-visible {\n    outline: none;\n  }\n\n  .mv-pin.is-hover {\n    z-index: 1000 !important;\n  }\n\n  .mv-cluster {\n    background: none;\n    border: none;\n  }\n\n  .mv-cluster span {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border: 3px solid #fff;\n    border-radius: 50%;\n    background: var(--mv-accent, #2e5e45);\n    color: #fff;\n    font-size: 13px;\n    font-weight: 700;\n    box-shadow: 0 3px 8px rgba(20, 24, 20, 0.3);\n  }\n\n\n  \/* \u2500\u2500\u2500 Modal \u2500\u2500\u2500 *\/\n  .mv-modal-overlay {\n    position: fixed !important;\n    inset: 0 !important;\n    z-index: 99999 !important;\n    max-width: none !important;\n    width: auto !important;\n    margin: 0 !important;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    background: rgba(20, 24, 20, 0.4);\n    backdrop-filter: blur(2px);\n  }\n\n  .mv-modal-overlay[hidden] {\n    display: none !important;\n  }\n\n  .mv-modal {\n    position: relative;\n    width: 100%;\n    max-width: 1080px;\n    max-height: calc(100vh - 32px);\n    overflow-y: auto;\n    border-radius: 22px;\n    background: #fff;\n    box-shadow: 0 24px 60px rgba(20, 24, 20, 0.3);\n    font-family: 'Inter', -apple-system, sans-serif;\n    color: #1f2a24;\n  }\n\n  \/* Cr\u00e9dit photo : discret sur la carte (\u00a9, auteur au survol), lisible en fiche. *\/\n  .mv-credit {\n    position: absolute;\n    top: 8px;\n    right: 8px;\n    z-index: 2;\n    max-width: calc(100% - 16px);\n    padding: 2px 7px;\n    border-radius: 999px;\n    background: rgba(0, 0, 0, 0.45);\n    color: #fff;\n    font-size: 11px;\n    line-height: 1.5;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    cursor: help;\n  }\n\n  .mv-card:hover .mv-credit::after,\n  .mv-credit:focus::after {\n    content: ' ' attr(data-credit);\n  }\n\n  \/* Bandeau : le cr\u00e9dit est \u00e9crit en clair (pas de survol sur une image de fond),\n     en bas \u00e0 droite, loin du titre. *\/\n  .mv-credit--hero {\n    top: auto;\n    bottom: 10px;\n    right: 12px;\n    max-width: 60%;\n    cursor: default;\n  }\n\n  .mv-modal-credit {\n    margin: 6px 2px 0 !important;\n    color: var(--mv-muted, #6b7280);\n    font-size: 12px !important;\n    line-height: 1.4 !important;\n  }\n\n  .mv-modal-img {\n    display: block;\n    width: 100%;\n    aspect-ratio: 4 \/ 3;\n    max-height: 52vh;\n    object-fit: cover;\n    border-radius: 14px;\n  }\n\n  \/* Modal large : contenu sur 2 colonnes (texte \/ m\u00e9dias) pour \u00e9viter de d\u00e9filer *\/\n  .mv-modal-cols {\n    display: grid;\n    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);\n    gap: 28px;\n    align-items: start;\n  }\n\n  \/* Colonne m\u00e9dias : reste visible pendant qu'on lit le texte *\/\n  .mv-modal-col--media {\n    position: sticky;\n    top: 0;\n  }\n\n  .mv-modal-body {\n    padding-top: 26px !important;\n  }\n\n  \/* Place pour le bouton de fermeture en haut \u00e0 droite *\/\n  .mv-modal-cols > .mv-modal-col:last-child {\n    padding-right: 36px;\n  }\n\n  .mv-modal-col {\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n    min-width: 0;\n  }\n\n  .mv-modal-actions {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n  }\n\n  .mv-btn--ghost {\n    background: #fff;\n    border: 1px solid var(--mv-line);\n    color: #1c2b22 !important;\n  }\n\n  .mv-btn--ghost:hover {\n    filter: none;\n    border-color: var(--mv-accent);\n  }\n\n  @media (max-width: 900px) {\n    .mv-modal-cols {\n      grid-template-columns: minmax(0, 1fr);\n      gap: 14px;\n    }\n\n    \/* Mobile : photo, puis texte, puis boutons \/ m\u00e9dias *\/\n    .mv-modal-cols {\n      display: flex;\n      flex-direction: column;\n    }\n\n    .mv-modal-col--media {\n      display: contents;\n    }\n\n    .mv-modal-col--media > .mv-modal-img {\n      order: -2;\n    }\n\n    .mv-modal-cols > .mv-modal-col:last-child {\n      order: -1;\n    }\n\n    .mv-modal-cols > .mv-modal-col:last-child {\n      padding-right: 0;\n    }\n  }\n\n  .mv-modal-body {\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n    padding: 22px 26px 26px;\n  }\n\n  .mv-modal-title {\n    margin: 0 !important;\n    font-size: 26px !important;\n    line-height: 1.2 !important;\n    color: #1c2b22 !important;\n  }\n\n  .mv-modal-desc {\n    margin: 0 !important;\n    font-size: 15px;\n    line-height: 1.65;\n    color: #4b5850;\n    white-space: pre-line;\n  }\n\n  .mv-modal-event {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    align-self: flex-start;\n    padding: 7px 12px;\n    border-radius: 10px;\n    background: var(--mv-accent-soft);\n    color: var(--mv-accent);\n    font-size: 14px;\n    font-weight: 600;\n  }\n\n  .mv-fields {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n    gap: 10px 20px;\n    padding: 14px 16px;\n    border-radius: 14px;\n    background: var(--mv-cream);\n  }\n\n  .mv-field span {\n    display: block;\n    margin-bottom: 2px;\n    font-size: 12px;\n    line-height: 1.35 !important;\n    color: var(--mv-muted);\n  }\n\n  .mv-field strong {\n    display: block;\n    font-size: 14px;\n    font-weight: 600;\n    line-height: 1.4 !important;\n    color: #1f2a24;\n    overflow-wrap: anywhere;\n  }\n\n  \/* \u2500\u2500\u2500 Agrandissement automatique par paliers (fiches tr\u00e8s remplies) \u2500\u2500\u2500\n     1. is-wide    : fen\u00eatre plus large, infos sur 3 colonnes, photo plus basse\n     2. is-compact : espacements et textes resserr\u00e9s *\/\n  .mv-modal.is-wide {\n    max-width: min(1320px, calc(100vw - 32px));\n  }\n\n  .mv-modal.is-wide .mv-fields {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n\n  .mv-modal.is-wide .mv-modal-img {\n    aspect-ratio: 16 \/ 10;\n    max-height: 36vh;\n  }\n\n  .mv-modal.is-compact .mv-modal-body {\n    gap: 10px;\n    padding: 18px 20px 20px !important;\n  }\n\n  .mv-modal.is-compact .mv-modal-col {\n    gap: 10px;\n  }\n\n  .mv-modal.is-compact .mv-modal-title {\n    font-size: 22px !important;\n  }\n\n  .mv-modal.is-compact .mv-modal-desc {\n    font-size: 14px;\n    line-height: 1.55;\n  }\n\n  .mv-modal.is-compact .mv-fields {\n    gap: 8px 16px;\n    padding: 12px 14px;\n  }\n\n  .mv-modal.is-compact .mv-field strong {\n    font-size: 13px;\n  }\n\n  .mv-modal.is-compact .mv-modal-img {\n    max-height: 30vh;\n  }\n\n  @media (max-width: 900px) {\n    .mv-modal.is-wide .mv-fields {\n      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n    }\n  }\n\n  .mv-modal-sub {\n    margin: 4px 0 0 !important;\n    font-size: 13px;\n    font-weight: 700;\n    letter-spacing: 0.4px;\n    text-transform: uppercase;\n    color: var(--mv-muted);\n  }\n\n  .mv-gallery {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));\n    gap: 8px;\n  }\n\n  .mv-gallery img {\n    display: block;\n    width: 100%;\n    aspect-ratio: 1;\n    object-fit: cover;\n    border-radius: 10px;\n  }\n\n  .mv-docs a {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 8px 0;\n    color: var(--mv-accent);\n    font-weight: 600;\n    text-decoration: none;\n  }\n\n  .mv-video {\n    position: relative;\n    aspect-ratio: 16 \/ 9;\n    border-radius: 12px;\n    overflow: hidden;\n    background: #000;\n  }\n\n  .mv-video iframe,\n  .mv-video video {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n\n  .mv-faq details {\n    border-bottom: 1px solid var(--mv-line);\n    padding: 10px 0;\n  }\n\n  .mv-faq summary {\n    cursor: pointer;\n    font-size: 15px !important;\n    font-weight: 600;\n    line-height: 1.4 !important;\n    color: #1c2b22;\n  }\n\n  .mv-faq p {\n    margin: 8px 0 0 !important;\n    color: #4b5850;\n    line-height: 1.55;\n  }\n\n  .mv-modal-close {\n    position: absolute;\n    top: 12px;\n    right: 12px;\n    z-index: 2;\n    width: 40px;\n    height: 40px;\n    border: 0;\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.95);\n    color: #1f2a24;\n    font-size: 22px;\n    line-height: 1;\n    cursor: pointer;\n    box-shadow: 0 2px 6px rgba(20, 24, 20, 0.2);\n  }\n\n  \/* \u2500\u2500\u2500 Responsive \u2500\u2500\u2500 *\/\n  @media (max-width: 1100px) {\n    .mv-layout {\n      grid-template-columns: minmax(0, 1fr);\n    }\n\n    .mv-map-panel {\n      position: relative;\n      top: 0;\n      order: -1;\n    }\n\n    .mv-map {\n      aspect-ratio: 4 \/ 3;\n      max-height: 420px;\n    }\n  }\n\n  @media (max-width: 720px) {\n    .mv-wrap {\n      padding: 0 12px 40px;\n    }\n\n    .mv-hero {\n      padding: 36px 22px;\n      border-radius: 18px;\n    }\n\n    .mv-hero::before {\n      background: linear-gradient(180deg, rgba(250, 247, 242, 0.95), rgba(250, 247, 242, 0.8));\n    }\n\n    .mv-seg {\n      width: 100%;\n    }\n\n    .mv-seg button {\n      flex: 1;\n      padding: 0 8px;\n    }\n\n\n\n    .mv-card--featured {\n      grid-column: auto;\n      min-height: 320px;\n    }\n\n    .mv-card--featured .mv-card-title {\n      font-size: 24px !important;\n    }\n\n    .mv-modal-img {\n      height: 200px;\n    }\n  }\n<\/style>\n\n\n<div class=\"mv-wrap\" id=\"mv-app\">\n\n  <section class=\"mv-hero\" style=\"background-image:url(https:\/\/www.campingloucabasson.com\/wp-content\/uploads\/2026\/02\/camping-lou-cabasson-a-bormes-les-mimosas.jpg)\">\n        <div class=\"mv-hero-inner\">\n      <h1 class=\"mv-hero-title\">Things to discover nearby<\/h1>\n      <p class=\"mv-hero-text\">Villages, beaches, walks, good addresses and experiences selected around your stay.<\/p>\n              <span class=\"mv-hero-chip\">\n          <span class=\"mv-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z\"\/><circle cx=\"12\" cy=\"9.5\" r=\"2.5\"\/><\/svg><\/span>\n          Around <strong>Lou Cabasson<\/strong>\n        <\/span>\n          <\/div>\n  <\/section>\n\n  <div class=\"mv-controls\">\n    <label class=\"mv-search\">\n      <span class=\"mv-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M21 21l-4.5-4.5\"\/><\/svg><\/span>\n      <input type=\"search\" id=\"mv-search\" placeholder=\"Search for a place, an activity, a village\u2026\" aria-label=\"Search\">\n    <\/label>\n          <div class=\"mv-seg\" role=\"group\" aria-label=\"Maximum distance\" id=\"mv-distance\">\n        <button type=\"button\" data-km=\"15\">15 km<\/button>\n        <button type=\"button\" data-km=\"30\">30 km<\/button>\n        <button type=\"button\" data-km=\"60\">60 km<\/button>\n        <button type=\"button\" data-km=\"0\" class=\"is-active\">All<\/button>\n      <\/div>\n      <\/div>\n\n  <div class=\"mv-cats-wrap\" id=\"mv-cats-wrap\">\n    <button type=\"button\" class=\"mv-cats-arrow mv-cats-arrow--left\" aria-label=\"Previous categories\"><span>\u2039<\/span><\/button>\n    <div class=\"mv-cats\" id=\"mv-cats\" role=\"group\" aria-label=\"Categories\"><\/div>\n    <button type=\"button\" class=\"mv-cats-arrow mv-cats-arrow--right\" aria-label=\"Next categories\"><span>\u203a<\/span><\/button>\n  <\/div>\n\n  <div class=\"mv-bar\">\n    <p class=\"mv-count\" id=\"mv-count\"><\/p>\n    <div class=\"mv-seg\" role=\"group\" aria-label=\"Display\" id=\"mv-view\">\n      <button type=\"button\" data-view=\"list\">List<\/button>\n      <button type=\"button\" data-view=\"map\" class=\"is-active\">Map<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"mv-layout\" id=\"mv-layout\">\n    <div>\n      <div class=\"mv-grid\" id=\"mv-grid\"><\/div>\n      <div class=\"mv-more\" id=\"mv-more\"><\/div>\n    <\/div>\n    <aside class=\"mv-map-panel\">\n      <div class=\"mv-map\" id=\"mv-map\"><\/div>\n      <div id=\"mv-preview\" aria-live=\"polite\"><\/div>\n    <\/aside>\n  <\/div>\n\n  <section class=\"mv-ideas\" id=\"mv-ideas\" aria-labelledby=\"mv-ideas-title\"><\/section>\n\n  <noscript>\n    <ul>\n              <li><strong>Rayol Canadel sur Mer<\/strong> \u2014 Charming seaside village, ideal for walks and discovering maritime nature, with many water activities nearby.<\/li>\n              <li><strong>Le Lavandou<\/strong><\/li>\n              <li><strong>La Londe-les-Maures<\/strong><\/li>\n              <li><strong>Saint Tropez<\/strong><\/li>\n              <li><strong>The medieval village of Bormes les mimosas<\/strong><\/li>\n              <li><strong>Fort de Br\u00e9gan\u00e7on<\/strong><\/li>\n              <li><strong>Vineyard Discovery<\/strong><\/li>\n              <li><strong>Hiking and walks<\/strong><\/li>\n              <li><strong>Guided tours: discovery circuits in the village, botanical visits<\/strong><\/li>\n              <li><strong>Water activities: sailing, kayaking, paddleboarding, snorkeling, boat trips or crossings to the Islands of Or (Porquerolles, Port-Cros)<\/strong><\/li>\n              <li><strong>Les samedis en musique<\/strong> \u2014 Tous les samedis de juillet &amp; ao\u00fbtVillage de Bormes-les-Mimosas (place Gambetta, ruelle Carnot\u2026). Animations musicales gratuites dans les rues du village, id\u00e9al pour fl\u00e2ner le soir.<\/li>\n              <li><strong>Animations dans les vignobles<\/strong> \u2014 Concerts, paniers d\u00e9gustation, ap\u00e9ros, soir\u00e9es musique, cin\u00e9ma en plein air sur la plage, etc. Ambiance tranquille mais tr\u00e8s immersive<\/li>\n              <li><strong>Village of Bormes -<\/strong> \u2014 Food products, artisans, traditional Proven\u00e7al market<\/li>\n              <li><strong>March\u00e9 du Pin<\/strong> \u2014 All year, Le Pin neighborhood, Bormes Food, local products, small neighborhood market<\/li>\n              <li><strong>March\u00e9 de la Favi\u00e8re<\/strong> \u2014 Market parking lot. Artisan and food market. Souvenirs, gastronomic, local products.<\/li>\n              <li><strong>Artisanal Night at the Medieval Village<\/strong><\/li>\n              <li><strong>Night market at La Favi\u00e8re<\/strong><\/li>\n              <li><strong>Le march\u00e9 du samedi \u00e0 La Garde<\/strong><\/li>\n              <li><strong>Le march\u00e9 des artisans et producteurs locaux au Pradet<\/strong> \u2014 Meet every Sunday, from 8am to 1pm on the Tourism Office&#039;s forecourt, to stock up at this small market with local products such as eggs, olive oil, chocolate, ceramics...<\/li>\n              <li><strong>Petit march\u00e9 alimentaire du Pin<\/strong> \u2014 Small neighborhood food market every Tuesday.<\/li>\n              <li><strong>Guided Tours of Gulf of Saint-Tropez for Groups<\/strong> \u2014 Discover all group guided tours offered by Gulf of Saint-Tropez Development across the 12 communes of the destination.<\/li>\n              <li><strong>Port Grimaud Market<\/strong> \u2014 Weekly market: fruits and vegetables, flowers, Proven\u00e7al products...<\/li>\n              <li><strong>Lighthouse Dressing - Saint-Tropez Blue Color - Tribute to Brigitte Bardot<\/strong> \u2014 Saint-Tropez Blue Color 2026: BARDOT in RIMOUX&#039;s light. The Saint-Tropez Lighthouse Event &quot;From Notre-Dame de Paris to Notre-Dame de Saint-Tropez!&quot;<\/li>\n              <li><strong>Village Market<\/strong> \u2014 From Thursday, June 4 to Sunday, September 27 inclusive: Small train - Free shuttle every Thursday and Sunday from 9:30 am to 1 pm. Departure\/arrival at Tennis &amp; Padel Ramatuelle<\/li>\n              <li><strong>March\u00e9 proven\u00e7al hebdomadaire<\/strong> \u2014 Rendez-vous au c\u0153ur du village de Cogolin , les mercredis Place Victor Hugo et les samedis Place de la R\u00e9publique de 8h30 \u00e0 12h30, pour profiter de l&#039;ambiance convivial de&hellip;<\/li>\n              <li><strong>Villa Carmignac - 2026 Exhibition - Sea, pop and sun<\/strong> \u2014 The Carmignac Foundation presents the 2026 exhibition &quot;Sea, Pop and Sun&quot; at Villa Carmignac.<\/li>\n              <li><strong>Guided walk: The heart of Gassin\u2019s history<\/strong> \u2014 The tourist office invites you to explore the historic heritage of Gassin. This guided tour takes you through cobbled streets to observe the ramparts, wells, Saracenic gate, and the 16th-century&hellip;<\/li>\n              <li><strong>The Farmers&#039; Market at Pradet<\/strong> \u2014 Markets of Local Producers is a brand of the Chambers of Agriculture Small local producers&#039; market. Every Tuesday.<\/li>\n              <li><strong>Sylvain Dautremay&#039;s Monumental Exhibition: &quot;I Only Dream of Freedom&quot;<\/strong> \u2014 Discover five works by Sylvain Dautremay, a sculptor specializing in chainsaw wood sculpture. He brings to life impressive creations, often inspired by the animal world.<\/li>\n              <li><strong>Micro-folie<\/strong> \u2014 Digital museum in collaboration with 2 national cultural institutions, projection on a large screen and digital tablets.<\/li>\n              <li><strong>Tuesday Market in La Garde<\/strong> \u2014 The market in La Garde, on the village square<\/li>\n              <li><strong>A.S.S.D.N Memorial<\/strong> \u2014 Memorial of the former members of the Special Services of National Defense, unique in France. History and comments. By appointment only. Saturday, September 20, guided tour in the morning from&hellip;<\/li>\n              <li><strong>Proven\u00e7al Market - Downtown - La Londe les Maures<\/strong> \u2014 Every Sunday morning, the Proven\u00e7al market of La Londe Les Maures invites you to stroll and indulge.<\/li>\n              <li><strong>Commented Tour of the Niel Museum<\/strong> \u2014 2026 Exhibition: Abstraction is a color<\/li>\n              <li><strong>Proven\u00e7al Market of Cuers<\/strong> \u2014 The Proven\u00e7al market of Cuers is a beautiful discovery of Proven\u00e7al flavors and a friendly atmosphere in the heart of one of the oldest villages in the Var.<\/li>\n              <li><strong>Gassin the Mouse Trail<\/strong> \u2014 The tourist office offers a fun itinerary for 3-6-year-olds. Like Gassin\u2019s secrets, it is free, available at the office, easy to do independently, and all year round.<\/li>\n              <li><strong>La Crau Market<\/strong> \u2014 Every Wednesday morning and Sunday, it&#039;s the big market of La Crau.<\/li>\n              <li><strong>Gassin Secrets \u2014 Adventure Treasure Hunt for children 6-14 in the Gulf of Saint-Tropez<\/strong> \u2014 Come discover one of France\u2019s most beautiful villages through riddles that will lead you through the alleys to reveal the Secrets of Gassin! Bring a pen and pick up your&hellip;<\/li>\n              <li><strong>2026 Exhibition at the Museum of the Bank: Calder, Colors in Balance<\/strong> \u2014 Through a selection of 70 works, this exhibition invites you to explore the unique universe of Alexander Calder, where colors, motion, and balance meet in a truly innovative artistic creation.<\/li>\n              <li><strong>Proven\u00e7al Market of Pierrefeu du Var<\/strong> \u2014 Discover Provence\u2019s terroir with our weekly Saturday market. Vegetables, cheese, flowers, caterer...<\/li>\n              <li><strong>Exhibition - Abstraction is a color<\/strong> \u2014 This exhibition highlights the relationship between color and abstraction in the second half of the 20th century. The color struggles to impose itself in the abstract expression of the post-war&hellip;<\/li>\n              <li><strong>Guided tour and tasting at Ch\u00e2teau de Br\u00e9gan\u00e7on<\/strong> \u2014 Want to immerse yourself in the fascinating world of winemaking? Discover the guided tours available throughout the year.<\/li>\n              <li><strong>Tuesday Market (5 vendors)<\/strong> \u2014 ice creams, crepes, charcuterie, local products, crafts, original creations, printed T-shirts, and small discoveries<\/li>\n              <li><strong>Friday Market at La Garde<\/strong><\/li>\n              <li><strong>Sunday Market (40 exhibitors)<\/strong> \u2014 Fruits &amp; vegetables, butchery, cheese shop, catering, textiles, local products...<\/li>\n              <li><strong>Provencal Market<\/strong> \u2014 Weekly Provencal Market: the market takes place every Wednesday morning on Jean Moulin square.<\/li>\n              <li><strong>The La Valette du Var Market<\/strong> \u2014 Every Monday morning, the market is set up at Place du G\u00e9n\u00e9ral de Gaulle and Avenue du Char Verdun in La Valette. Local products, fruits and vegetables, butchery and charcuterie,&hellip;<\/li>\n              <li><strong>Market in Grimaud Village<\/strong> \u2014 Provence market in Grimaud: the art of living in the heart of the village.<\/li>\n              <li><strong>Weekly Proven\u00e7al Market<\/strong> \u2014 Weekly market<\/li>\n              <li><strong>The Carqueiranne Market<\/strong> \u2014 Provencal market all morning in the heart of the village of Carqueiranne. Come and meet local producers and the treasures of the Carqueiranne land.<\/li>\n              <li><strong>Proven\u00e7al Weekly Market<\/strong> \u2014 A beautiful market with the colors and scents of Provence in the heart of the village.<\/li>\n              <li><strong>Organic and Ethical Market<\/strong> \u2014 Organic and zero waste market with local organic producers.<\/li>\n              <li><strong>Jean-Luc Ducreux&#039;s Monumental Sculpture Exhibition \u00ab Infinite - the Absence of an End \u00bb<\/strong> \u2014 This year, Ducreux presents new monumental works in Gassin and at the Sculpture Garden. The marriage of contemporary art and the mythical view of the Gulf of Saint-Tropez transcends the&hellip;<\/li>\n              <li><strong>Museum of Bormes - 2400 years of art and history in augmented reality<\/strong> \u2014 Explore 2400 years of art and history in Bormes les Mimosas. Discover an exceptional place for a unique journey through time, from the 1st century BC to today in augmented&hellip;<\/li>\n              <li><strong>Local producer and artisan market at the port of Carqueiranne<\/strong> \u2014 Come meet local Carqueirannais producers and artisans at the small market by the port, right next to the boats, in Carqueiranne.<\/li>\n              <li><strong>Le march\u00e9 local<\/strong> \u2014 Market of local and quality products, from La Valette and surroundings. Gourmet products, oil, goat cheeses, honey, fruits and vegetables, ...<\/li>\n              <li><strong>Weekly Market<\/strong> \u2014 The Solli\u00e8s-Pont weekly market is a must-attend event that lively up the heart of the village each week.<\/li>\n              <li><strong>Exhibition &quot;Around the Pointu&quot; at Port Miramar<\/strong> \u2014 Discover the large-format photo exhibition on traditional boats, sea fishing, cabanas, and ports of La Londe.<\/li>\n          <\/ul>\n  <\/noscript>\n<\/div>\n\n<div class=\"mv-modal-overlay\" id=\"mv-modal\" hidden>\n  <div class=\"mv-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"mv-modal-title\">\n    <button type=\"button\" class=\"mv-modal-close\" id=\"mv-modal-close\" aria-label=\"Close\">\u00d7<\/button>\n    <div id=\"mv-modal-content\"><\/div>\n  <\/div>\n<\/div>\n\n<script>\n  (function() {\n    var ITEMS = [{\"id\":0,\"featurable\":true,\"type\":\"villes-aux-alentours\",\"name\":\"Rayol Canadel sur Mer\",\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/camping-lou-cabasson-a-bormes-les-mimosas.jpg\",\"credit\":\"\",\"description\":\"Charming seaside village, ideal for walks and discovering maritime nature, with many water activities nearby.\",\"city\":\"\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.159524,\"lng\":6.470249,\"tags\":[],\"fields\":[{\"label\":\"Must-see places \\\/ activities\",\"value\":\"The Gardens of Rayol, Cap Garonne Museum, fine sandy beaches\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Provencal and artisanal markets, guided tours, seasonal night markets\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Provencal specialties, seafood, local traditional restaurants\"}],\"link\":\"https:\\\/\\\/www.sainttropeztourisme.com\\\/fr\\\/explorer\\\/les-villages-du-golfe-a-visiter\\\/rayol-canadel-sur-mer\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":1,\"featurable\":true,\"type\":\"villes-aux-alentours\",\"name\":\"Le Lavandou\",\"image\":\"https:\\\/\\\/elaia-public.s3.fr-par.scw.cloud\\\/metadata_images\\\/image_6a2aa25a11d5b.jpeg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":6,\"lat\":43.1379153,\"lng\":6.3703537,\"tags\":[],\"fields\":[{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"label\":\"Driving time (min)\",\"value\":\"6 minutes\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Seafront\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Market every Thursday \\nNight market every Wednesday evening in July and August\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":2,\"featurable\":true,\"type\":\"villes-aux-alentours\",\"name\":\"La Londe-les-Maures\",\"image\":\"https:\\\/\\\/elaia-public.s3.fr-par.scw.cloud\\\/metadata_images\\\/image_6a2aa1b6ab0b5.jpeg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":12,\"min\":17,\"lat\":43.1386669,\"lng\":6.2349987,\"tags\":[],\"fields\":[{\"label\":\"Distance from camping (km)\",\"value\":\"12 km\"},{\"label\":\"Driving time (min)\",\"value\":\"17 minutes\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Son port\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"March\\u00e9 chaque dimanche matin\\n\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":3,\"featurable\":true,\"type\":\"villes-aux-alentours\",\"name\":\"Saint Tropez\",\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/saint-tropez-var-vacances.jpeg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":35,\"min\":40,\"lat\":43.2708936,\"lng\":6.640892,\"tags\":[],\"fields\":[{\"label\":\"Distance from camping (km)\",\"value\":\"35 km\"},{\"label\":\"Driving time (min)\",\"value\":\"40 minutes\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Its port\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Market every Tuesday and Saturday morning\\n\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":4,\"featurable\":true,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"The medieval village of Bormes les mimosas\",\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/camping-au-coeur-de-bormes-les-mimosas.jpg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":3.5,\"min\":null,\"lat\":43.151872,\"lng\":6.343167,\"tags\":[\"culture\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"culture\"},{\"label\":\"Distance from camping (km)\",\"value\":\"3.5 km\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":5,\"featurable\":true,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Fort de Br\\u00e9gan\\u00e7on\",\"image\":\"https:\\\/\\\/elaia-public.s3.fr-par.scw.cloud\\\/metadata_images\\\/image_6a2aa344c4580.jpeg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.0928118,\"lng\":6.3217092,\"tags\":[\"Family, culture\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Family, culture\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":6,\"featurable\":true,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Vineyard Discovery\",\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/vignes-var-france-vin.jpeg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.1497202,\"lng\":6.3418579,\"tags\":[\"Walk in the vineyards\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Walk in the vineyards\"},{\"label\":\"City \\\/ Area\",\"value\":\"Bormes les mimosas by the sea\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":7,\"featurable\":true,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Hiking and walks\",\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/randonnee-vacances-var-france.jpeg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.1187784,\"lng\":6.3336182,\"tags\":[\"Nature, sport, family\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, sport, family\"},{\"label\":\"City \\\/ Area\",\"value\":\"The coastal trail, the Maures massif\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":8,\"featurable\":true,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Guided tours: discovery circuits in the village, botanical visits\",\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/camping-proche-de-massif-des-maures.jpg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.128267,\"lng\":6.331036,\"tags\":[\"Nature, family\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family\"},{\"label\":\"City \\\/ Area\",\"value\":\"Bormes les mimosas and its surroundings\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":9,\"featurable\":true,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Water activities: sailing, kayaking, paddleboarding, snorkeling, boat trips or crossings to the Islands of Or (Porquerolles, Port-Cros)\",\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/camping-proche-de-la-plage-estagnol.jpg\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.1308375,\"lng\":6.3657188,\"tags\":[],\"fields\":[{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, sports, culture\"},{\"label\":\"City \\\/ Area\",\"value\":\"Bormes les Mimosas and its surroundings\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":10,\"featurable\":true,\"type\":\"evenements-recommandes\",\"name\":\"Les samedis en musique\",\"image\":\"https:\\\/\\\/elaia-public.s3.fr-par.scw.cloud\\\/metadata_images\\\/image_6a2aa64a9f55a.jpg\",\"credit\":\"\",\"description\":\"Tous les samedis de juillet & ao\\u00fbtVillage de Bormes-les-Mimosas (place Gambetta, ruelle Carnot\\u2026). Animations musicales gratuites dans les rues du village, id\\u00e9al pour fl\\u00e2ner le soir.\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.128267,\"lng\":6.331036,\"tags\":[],\"fields\":[{\"label\":\"Date \\\/ Period\",\"value\":\"Juillet - Ao\\u00fbt\"},{\"label\":\"Location (city)\",\"value\":\"Village de Bormes\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, famille, sport, culture\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":11,\"featurable\":true,\"type\":\"evenements-recommandes\",\"name\":\"Animations dans les vignobles\",\"image\":\"https:\\\/\\\/elaia-public.s3.fr-par.scw.cloud\\\/metadata_images\\\/image_6a621408b1f4f.webp\",\"credit\":\"\",\"description\":\"Concerts, paniers d\\u00e9gustation, ap\\u00e9ros, soir\\u00e9es musique, cin\\u00e9ma en plein air sur la plage, etc. Ambiance tranquille mais tr\\u00e8s immersive\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.128267,\"lng\":6.331036,\"tags\":[\"Nature, famille, culture\"],\"fields\":[{\"label\":\"Date \\\/ Period\",\"value\":\"Juillet - Ao\\u00fbt\"},{\"label\":\"Location (city)\",\"value\":\"Village de Bormes\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, famille, culture\"}],\"link\":\"https:\\\/\\\/www.bormeslesmimosas.com\\\/activites\\\/savoir-faire-bormes\\\/les-vignobles\\\/les-animations-evenements\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":12,\"featurable\":true,\"type\":\"evenements-recommandes\",\"name\":\"Village of Bormes -\",\"image\":\"\",\"credit\":\"\",\"description\":\"Food products, artisans, traditional Proven\\u00e7al market\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.128267,\"lng\":6.331036,\"tags\":[\"Nature, family, culture\"],\"fields\":[{\"label\":\"Date \\\/ Period\",\"value\":\"All year round, Wednesdays mornings from 8 am to 1 pm\"},{\"label\":\"Location (city)\",\"value\":\"Place Saint-Fran\\u00e7ois - Village of Bormes\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":13,\"featurable\":true,\"type\":\"evenements-recommandes\",\"name\":\"March\\u00e9 du Pin\",\"image\":\"\",\"credit\":\"\",\"description\":\"All year, Le Pin neighborhood, Bormes Food, local products, small neighborhood market\",\"city\":\"\",\"address\":\"\",\"km\":2.5,\"min\":null,\"lat\":43.128267,\"lng\":6.331036,\"tags\":[\"Nature, family, culture\"],\"fields\":[{\"label\":\"Date \\\/ Period\",\"value\":\"Tuesday morning from 8 am to 1 pm \\u2013 All year\"},{\"label\":\"Location (city)\",\"value\":\"Lower part of Bormes - Le Pin neighborhood\"},{\"label\":\"Distance from camping (km)\",\"value\":\"2.5 km\"},{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":14,\"featurable\":true,\"type\":\"evenements-recommandes\",\"name\":\"March\\u00e9 de la Favi\\u00e8re\",\"image\":\"\",\"credit\":\"\",\"description\":\"Market parking lot. Artisan and food market. Souvenirs, gastronomic, local products.\",\"city\":\"\",\"address\":\"\",\"km\":4.5,\"min\":null,\"lat\":43.1236023,\"lng\":6.3591957,\"tags\":[\"Nature, family, culture\"],\"fields\":[{\"label\":\"Date \\\/ Period\",\"value\":\"Saturday morning from 8 am to 1 pm - From May to September (season)\"},{\"label\":\"Location (city)\",\"value\":\"Port of Bormes - La Favi\\u00e8re\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4.5 km\"},{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":15,\"featurable\":true,\"type\":\"evenements-recommandes\",\"name\":\"Artisanal Night at the Medieval Village\",\"image\":\"\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":4,\"min\":null,\"lat\":43.151872,\"lng\":6.343167,\"tags\":[\"Nature, family, culture\"],\"fields\":[{\"label\":\"Date \\\/ Period\",\"value\":\"Tuesday evening 5 PM to 11 PM - July-August\"},{\"label\":\"Location (city)\",\"value\":\"Village\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4 km\"},{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":16,\"featurable\":true,\"type\":\"evenements-recommandes\",\"name\":\"Night market at La Favi\\u00e8re\",\"image\":\"\",\"credit\":\"\",\"description\":\"\",\"city\":\"\",\"address\":\"\",\"km\":4.5,\"min\":null,\"lat\":43.1233204,\"lng\":6.3604832,\"tags\":[\"Nature, family, culture\"],\"fields\":[{\"label\":\"Date \\\/ Period\",\"value\":\"Monday evening from 6 pm to midnight. July\\\/August\"},{\"label\":\"Location (city)\",\"value\":\"Port of Bormes. La Favi\\u00e8re\"},{\"label\":\"Distance from camping (km)\",\"value\":\"4.5 km\"},{\"label\":\"Type of event (market, festival, sport...)\",\"value\":\"Nature, family, culture\"}],\"link\":\"\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":17,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Le march\\u00e9 du samedi \\u00e0 La Garde\",\"image\":\"\",\"credit\":\"\",\"description\":\"\",\"city\":\"La Garde\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.124478,\"lng\":6.009905,\"tags\":[\"March\\u00e9s & foires\"],\"fields\":[{\"label\":\"Category\",\"value\":\"March\\u00e9s & foires\"},{\"label\":\"City\",\"value\":\"La Garde\"},{\"label\":\"Postal code\",\"value\":\"83130\"}],\"link\":\"http:\\\/\\\/www.ville-lagarde.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":18,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Le march\\u00e9 des artisans et producteurs locaux au Pradet\",\"image\":\"\",\"credit\":\"\",\"description\":\"Meet every Sunday, from 8am to 1pm on the Tourism Office's forecourt, to stock up at this small market with local products such as eggs, olive oil, chocolate, ceramics...\",\"city\":\"Le Pradet\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.106779,\"lng\":6.022041,\"tags\":[\"March\\u00e9s & foires\"],\"fields\":[{\"label\":\"Category\",\"value\":\"March\\u00e9s & foires\"},{\"label\":\"City\",\"value\":\"Le Pradet\"},{\"label\":\"Postal code\",\"value\":\"83220\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":19,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Petit march\\u00e9 alimentaire du Pin\",\"image\":\"\",\"credit\":\"\",\"description\":\"Small neighborhood food market every Tuesday.\",\"city\":\"Bormes-les-Mimosas\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.144589,\"lng\":6.338419,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Bormes-les-Mimosas\"},{\"label\":\"Postal code\",\"value\":\"83230\"}],\"link\":\"http:\\\/\\\/www.bormeslesmimosas.com\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":20,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Guided Tours of Gulf of Saint-Tropez for Groups\",\"image\":\"\",\"credit\":\"\",\"description\":\"Discover all group guided tours offered by Gulf of Saint-Tropez Development across the 12 communes of the destination.\",\"city\":\"Cogolin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.256373,\"lng\":6.522645,\"tags\":[\"Other events\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Other events\"},{\"label\":\"City\",\"value\":\"Cogolin\"},{\"label\":\"Postal code\",\"value\":\"83310\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":21,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Port Grimaud Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Weekly market: fruits and vegetables, flowers, Proven\\u00e7al products...\",\"city\":\"Grimaud\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.274423,\"lng\":6.580565,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Grimaud\"},{\"label\":\"Postal code\",\"value\":\"83310\"}],\"link\":\"https:\\\/\\\/www.grimaud-provence.com\\\/\",\"event\":\"Du 01\\\/04\\\/2026 \\u00e0 08:00 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":22,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Lighthouse Dressing - Saint-Tropez Blue Color - Tribute to Brigitte Bardot\",\"image\":\"\",\"credit\":\"\",\"description\":\"Saint-Tropez Blue Color 2026: BARDOT in RIMOUX's light.\\r\\n\\r\\nThe Saint-Tropez Lighthouse Event\\r\\n\\\"From Notre-Dame de Paris to Notre-Dame de Saint-Tropez!\\\"\",\"city\":\"Saint-Tropez\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.272696,\"lng\":6.63256,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"Saint-Tropez\"},{\"label\":\"Postal code\",\"value\":\"83990\"}],\"link\":\"\",\"event\":\"Du 09\\\/07\\\/2026 au 01\\\/11\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":23,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Village Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"From Thursday, June 4 to Sunday, September 27 inclusive: Small train - Free shuttle every Thursday and Sunday from 9:30 am to 1 pm. \\nDeparture\\\/arrival at Tennis & Padel Ramatuelle\",\"city\":\"Ramatuelle\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.215327,\"lng\":6.612171,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Ramatuelle\"},{\"label\":\"Postal code\",\"value\":\"83350\"}],\"link\":\"http:\\\/\\\/www.ramatuelle-tourisme.com\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":24,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"March\\u00e9 proven\\u00e7al hebdomadaire\",\"image\":\"\",\"credit\":\"\",\"description\":\"Rendez-vous au c\\u0153ur du village de Cogolin , les mercredis Place Victor Hugo et les samedis Place de la R\\u00e9publique de 8h30 \\u00e0 12h30, pour profiter de l'ambiance convivial de notre march\\u00e9 proven\\u00e7al.\",\"city\":\"Cogolin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.251631,\"lng\":6.533685,\"tags\":[\"March\\u00e9s & foires\"],\"fields\":[{\"label\":\"Category\",\"value\":\"March\\u00e9s & foires\"},{\"label\":\"City\",\"value\":\"Cogolin\"},{\"label\":\"Postal code\",\"value\":\"83310\"}],\"link\":\"http:\\\/\\\/www.cogolin.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":25,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Villa Carmignac - 2026 Exhibition - Sea, pop and sun\",\"image\":\"\",\"credit\":\"\",\"description\":\"The Carmignac Foundation presents the 2026 exhibition \\\"Sea, Pop and Sun\\\" at Villa Carmignac.\",\"city\":\"Hy\\u00e8res\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":42.999511,\"lng\":6.211733,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"Hy\\u00e8res\"},{\"label\":\"Postal code\",\"value\":\"83400\"}],\"link\":\"https:\\\/\\\/www.fondationcarmignac.com\\\/fr\\\/sea-pop-et-sun-villa-carmignac-porquerolles-art\\\/\",\"event\":\"Du 25\\\/04\\\/2026 \\u00e0 10:00 au 01\\\/11\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":26,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Guided walk: The heart of Gassin\\u2019s history\",\"image\":\"\",\"credit\":\"\",\"description\":\"The tourist office invites you to explore the historic heritage of Gassin. This guided tour takes you through cobbled streets to observe the ramparts, wells, Saracenic gate, and the 16th-century church.\",\"city\":\"Gassin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.23,\"lng\":6.5856,\"tags\":[\"Other events\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Other events\"},{\"label\":\"City\",\"value\":\"Gassin\"},{\"label\":\"Postal code\",\"value\":\"83580\"}],\"link\":\"http:\\\/\\\/gassin.eu\\\/\",\"event\":\"Du 07\\\/09\\\/2026 \\u00e0 16:00 au 26\\\/10\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":27,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"The Farmers' Market at Pradet\",\"image\":\"\",\"credit\":\"\",\"description\":\"Markets of Local Producers is a brand of the Chambers of Agriculture\\r\\nSmall local producers' market. Every Tuesday.\",\"city\":\"Le Pradet\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.106675,\"lng\":6.022174,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Le Pradet\"},{\"label\":\"Postal code\",\"value\":\"83220\"}],\"link\":\"http:\\\/\\\/www.le-pradet.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":28,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Sylvain Dautremay's Monumental Exhibition: \\\"I Only Dream of Freedom\\\"\",\"image\":\"\",\"credit\":\"\",\"description\":\"Discover five works by Sylvain Dautremay, a sculptor specializing in chainsaw wood sculpture. He brings to life impressive creations, often inspired by the animal world.\",\"city\":\"Gassin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.229455,\"lng\":6.585562,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"Gassin\"},{\"label\":\"Postal code\",\"value\":\"83580\"}],\"link\":\"http:\\\/\\\/gassin.eu\\\/\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":29,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Micro-folie\",\"image\":\"\",\"credit\":\"\",\"description\":\"Digital museum in collaboration with 2 national cultural institutions, projection on a large screen and digital tablets.\",\"city\":\"Cogolin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.252934,\"lng\":6.533052,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"Cogolin\"},{\"label\":\"Postal code\",\"value\":\"83310\"}],\"link\":\"http:\\\/\\\/www.cogolin.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":30,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Tuesday Market in La Garde\",\"image\":\"\",\"credit\":\"\",\"description\":\"The market in La Garde, on the village square\",\"city\":\"La Garde\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.124478,\"lng\":6.009905,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"La Garde\"},{\"label\":\"Postal code\",\"value\":\"83130\"}],\"link\":\"http:\\\/\\\/www.ville-lagarde.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":31,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"A.S.S.D.N Memorial\",\"image\":\"\",\"credit\":\"\",\"description\":\"Memorial of the former members of the Special Services of National Defense, unique in France. \\nHistory and comments. By appointment only.\\nSaturday, September 20, guided tour in the morning from 10 am and in the afternoon from 3:30 pm.\",\"city\":\"Ramatuelle\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.217331,\"lng\":6.611037,\"tags\":[\"Other events\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Other events\"},{\"label\":\"City\",\"value\":\"Ramatuelle\"},{\"label\":\"Postal code\",\"value\":\"83350\"}],\"link\":\"http:\\\/\\\/www.ramatuelle-tourisme.com\\\/\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":32,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Proven\\u00e7al Market - Downtown - La Londe les Maures\",\"image\":\"\",\"credit\":\"\",\"description\":\"Every Sunday morning, the Proven\\u00e7al market of La Londe Les Maures invites you to stroll and indulge.\",\"city\":\"La Londe-les-Maures\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.137879,\"lng\":6.234676,\"tags\":[\"Markets & Fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & Fairs\"},{\"label\":\"City\",\"value\":\"La Londe-les-Maures\"},{\"label\":\"Postal code\",\"value\":\"83250\"}],\"link\":\"https:\\\/\\\/www.mpmtourisme.com\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 07:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":33,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Commented Tour of the Niel Museum\",\"image\":\"\",\"credit\":\"\",\"description\":\"2026 Exhibition: Abstraction is a color\",\"city\":\"Hy\\u00e8res\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.035896,\"lng\":6.126226,\"tags\":[\"Other events\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Other events\"},{\"label\":\"City\",\"value\":\"Hy\\u00e8res\"},{\"label\":\"Postal code\",\"value\":\"83400\"}],\"link\":\"https:\\\/\\\/www.provencemed.com\\\/\",\"event\":\"Du 01\\\/05\\\/2026 au 01\\\/11\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":34,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Proven\\u00e7al Market of Cuers\",\"image\":\"\",\"credit\":\"\",\"description\":\"The Proven\\u00e7al market of Cuers is a beautiful discovery of Proven\\u00e7al flavors and a friendly atmosphere in the heart of one of the oldest villages in the Var.\",\"city\":\"Cuers\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.236787,\"lng\":6.073172,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Cuers\"},{\"label\":\"Postal code\",\"value\":\"83390\"}],\"link\":\"https:\\\/\\\/www.mpmtourisme.com\\\/\",\"event\":\"Du 05\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":35,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Gassin the Mouse Trail\",\"image\":\"\",\"credit\":\"\",\"description\":\"The tourist office offers a fun itinerary for 3-6-year-olds. Like Gassin\\u2019s secrets, it is free, available at the office, easy to do independently, and all year round.\",\"city\":\"Gassin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.23,\"lng\":6.5856,\"tags\":[\"Other events\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Other events\"},{\"label\":\"City\",\"value\":\"Gassin\"},{\"label\":\"Postal code\",\"value\":\"83580\"}],\"link\":\"http:\\\/\\\/gassin.eu\\\/\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":36,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"La Crau Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Every Wednesday morning and Sunday, it's the big market of La Crau.\",\"city\":\"La Crau\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.148715,\"lng\":6.072052,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"La Crau\"},{\"label\":\"Postal code\",\"value\":\"83260\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":37,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Gassin Secrets \\u2014 Adventure Treasure Hunt for children 6-14 in the Gulf of Saint-Tropez\",\"image\":\"\",\"credit\":\"\",\"description\":\"Come discover one of France\\u2019s most beautiful villages through riddles that will lead you through the alleys to reveal the Secrets of Gassin! Bring a pen and pick up your game booklet at the reception and get ready: the game begins!\",\"city\":\"Gassin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.23,\"lng\":6.5856,\"tags\":[\"Other events\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Other events\"},{\"label\":\"City\",\"value\":\"Gassin\"},{\"label\":\"Postal code\",\"value\":\"83580\"}],\"link\":\"http:\\\/\\\/gassin.eu\\\/\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":38,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"2026 Exhibition at the Museum of the Bank: Calder, Colors in Balance\",\"image\":\"\",\"credit\":\"\",\"description\":\"Through a selection of 70 works, this exhibition invites you to explore the unique universe of Alexander Calder, where colors, motion, and balance meet in a truly innovative artistic creation.\",\"city\":\"Hy\\u00e8res\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.119832,\"lng\":6.130573,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"Hy\\u00e8res\"},{\"label\":\"Postal code\",\"value\":\"83400\"}],\"link\":\"https:\\\/\\\/www.provencemed.com\\\/loisirs\\\/entree-a-la-banque-musee-des-cultures-et-du-paysage-hyeres\\\/\",\"event\":\"Du 01\\\/09\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":39,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Proven\\u00e7al Market of Pierrefeu du Var\",\"image\":\"\",\"credit\":\"\",\"description\":\"Discover Provence\\u2019s terroir with our weekly Saturday market. Vegetables, cheese, flowers, caterer...\",\"city\":\"Pierrefeu-du-Var\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.227602,\"lng\":6.14321,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Pierrefeu-du-Var\"},{\"label\":\"Postal code\",\"value\":\"83390\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":40,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Exhibition - Abstraction is a color\",\"image\":\"\",\"credit\":\"\",\"description\":\"This exhibition highlights the relationship between color and abstraction in the second half of the 20th century. The color struggles to impose itself in the abstract expression of the post-war period in an aesthetic context not very favorable to the use of colorful splashes.\",\"city\":\"Hy\\u00e8res\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.035896,\"lng\":6.126226,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"Hy\\u00e8res\"},{\"label\":\"Postal code\",\"value\":\"83400\"}],\"link\":\"https:\\\/\\\/www.museeduniel.com\\\/\",\"event\":\"Du 01\\\/05\\\/2026 au 01\\\/11\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":41,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Guided tour and tasting at Ch\\u00e2teau de Br\\u00e9gan\\u00e7on\",\"image\":\"\",\"credit\":\"\",\"description\":\"Want to immerse yourself in the fascinating world of winemaking? Discover the guided tours available throughout the year.\",\"city\":\"Bormes-les-Mimosas\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.115058,\"lng\":6.310758,\"tags\":[\"Other events\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Other events\"},{\"label\":\"City\",\"value\":\"Bormes-les-Mimosas\"},{\"label\":\"Postal code\",\"value\":\"83230\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 10:30 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":42,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Tuesday Market (5 vendors)\",\"image\":\"\",\"credit\":\"\",\"description\":\"ice creams, crepes, charcuterie, local products, crafts, original creations, printed T-shirts, and small discoveries\",\"city\":\"Rocbaron\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.305978,\"lng\":6.083557,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Rocbaron\"},{\"label\":\"Postal code\",\"value\":\"83136\"}],\"link\":\"https:\\\/\\\/www.mairie-rocbaron.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 16:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":43,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Friday Market at La Garde\",\"image\":\"\",\"credit\":\"\",\"description\":\"\",\"city\":\"La Garde\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.124478,\"lng\":6.009905,\"tags\":[\"March\\u00e9s & foires\"],\"fields\":[{\"label\":\"Category\",\"value\":\"March\\u00e9s & foires\"},{\"label\":\"City\",\"value\":\"La Garde\"},{\"label\":\"Postal code\",\"value\":\"83130\"}],\"link\":\"http:\\\/\\\/www.ville-lagarde.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":44,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Sunday Market (40 exhibitors)\",\"image\":\"\",\"credit\":\"\",\"description\":\"Fruits & vegetables, butchery, cheese shop, catering, textiles, local products...\",\"city\":\"Rocbaron\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.305978,\"lng\":6.083557,\"tags\":[\"Markets & Fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & Fairs\"},{\"label\":\"City\",\"value\":\"Rocbaron\"},{\"label\":\"Postal code\",\"value\":\"83136\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":45,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Provencal Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Weekly Provencal Market: the market takes place every Wednesday morning on Jean Moulin square.\",\"city\":\"Cavalaire-sur-Mer\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.170843,\"lng\":6.532281,\"tags\":[\"Markets & Fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & Fairs\"},{\"label\":\"City\",\"value\":\"Cavalaire-sur-Mer\"},{\"label\":\"Postal code\",\"value\":\"83240\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:30 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":46,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"The La Valette du Var Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Every Monday morning, the market is set up at Place du G\\u00e9n\\u00e9ral de Gaulle and Avenue du Char Verdun in La Valette. Local products, fruits and vegetables, butchery and charcuterie, flowers and plants, as well as clothing, utensils, toys...\",\"city\":\"La Valette-du-Var\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.137303,\"lng\":5.984489,\"tags\":[\"Markets & Fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & Fairs\"},{\"label\":\"City\",\"value\":\"La Valette-du-Var\"},{\"label\":\"Postal code\",\"value\":\"83160\"}],\"link\":\"http:\\\/\\\/www.lavalette83.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":47,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Market in Grimaud Village\",\"image\":\"\",\"credit\":\"\",\"description\":\"Provence market in Grimaud: the art of living in the heart of the village.\",\"city\":\"Grimaud\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.27397,\"lng\":6.522769,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Grimaud\"},{\"label\":\"Postal code\",\"value\":\"83310\"}],\"link\":\"https:\\\/\\\/www.grimaud-provence.com\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":48,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Weekly Proven\\u00e7al Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Weekly market\",\"city\":\"La Garde-Freinet\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.31708,\"lng\":6.469621,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"La Garde-Freinet\"},{\"label\":\"Postal code\",\"value\":\"83680\"}],\"link\":\"http:\\\/\\\/www.golfe-sainttropez-tourisme.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:30 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":49,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"The Carqueiranne Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Provencal market all morning in the heart of the village of Carqueiranne. \\nCome and meet local producers and the treasures of the Carqueiranne land.\",\"city\":\"Carqueiranne\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.094171,\"lng\":6.074442,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Carqueiranne\"},{\"label\":\"Postal code\",\"value\":\"83320\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":50,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Proven\\u00e7al Weekly Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"A beautiful market with the colors and scents of Provence in the heart of the village.\",\"city\":\"Le Plan-de-la-Tour\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.338723,\"lng\":6.546612,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Le Plan-de-la-Tour\"},{\"label\":\"Postal code\",\"value\":\"83120\"}],\"link\":\"http:\\\/\\\/www.leplandelatour.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:30 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":51,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Organic and Ethical Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Organic and zero waste market with local organic producers.\",\"city\":\"Grimaud\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.27397,\"lng\":6.522769,\"tags\":[\"Markets & Fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & Fairs\"},{\"label\":\"City\",\"value\":\"Grimaud\"},{\"label\":\"Postal code\",\"value\":\"83310\"}],\"link\":\"https:\\\/\\\/www.lavieautrement.org\\\/page\\\/1319374-l-association\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 10:00 au 30\\\/11\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":52,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Jean-Luc Ducreux's Monumental Sculpture Exhibition \\u00ab Infinite - the Absence of an End \\u00bb\",\"image\":\"\",\"credit\":\"\",\"description\":\"This year, Ducreux presents new monumental works in Gassin and at the Sculpture Garden. The marriage of contemporary art and the mythical view of the Gulf of Saint-Tropez transcends the senses. An unchangeable exhibition.\",\"city\":\"Gassin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.239318,\"lng\":6.595177,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"Gassin\"},{\"label\":\"Postal code\",\"value\":\"83580\"}],\"link\":\"https:\\\/\\\/gassin.eu\\\/fr\\\/animation\\\/culture\\\/gassin\\\/exposition-de-sculptures-monumentales-jean-luc-ducreux-infini-l-absence-d-une-fin-6505393\\\/\",\"event\":\"Du 21\\\/05\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":53,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Museum of Bormes - 2400 years of art and history in augmented reality\",\"image\":\"\",\"credit\":\"\",\"description\":\"Explore 2400 years of art and history in Bormes les Mimosas. Discover an exceptional place for a unique journey through time, from the 1st century BC to today in augmented reality.\\r\\nAlso visit the temporary exhibition of MHAB.\",\"city\":\"Bormes-les-Mimosas\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.150773,\"lng\":6.340554,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"Bormes-les-Mimosas\"},{\"label\":\"Postal code\",\"value\":\"83230\"}],\"link\":\"https:\\\/\\\/musee-bormes.com\\\/les-expositions\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 11:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":54,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Local producer and artisan market at the port of Carqueiranne\",\"image\":\"\",\"credit\":\"\",\"description\":\"Come meet local Carqueirannais producers and artisans at the small market by the port, right next to the boats, in Carqueiranne.\",\"city\":\"Carqueiranne\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.086986,\"lng\":6.076348,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Carqueiranne\"},{\"label\":\"Postal code\",\"value\":\"83320\"}],\"link\":\"http:\\\/\\\/www.carqueiranne.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":55,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Le march\\u00e9 local\",\"image\":\"\",\"credit\":\"\",\"description\":\"Market of local and quality products, from La Valette and surroundings. Gourmet products, oil, goat cheeses, honey, fruits and vegetables, ...\",\"city\":\"La Valette-du-Var\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.137234,\"lng\":5.981061,\"tags\":[\"March\\u00e9s & foires\"],\"fields\":[{\"label\":\"Category\",\"value\":\"March\\u00e9s & foires\"},{\"label\":\"City\",\"value\":\"La Valette-du-Var\"},{\"label\":\"Postal code\",\"value\":\"83160\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:30 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":56,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Weekly Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"The Solli\\u00e8s-Pont weekly market is a must-attend event that lively up the heart of the village each week.\",\"city\":\"Solli\\u00e8s-Pont\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.190985,\"lng\":6.040468,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Solli\\u00e8s-Pont\"},{\"label\":\"Postal code\",\"value\":\"83210\"}],\"link\":\"http:\\\/\\\/www.ville-sollies-pont.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":57,\"featurable\":true,\"type\":\"evenements-locaux-52\",\"name\":\"Exhibition \\\"Around the Pointu\\\" at Port Miramar\",\"image\":\"\",\"credit\":\"\",\"description\":\"Discover the large-format photo exhibition on traditional boats, sea fishing, cabanas, and ports of La Londe.\",\"city\":\"La Londe-les-Maures\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.115933,\"lng\":6.248943,\"tags\":[\"Exhibitions\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Exhibitions\"},{\"label\":\"City\",\"value\":\"La Londe-les-Maures\"},{\"label\":\"Postal code\",\"value\":\"83250\"}],\"link\":\"http:\\\/\\\/www.mpmtourisme.com\\\/\",\"event\":\"Du 19\\\/09\\\/2026 au 11\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]}];\n    var CATS = {\"villes-aux-alentours\":{\"key\":\"villes-aux-alentours\",\"label\":\"Villes aux alentours\",\"adhoc\":false,\"color\":\"#c2410c\",\"count\":4,\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/camping-lou-cabasson-a-bormes-les-mimosas.jpg\"},\"activites-et-lieux-recommandes\":{\"key\":\"activites-et-lieux-recommandes\",\"label\":\"Activit\\u00e9s et lieux recommand\\u00e9s\",\"adhoc\":false,\"color\":\"#2563eb\",\"count\":6,\"image\":\"https:\\\/\\\/www.campingloucabasson.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/camping-au-coeur-de-bormes-les-mimosas.jpg\"},\"evenements-recommandes\":{\"key\":\"evenements-recommandes\",\"label\":\"\\u00c9v\\u00e9nements recommand\\u00e9s\",\"adhoc\":false,\"color\":\"#15803d\",\"count\":7,\"image\":\"https:\\\/\\\/elaia-public.s3.fr-par.scw.cloud\\\/metadata_images\\\/image_6a2aa64a9f55a.jpg\"},\"evenements-locaux-52\":{\"key\":\"evenements-locaux-52\",\"label\":\"\\u00c9v\\u00e9nements locaux\",\"adhoc\":false,\"color\":\"#be185d\",\"count\":41,\"image\":\"\"}};\n    \/\/ Textes d'interface dans la langue de la page (includes\/i18n.php)\n    var T = {\"hero_title\":\"Things to discover nearby\",\"hero_text\":\"Villages, beaches, walks, good addresses and experiences selected around your stay.\",\"around\":\"Around\",\"search_placeholder\":\"Search for a place, an activity, a village\\u2026\",\"search\":\"Search\",\"max_distance\":\"Maximum distance\",\"all\":\"All\",\"prev_categories\":\"Previous categories\",\"next_categories\":\"Next categories\",\"categories\":\"Categories\",\"display\":\"Display\",\"list\":\"List\",\"map\":\"Map\",\"close\":\"Close\",\"featured\":\"Featured\",\"discover\":\"Discover\",\"idea\":\"idea\",\"ideas\":\"ideas\",\"around_you\":\"around you\",\"no_result\":\"No results\",\"no_result_hint\":\"Try another search, category or distance.\",\"pagination\":\"Ideas pagination\",\"prev_page\":\"Previous page\",\"next_page\":\"Next page\",\"ideas_title\":\"Ideas to suit your mood\",\"ideas_sub\":\"Suggestions to plan your perfect stay.\",\"reset_view\":\"Back to the overview\",\"map_hint\":\"Click a marker on the map to show its details here.\",\"official_site\":\"Official website\",\"video\":\"Video\",\"gallery\":\"Gallery\",\"documents\":\"Documents\",\"faq\":\"Frequently asked questions\",\"no_answer\":\"No answer yet.\",\"see_on_maps\":\"View on Google Maps\",\"see_place_on_maps\":\"View the campsite on Google Maps\",\"yes\":\"Yes\",\"no\":\"No\",\"practical_info\":\"Practical information\",\"reviews\":\"reviews\",\"read_more\":\"Read more\",\"prev_review\":\"Previous review\",\"next_review\":\"Next review\",\"prev_item\":\"Previous\",\"next_item\":\"Next\",\"photo_credit\":\"Photo: %s\",\"directions\":\"Directions\",\"read_less\":\"Show less\",\"stars_out_of_5\":\"%s stars out of 5\",\"owner_reply\":\"Response from the owner\",\"customer\":\"Guest\",\"customer_reviews\":\"Guest reviews\",\"rating_label\":\"Rated %1$s out of 5, %2$s reviews \\u2014 see the reviews\",\"reviews_by\":\"Reviews presented by Elaia\",\"powered_by\":\"Powered by\",\"today\":\"Today\",\"today_lc\":\"today\",\"tomorrow\":\"Tomorrow\",\"until\":\"Until %s\",\"from_to\":\"From %1$s to %2$s\",\"registration\":\"Booking required\",\"full\":\"Full\",\"all_animations\":\"See all activities \\u2192\",\"ago_day\":\"%d day ago\",\"ago_days\":\"%d days ago\",\"ago_week\":\"%d week ago\",\"ago_weeks\":\"%d weeks ago\",\"ago_month\":\"%d month ago\",\"ago_months\":\"%d months ago\",\"ago_year\":\"%d year ago\",\"ago_years\":\"%d years ago\",\"anim_unavailable\":\"The programme is temporarily unavailable\",\"anim_eyebrow\":\"Enjoy unforgettable moments\",\"anim_title\":\"Activities & events\",\"anim_hero_text\":\"Find all current activities, this week's highlights and upcoming events during your stay.\",\"anim_sections\":\"Page sections\",\"anim_nav_today\":\"Today\",\"anim_nav_week\":\"This week\",\"anim_nav_upcoming\":\"Upcoming\",\"anim_nav_calendar\":\"Calendar\",\"anim_where\":\"Where?\",\"anim_onsite\":\"On site\",\"anim_nearby\":\"Nearby\",\"anim_no_onsite\":\"No on-site activity at the moment\",\"anim_no_nearby\":\"No nearby event at the moment\",\"anim_all_day\":\"All day\",\"anim_at\":\"at %s\",\"anim_see_detail\":\"see details\",\"anim_live\":\"Ongoing\",\"anim_onsite_spot\":\"On site \\u00b7 %s\",\"anim_badge_until\":\"Until\",\"anim_badge_from\":\"From\",\"anim_badge_today\":\"Today\",\"anim_filter_cat\":\"Filter by category\",\"anim_all_f\":\"All\",\"anim_prev_day\":\"Previous day\",\"anim_next_day\":\"Next day\",\"anim_today_title\":\"Today's activities\",\"anim_tomorrow_title\":\"Tomorrow's activities\",\"anim_day_title\":\"Activities on %s\",\"anim_relax_today\":\"A relaxing day today\",\"anim_nothing_day\":\"Nothing planned that day\",\"anim_next_on\":\"Next event on %s.\",\"anim_soon\":\"The programme will be updated soon.\",\"anim_see_day\":\"See that day\",\"anim_prev_acts\":\"Previous activities\",\"anim_next_acts\":\"Next activities\",\"anim_prev_week\":\"Previous week\",\"anim_next_week\":\"Next week\",\"anim_week_title\":\"This week's highlights\",\"anim_next_week_title\":\"Next week\",\"anim_week_of\":\"Week of %s\",\"anim_week_days\":\"Days of the week\",\"anim_today_paren\":\"(today)\",\"anim_activity\":\"%d activity\",\"anim_activities\":\"%d activities\",\"anim_nothing\":\"nothing planned\",\"anim_pick_day\":\"Select another day to see its programme.\",\"anim_sort\":\"Sort events\",\"anim_sort_date\":\"Sort by date\",\"anim_sort_name\":\"Sort by name\",\"anim_upcoming_title\":\"All upcoming events\",\"anim_no_upcoming\":\"No upcoming events\",\"anim_try_cat\":\"Try another category.\",\"anim_more\":\"See more events (%d)\",\"anim_hide_cal\":\"Hide the calendar\",\"anim_show_cal\":\"See the full calendar\",\"anim_cal_title\":\"Monthly calendar\",\"anim_cal_sub\":\"All of the month's events at a glance.\",\"anim_prev_month\":\"Previous month\",\"anim_next_month\":\"Next month\",\"anim_more_info\":\"More information\",\"anim_new_tab\":\"(new tab)\",\"date_locale\":\"en-GB\",\"page_faq\":\"FAQ\",\"page_metadatas\":\"Discover around you\",\"page_animations\":\"Activities and events\",\"page_corpus\":\"Practical information\",\"anim_event\":\"Event\"};\n    var DECIMAL = \".\";\n    function plural(n) { return n + ' ' + (n > 1 ? T.ideas : T.idea); }\n    var MAP = {\"tiles_url\":\"https:\\\/\\\/tile.openstreetmap.org\\\/{z}\\\/{x}\\\/{y}.png\",\"attribution\":\"&copy; <a href=\\\"https:\\\/\\\/www.openstreetmap.org\\\/copyright\\\">OpenStreetMap<\\\/a>\",\"home\":null};\n    var ACCENT = \"#2e5e45\";\n    var STEP = 12;\n    var BY_ID = {};\n    ITEMS.forEach(function(it) {\n      BY_ID[it.id] = it;\n    });\n\n    var app = document.getElementById('mv-app');\n    if (!app) return;\n\n    var state = { selected: null, page: 1, q: '', km: 0, cat: 'all', limit: STEP, view: window.matchMedia('(max-width: 1100px)').matches ? 'list' : 'map' };\n\n    \/\/ \u2550\u2550\u2550 Ic\u00f4nes (SVG statiques) + ic\u00f4ne d\u00e9duite de la cat\u00e9gorie \u2550\u2550\u2550\n    var ICONS = {\n      grid: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"4\" y=\"4\" width=\"6\" height=\"6\" rx=\"1\"\/><rect x=\"14\" y=\"4\" width=\"6\" height=\"6\" rx=\"1\"\/><rect x=\"4\" y=\"14\" width=\"6\" height=\"6\" rx=\"1\"\/><rect x=\"14\" y=\"14\" width=\"6\" height=\"6\" rx=\"1\"\/><\/svg>',\n      home: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"><path d=\"M3 11l9-7 9 7\"\/><path d=\"M5 10v10h14V10\"\/><path d=\"M10 20v-6h4v6\"\/><\/svg>',\n      beach: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M12 3a9 9 0 0 1 9 9H3a9 9 0 0 1 9-9z\"\/><path d=\"M12 12v9M8 21h8\"\/><\/svg>',\n      leaf: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 19c0-8 5-14 15-14 0 10-6 15-14 15\"\/><path d=\"M5 19l7-7\"\/><\/svg>',\n      family: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"8\" cy=\"6\" r=\"2.5\"\/><circle cx=\"16\" cy=\"6\" r=\"2.5\"\/><path d=\"M4 21v-6a4 4 0 0 1 8 0v6M12 21v-6a4 4 0 0 1 8 0v6\"\/><\/svg>',\n      food: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M7 3v8a2 2 0 0 0 4 0V3M9 11v10M17 3c-2 0-3 2-3 5s1 4 3 4v9\"\/><\/svg>',\n      shop: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"><path d=\"M4 9l1.5-5h13L20 9\"\/><path d=\"M4 9h16v2a3 3 0 0 1-6 0 3 3 0 0 1-4 0 3 3 0 0 1-6 0z\"\/><path d=\"M5 13v7h14v-7\"\/><\/svg>',\n      calendar: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"2\"\/><path d=\"M16 3v4M8 3v4M3 10h18\"\/><\/svg>',\n      wine: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M8 3h8l-.5 6a3.5 3.5 0 0 1-7 0z\"\/><path d=\"M12 13v8M8 21h8\"\/><\/svg>',\n      walk: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"13\" cy=\"4\" r=\"2\"\/><path d=\"M9 21l3-7 3 3v5M8 12l2-4 4 1 3 3\"\/><\/svg>',\n      bed: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 18V7M3 14h18v4M21 14v-3a3 3 0 0 0-3-3h-7v6\"\/><circle cx=\"7\" cy=\"11\" r=\"2\"\/><\/svg>',\n      pool: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M2 17c2 0 2-1.5 4-1.5S8 17 10 17s2-1.5 4-1.5 2 1.5 4 1.5 2-1.5 4-1.5M8 14V5a2 2 0 0 1 4 0M14 14V5a2 2 0 0 1 4 0M8 9h6\"\/><\/svg>',\n      info: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 11v6M12 7.5v.5\"\/><\/svg>',\n      pin: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z\"\/><circle cx=\"12\" cy=\"9.5\" r=\"2.5\"\/><\/svg>',\n      car: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 17h14M5 17v2M19 17v2M4 13l2-6h12l2 6v4H4z\"\/><circle cx=\"8\" cy=\"14.5\" r=\"0.5\"\/><circle cx=\"16\" cy=\"14.5\" r=\"0.5\"\/><\/svg>',\n      clock: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3 2\"\/><\/svg>',\n      star: '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 3l2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17.3 6.4 20.2l1.1-6.2L3 9.6l6.2-.9z\"\/><\/svg>',\n      arrow: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>',\n      home: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3L3 19h18L12 3z\"\/><path d=\"M12 3v16M9 19l3-6 3 6\"\/><\/svg>',\n      reset: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 9V4h5M20 15v5h-5M4 4l6 6M20 20l-6-6M15 4h5v5M9 20H4v-5\"\/><\/svg>',\n      maps: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 4L3 6v14l6-2 6 2 6-2V4l-6 2-6-2z\"\/><path d=\"M9 4v14M15 6v14\"\/><\/svg>',\n      doc: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"><path d=\"M6 3h8l4 4v14H6z\"\/><path d=\"M14 3v4h4\"\/><\/svg>'\n    };\n\n    var ICON_RULES = [\n      [\/ville|village|city|alentour\/, 'home'],\n      [\/plage|beach|mer\\b\/, 'beach'],\n      [\/nature|balade|rando|parc|jardin\/, 'leaf'],\n      [\/famil|enfant|kid\/, 'family'],\n      [\/restau|gastro|repas|snack|bar\\b\/, 'food'],\n      [\/march|boutique|commerce|shop\/, 'shop'],\n      [\/evenement|\u00e9v\u00e9nement|event|agenda|atelier|animation\/, 'calendar'],\n      [\/vin|boisson|cave|terroir|bodega\/, 'wine'],\n      [\/activit|sport|loisir|lieu\/, 'walk'],\n      [\/heberg|locatif|accom|mobil\/, 'bed'],\n      [\/piscine|pool|aqua|pataug\/, 'pool'],\n      [\/service|equipement|\u00e9quipement|info\/, 'info']\n    ];\n\n    function catIcon(key) {\n      var c = CATS[key];\n      var hay = (key + ' ' + (c ? c.label : '')).toLowerCase();\n      for (var i = 0; i < ICON_RULES.length; i++) {\n        if (ICON_RULES[i][0].test(hay)) return ICON_RULES[i][1];\n      }\n      return 'pin';\n    }\n\n    function el(tag, cls, text) {\n      var n = document.createElement(tag);\n      if (cls) n.className = cls;\n      if (text != null) n.textContent = text;\n      return n;\n    }\n\n    function icon(name) {\n      var s = el('span', 'mv-icon');\n      s.setAttribute('aria-hidden', 'true');\n      s.innerHTML = ICONS[name] || ICONS.pin;\n      return s;\n    }\n\n    function catColor(key) {\n      return CATS[key] ? CATS[key].color : ACCENT;\n    }\n\n    function norm(s) {\n      return (s || '').toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g, '');\n    }\n\n    \/\/ \u2550\u2550\u2550 Filtrage \u2550\u2550\u2550\n    function filtered() {\n      var q = norm(state.q.trim());\n      return ITEMS.filter(function(it) {\n        if (state.cat !== 'all' && it.type !== state.cat) return false;\n        \/\/ Distance : seules les fiches qui ont une distance connue sont filtr\u00e9es\n        if (state.km && it.km !== null && it.km > state.km) return false;\n        if (q) {\n          var hay = norm([it.name, it.city, it.description, (CATS[it.type] || {}).label, it.tags.join(' ')].join(' '));\n          if (hay.indexOf(q) === -1) return false;\n        }\n        return true;\n      });\n    }\n\n    \/\/ \u2550\u2550\u2550 Cat\u00e9gories \u2550\u2550\u2550\n    function renderCats() {\n      var box = document.getElementById('mv-cats');\n      box.innerHTML = '';\n      var all = el('button', 'mv-cat' + (state.cat === 'all' ? ' is-active' : ''));\n      all.type = 'button';\n      all.appendChild(icon('grid'));\n      all.appendChild(document.createTextNode(T.all));\n      all.addEventListener('click', function() {\n        setCat('all');\n      });\n      box.appendChild(all);\n      Object.keys(CATS).forEach(function(key) {\n        var b = el('button', 'mv-cat' + (state.cat === key ? ' is-active' : ''));\n        b.type = 'button';\n        b.style.setProperty('--mv-cat', catColor(key));\n        b.appendChild(icon(catIcon(key)));\n        b.appendChild(document.createTextNode(CATS[key].label));\n        b.addEventListener('click', function() {\n          setCat(key);\n        });\n        box.appendChild(b);\n      });\n      updateCatArrows();\n      var active = box.querySelector('.is-active');\n      if (active && active.scrollIntoView && active.offsetLeft + active.offsetWidth > box.scrollLeft + box.clientWidth) {\n        box.scrollLeft = active.offsetLeft - 80;\n      }\n    }\n\n    \/\/ Fl\u00e8ches de la ligne de cat\u00e9gories (visibles seulement s'il reste \u00e0 d\u00e9filer)\n    var catsWrap = document.getElementById('mv-cats-wrap');\n    var catsRow = document.getElementById('mv-cats');\n\n    function updateCatArrows() {\n      var max = catsRow.scrollWidth - catsRow.clientWidth;\n      catsWrap.classList.toggle('can-left', catsRow.scrollLeft > 4);\n      catsWrap.classList.toggle('can-right', catsRow.scrollLeft < max - 4);\n    }\n    catsRow.addEventListener('scroll', updateCatArrows, { passive: true });\n    window.addEventListener('resize', updateCatArrows);\n    catsWrap.querySelector('.mv-cats-arrow--left').addEventListener('click', function() {\n      catsRow.scrollBy({ left: -catsRow.clientWidth * 0.7, behavior: 'smooth' });\n    });\n    catsWrap.querySelector('.mv-cats-arrow--right').addEventListener('click', function() {\n      catsRow.scrollBy({ left: catsRow.clientWidth * 0.7, behavior: 'smooth' });\n    });\n\n    function setCat(key) {\n      state.cat = key;\n      state.limit = STEP;\n      state.page = 1;\n      renderCats();\n      renderList();\n    }\n\n    \/\/ \u2550\u2550\u2550 Cartes \u2550\u2550\u2550\n    function picture(it) {\n      if (!it.image) {\n        var ph = el('div', 'mv-card-noimg');\n        ph.appendChild(icon(catIcon(it.type)));\n        return ph;\n      }\n      var img = el('img');\n      img.src = it.image;\n      img.alt = it.name;\n      img.loading = 'lazy';\n      img.onerror = function() {\n        img.replaceWith(picture({ type: it.type, image: '' }));\n      };\n      return img;\n    }\n\n    function metaLine(it) {\n      var m = el('p', 'mv-meta');\n      if (it.km !== null) {\n        var a = el('span');\n        a.appendChild(icon('car'));\n        a.appendChild(document.createTextNode(String(it.km).replace('.', DECIMAL) + ' km'));\n        m.appendChild(a);\n      }\n      if (it.min !== null) {\n        var b = el('span');\n        b.appendChild(icon('clock'));\n        b.appendChild(document.createTextNode(it.min + ' min'));\n        m.appendChild(b);\n      }\n      if (it.km === null && it.min === null && it.city) {\n        var c = el('span');\n        c.appendChild(icon('pin'));\n        c.appendChild(document.createTextNode(it.city));\n        m.appendChild(c);\n      }\n      return m.childNodes.length ? m : null;\n    }\n\n    function card(it, featured, mini) {\n      var c = el('article', 'mv-card' + (featured ? ' mv-card--featured' : '') + (mini ? ' mv-card--mini' : ''));\n      c.tabIndex = 0;\n      c.dataset.id = it.id;\n      c.style.setProperty('--mv-cat', catColor(it.type));\n\n      var media = el('div', 'mv-card-media');\n      media.appendChild(picture(it));\n      if (!featured && !mini && CATS[it.type]) media.appendChild(el('span', 'mv-pill', CATS[it.type].label));\n      \/\/ Les mini-cartes aussi : la photo y est petite, mais c'est la m\u00eame photo,\n      \/\/ et la licence ne pr\u00e9voit pas d'exception de taille.\n      if (it.credit) {\n        var cr = el('span', 'mv-credit', '\u00a9');\n        cr.title = 'Photo : ' + it.credit;\n        cr.setAttribute('aria-label', 'Photo : ' + it.credit);\n        cr.setAttribute('data-credit', 'Photo : ' + it.credit);\n        media.appendChild(cr);\n      }\n      c.appendChild(media);\n\n      var body = el('div', 'mv-card-body');\n      if (featured) {\n        var flag = el('span', 'mv-flag');\n        flag.appendChild(icon('star'));\n        flag.appendChild(document.createTextNode(T.featured));\n        body.appendChild(flag);\n      }\n      if (mini && CATS[it.type]) body.appendChild(el('span', 'mv-pill', CATS[it.type].label));\n      body.appendChild(el('h3', 'mv-card-title', it.name));\n      var meta = metaLine(it);\n      if (meta) body.appendChild(meta);\n      if (it.description) body.appendChild(el('p', 'mv-card-desc', it.description));\n      if (!featured && !mini && it.tags.length) {\n        var tags = el('div', 'mv-tags');\n        it.tags.forEach(function(t) {\n          tags.appendChild(el('span', 'mv-tag', t));\n        });\n        body.appendChild(tags);\n      }\n      var foot = el('div', 'mv-card-foot');\n      var btn = el('button', 'mv-discover', T.discover);\n      btn.type = 'button';\n      btn.appendChild(icon('arrow'));\n      foot.appendChild(btn);\n      body.appendChild(foot);\n      c.appendChild(body);\n\n      c.addEventListener('click', function() {\n        openModal(it);\n      });\n      c.addEventListener('keydown', function(e) {\n        if (e.key === 'Enter') openModal(it);\n      });\n      if (mini) return c;\n      c.addEventListener('mouseenter', function() {\n        highlightPin(it.id, true);\n      });\n      c.addEventListener('mouseleave', function() {\n        highlightPin(it.id, false);\n      });\n      return c;\n    }\n\n    function renderList() {\n      var list = filtered();\n      var grid = document.getElementById('mv-grid');\n      var more = document.getElementById('mv-more');\n      grid.innerHTML = '';\n      more.innerHTML = '';\n\n      var count = document.getElementById('mv-count');\n      count.innerHTML = '';\n      count.appendChild(el('strong', null, plural(list.length)));\n      count.appendChild(document.createTextNode(' ' + T.around_you));\n\n      if (!list.length) {\n        var empty = el('div', 'mv-empty');\n        empty.appendChild(el('strong', null, T.no_result));\n        empty.appendChild(document.createTextNode(T.no_result_hint));\n        grid.appendChild(empty);\n      }\n\n      \/\/ Pagination : 4 rang\u00e9es pleines par page, selon le nombre de colonnes affich\u00e9es.\n      \/\/ La fiche \u00ab \u00c0 la une \u00bb occupe 2 cases : la 1re page a donc une fiche de moins.\n      var cols = gridColumns();\n      var perPage = cols === 1 ? 8 : cols * 4;\n      var featuredOn = !state.q && list.length > 2 && !!list[0].image && !!list[0].featurable && cols > 1;\n      var first = featuredOn ? perPage - 1 : perPage;\n      var pages = list.length <= first ? 1 : 1 + Math.ceil((list.length - first) \/ perPage);\n      if (state.page > pages) state.page = pages;\n      var start = state.page === 1 ? 0 : first + (state.page - 2) * perPage;\n      var end = state.page === 1 ? first : start + perPage;\n\n      list.slice(start, end).forEach(function(it, i) {\n        grid.appendChild(card(it, featuredOn && state.page === 1 && i === 0));\n      });\n\n      if (pages > 1) renderPager(more, pages);\n\n      updateMap(list);\n    }\n\n    \/**\n     * Remonte au bloc demand\u00e9, sous l'en-t\u00eate fixe du th\u00e8me. Apr\u00e8s le rendu\n     * (image suivante) : la liste vient de changer de hauteur \u2014 28 pages qui\n     * deviennent une \u2014 et une position calcul\u00e9e avant tombait trop haut ou\n     * trop bas selon la cat\u00e9gorie cliqu\u00e9e.\n     *\/\n    var appRoot = document.getElementById('mv-app');\n    if (appRoot) appRoot.style.overflowAnchor = 'none';\n\n    function scrollToBlock(id) {\n      requestAnimationFrame(function() {\n        var target = document.getElementById(id);\n        if (!target) return;\n        var top = target.getBoundingClientRect().top + window.pageYOffset - headerOffset() - 16;\n        window.scrollTo({ top: Math.max(0, top), behavior: 'smooth' });\n      });\n    }\n\n    \/** Nombre de colonnes de la grille (d\u00e9pend de la largeur disponible) *\/\n    function gridColumns() {\n      var g = document.getElementById('mv-grid');\n      var n = g ? getComputedStyle(g).gridTemplateColumns.split(' ').filter(Boolean).length : 3;\n      return Math.max(1, n || 3);\n    }\n\n    function renderPager(box, pages) {\n      box.setAttribute('role', 'navigation');\n      box.setAttribute('aria-label', T.pagination);\n      var go = function(n) {\n        state.page = n;\n        try {\n          renderList();\n        } finally {\n          scrollToBlock('mv-count');\n        }\n      };\n      var btn = function(label, n, opts) {\n        var b = el('button', 'mv-page', label);\n        b.type = 'button';\n        if (opts.aria) b.setAttribute('aria-label', opts.aria);\n        if (opts.current) b.setAttribute('aria-current', 'page');\n        b.disabled = !!opts.disabled;\n        b.addEventListener('click', function() {\n          if (!opts.current) go(n);\n        });\n        box.appendChild(b);\n      };\n      btn('\u2039', state.page - 1, { disabled: state.page === 1, aria: T.prev_page });\n      var last = 0;\n      for (var p = 1; p <= pages; p++) {\n        if (p === 1 || p === pages || Math.abs(p - state.page) <= 1) {\n          if (p - last > 1) box.appendChild(el('span', 'mv-page-gap', '\u2026'));\n          btn(String(p), p, { current: p === state.page, aria: 'Page ' + p });\n          last = p;\n        }\n      }\n      btn('\u203a', state.page + 1, { disabled: state.page === pages, aria: T.next_page });\n    }\n\n    \/\/ \u2550\u2550\u2550 Id\u00e9es selon vos envies (cat\u00e9gories les plus fournies) \u2550\u2550\u2550\n    function renderIdeas() {\n      var sec = document.getElementById('mv-ideas');\n      \/\/ Les fiches sans gabarit (\u00ab Infos pratiques \u00bb) ne sont pas une envie.\n      var keys = Object.keys(CATS).filter(function(k) { return !CATS[k].adhoc; }).sort(function(a, b) {\n        return (CATS[b].image ? 1 : 0) - (CATS[a].image ? 1 : 0) || CATS[b].count - CATS[a].count;\n      }).slice(0, 4);\n      if (keys.length < 2) return;\n\n      var head = el('div', 'mv-ideas-head');\n      var h = el('h2', 'mv-ideas-title', T.ideas_title);\n      h.id = 'mv-ideas-title';\n      head.appendChild(h);\n      head.appendChild(el('p', 'mv-ideas-sub', T.ideas_sub));\n      sec.appendChild(head);\n\n      var grid = el('div', 'mv-ideas-grid');\n      keys.forEach(function(key) {\n        var c = CATS[key];\n        var b = el('button', 'mv-idea');\n        b.type = 'button';\n        b.style.setProperty('--mv-cat', c.color);\n        var img = el('span', 'mv-idea-img');\n        if (c.image) img.style.backgroundImage = 'url(\"' + c.image.replace(\/\"\/g, '%22') + '\")';\n        b.appendChild(img);\n        var body = el('span', 'mv-idea-body');\n        body.appendChild(icon(catIcon(key)));\n        var txt = el('span', 'mv-idea-text');\n        txt.appendChild(el('strong', null, c.label));\n        txt.appendChild(el('span', null, plural(c.count)));\n        body.appendChild(txt);\n        body.appendChild(icon('arrow'));\n        b.appendChild(body);\n        b.addEventListener('click', function() {\n          try {\n            setCat(key);\n          } finally {\n            scrollToBlock('mv-cats');\n          }\n        });\n        grid.appendChild(b);\n      });\n      sec.appendChild(grid);\n    }\n\n    \/\/ \u2550\u2550\u2550 Carte Leaflet \u2550\u2550\u2550\n    var map = null,\n      layer = null,\n      homeMarker = null,\n      radius = null,\n      resetBtn = null,\n      fitting = false, \/\/ cadrage lanc\u00e9 par le code (et non par l'utilisateur)\n      overview = null, \/\/ dernier cadrage \u00ab vue d'ensemble \u00bb\n      pins = {};\n\n    \/\/ Copie de Leaflet utilis\u00e9e pour TOUTE la carte. Sur certains sites (th\u00e8me qui\n    \/\/ d\u00e9place les scripts avec jQuery, WP Rocket\u2026) Leaflet s'ex\u00e9cute deux fois : la\n    \/\/ 2e copie \u00e9crase window.L alors que markercluster s'est attach\u00e9 \u00e0 la 1re.\n    \/\/ M\u00e9langer les deux copies rend les rep\u00e8res invisibles et casse le regroupement.\n    var Lf = null;\n\n    function resolveLeaflet() {\n      var cur = window.L;\n      if (!cur) return null;\n      if (typeof cur.markerClusterGroup === 'function' && typeof cur.MarkerClusterGroup === 'function') return cur;\n      if (typeof cur.noConflict === 'function') {\n        var current = cur.noConflict(); \/\/ window.L \u2190 copie pr\u00e9c\u00e9dente\n        var previous = window.L;\n        if (previous && previous !== current && typeof previous.MarkerClusterGroup === 'function') {\n          \/\/ markercluster lit window.L \u00e0 chaque action (clic, zoom) : on remet\n          \/\/ durablement la copie qui le porte (l'autre n'est qu'un doublon de la m\u00eame version).\n          \/\/ Sans \u00e7a, les identifiants internes des deux copies se m\u00e9langent et les\n          \/\/ clics sur les rep\u00e8res \/ groupes sont perdus.\n          window.L = previous;\n          return previous;\n        }\n        window.L = current;\n      }\n      return null;\n    }\n\n    function pinIcon(color, hover, selected) {\n      return Lf.divIcon({\n        className: 'mv-pin' + (hover ? ' is-hover' : '') + (selected ? ' is-selected' : ''),\n        html: '<svg width=\"30\" height=\"39\" viewBox=\"0 0 28 36\"><path d=\"M14 35C14 35 26 22.5 26 13.5A12 12 0 0 0 2 13.5C2 22.5 14 35 14 35Z\" fill=\"' + color + '\" stroke=\"#fff\" stroke-width=\"2\"\/><circle cx=\"14\" cy=\"13.5\" r=\"4.5\" fill=\"#fff\"\/><\/svg>',\n        iconSize: [30, 39],\n        iconAnchor: [15, 39],\n        popupAnchor: [0, -34]\n      });\n    }\n\n    var mapTries = 0;\n\n    function initMap() {\n      var elMap = document.getElementById('mv-map');\n      if (!elMap) return;\n      \/\/ Attend Leaflet + markercluster (scripts parfois diff\u00e9r\u00e9s), 8 s max ;\n      \/\/ au-del\u00e0, carte sans regroupement plut\u00f4t que pas de carte.\n      Lf = resolveLeaflet();\n      if (!Lf) {\n        if (++mapTries < 80) return setTimeout(initMap, 100);\n        if (!window.L) return;\n        Lf = window.L;\n      }\n      map = Lf.map(elMap, { zoomControl: false, scrollWheelZoom: false, attributionControl: false }).setView([46.6, 1.9], 6);\n      \/\/ Garde-fou : si le th\u00e8me r\u00e9ex\u00e9cute Leaflet plus tard, on remet la bonne copie\n      \/\/ juste avant toute interaction (markercluster lit window.L au moment du clic).\n      ['pointerdown', 'mousedown', 'touchstart', 'click', 'wheel'].forEach(function(t) {\n        elMap.addEventListener(t, function() {\n          if (window.L !== Lf) window.L = Lf;\n        }, true);\n      });\n      Lf.tileLayer(MAP.tiles_url, { maxZoom: 19 }).addTo(map);\n      Lf.control.zoom({ position: 'bottomright' }).addTo(map);\n      Lf.control.attribution({ position: 'bottomleft', prefix: false }).addAttribution(MAP.attribution).addTo(map);\n\n      \/\/ \u00ab Revenir \u00e0 la vue d'ensemble \u00bb : appara\u00eet d\u00e8s que l'utilisateur zoome \/ d\u00e9place la carte\n      resetBtn = el('button', 'mv-reset');\n      resetBtn.type = 'button';\n      resetBtn.hidden = true;\n      resetBtn.appendChild(icon('reset'));\n      resetBtn.appendChild(document.createTextNode(T.reset_view));\n      resetBtn.addEventListener('click', function() {\n        fitOverview();\n        resetBtn.hidden = true;\n      });\n      elMap.appendChild(resetBtn);\n      Lf.DomEvent.disableClickPropagation(resetBtn);\n      map.on('zoomstart movestart', function() {\n        if (!fitting && resetBtn) resetBtn.hidden = false;\n      });\n\n      \/\/ Rep\u00e8re de l'\u00e9tablissement, toujours visible (hors regroupement)\n      if (MAP.home) {\n        homeMarker = Lf.marker([MAP.home.lat, MAP.home.lng], {\n          icon: Lf.divIcon({ className: 'mv-home', html: '<span class=\"mv-home-pin\">' + ICONS.home + '<\/span>', iconSize: [44, 44], iconAnchor: [22, 22] }),\n          \/\/ Sous les rep\u00e8res et groupes : les fiches situ\u00e9es \u00e0 l'\u00e9tablissement m\u00eame\n          \/\/ (souvent nombreuses) restent visibles et cliquables par-dessus.\n          zIndexOffset: -1000,\n          keyboard: false,\n          interactive: false,\n          title: MAP.home.label\n        }).addTo(map);\n        homeMarker.bindTooltip(MAP.home.label, { permanent: true, direction: 'right', offset: [24, 0], className: 'mv-home-label' });\n      }\n\n      layer = (typeof Lf.markerClusterGroup === 'function') ? Lf.markerClusterGroup({\n        showCoverageOnHover: false,\n        maxClusterRadius: 45,\n        iconCreateFunction: function(cl) {\n          var n = cl.getChildCount();\n          var s = n < 10 ? 34 : (n < 50 ? 40 : 46);\n          return Lf.divIcon({ className: 'mv-cluster', html: '<span style=\"width:' + s + 'px;height:' + s + 'px;background:' + ACCENT + '\">' + n + '<\/span>', iconSize: [s, s] });\n        }\n      }) : Lf.layerGroup();\n      layer.addTo(map);\n      renderList();\n    }\n\n    \/**\n     * Met la carte \u00e0 jour sans jamais bloquer la page. Le th\u00e8me (ou WP Rocket)\n     * peut r\u00e9ex\u00e9cuter Leaflet apr\u00e8s coup : markercluster lit alors la mauvaise\n     * copie (\u00ab L.DistanceGrid is not a constructor \u00bb) au moment o\u00f9 la LISTE met\n     * la carte \u00e0 jour. On remet la bonne copie avant, et une erreur de carte\n     * n'emp\u00eache plus la liste ni le d\u00e9filement qui suivent.\n     *\/\n    function updateMap(list) {\n      if (!map || !layer) return;\n      if (Lf && window.L !== Lf) window.L = Lf;\n      try {\n        drawMap(list);\n      } catch (e) {\n        if (window.console) console.warn('Elaia \u2014 carte non mise \u00e0 jour :', e);\n      }\n    }\n\n    function drawMap(list) {\n      layer.clearLayers();\n      pins = {};\n      var bounds = [];\n      var markers = [];\n      list.forEach(function(it) {\n        if (it.lat === null) return;\n        var m = Lf.marker([it.lat, it.lng], { icon: pinIcon(catColor(it.type), false, it.id === state.selected), title: it.name });\n        m.on('click', function() {\n          selectItem(it.id);\n        });\n        markers.push(m);\n        pins[it.id] = m;\n        bounds.push([it.lat, it.lng]);\n      });\n      \/\/ Ajout group\u00e9 : un seul recalcul des regroupements (plus fiable que addLayer un par un)\n      if (typeof layer.addLayers === 'function') layer.addLayers(markers);\n      else markers.forEach(function(m) {\n        layer.addLayer(m);\n      });\n\n      \/\/ Rayon du filtre de distance autour de l'\u00e9tablissement\n      if (radius) {\n        map.removeLayer(radius);\n        radius = null;\n      }\n      if (MAP.home) {\n        bounds.push([MAP.home.lat, MAP.home.lng]);\n        if (state.km) {\n          radius = Lf.circle([MAP.home.lat, MAP.home.lng], {\n            radius: state.km * 1000,\n            color: ACCENT,\n            weight: 1.5,\n            dashArray: '6 6',\n            fillColor: ACCENT,\n            fillOpacity: 0.06,\n            interactive: false\n          }).addTo(map);\n        }\n      }\n\n      if (state.selected !== null && !pins[state.selected]) state.selected = null;\n      renderPreview();\n      overview = radius ? { bounds: radius.getBounds(), padding: [20, 20] } :\n        (bounds.length > 1 ? { bounds: bounds, padding: [40, 40] } :\n          (bounds.length === 1 ? { center: bounds[0] } : null));\n      fitOverview();\n      if (resetBtn) resetBtn.hidden = true;\n      setTimeout(function() {\n        map.invalidateSize();\n      }, 50);\n    }\n\n    \/** Cadre la carte sur la vue d'ensemble, sans afficher le bouton \u00ab Revenir\u2026 \u00bb *\/\n    function fitOverview() {\n      if (!map || !overview) return;\n      fitting = true;\n      if (overview.center) map.setView(overview.center, 13, { animate: false });\n      else map.fitBounds(overview.bounds, { padding: overview.padding, maxZoom: 13, animate: false });\n      setTimeout(function() {\n        fitting = false;\n      }, 50);\n    }\n\n    function highlightPin(id, on) {\n      var m = pins[id];\n      if (!m) return;\n      var it = BY_ID[id];\n      var selected = id === state.selected;\n      m.setIcon(pinIcon(catColor(it.type), on, selected));\n      m.setZIndexOffset(on || selected ? 1000 : 0);\n    }\n\n    \/** S\u00e9lectionne une fiche depuis la carte : rep\u00e8re mis en avant + fiche sous la carte *\/\n    function selectItem(id) {\n      var prev = state.selected;\n      state.selected = id;\n      if (prev !== null) highlightPin(prev, false);\n      highlightPin(id, false);\n      renderPreview();\n    }\n\n    function renderPreview() {\n      var box = document.getElementById('mv-preview');\n      if (!box) return;\n      box.innerHTML = '';\n      var it = state.selected !== null ? BY_ID[state.selected] : null;\n      if (!it) {\n        var hint = el('div', 'mv-preview-hint');\n        hint.appendChild(icon('pin'));\n        hint.appendChild(document.createTextNode(T.map_hint));\n        box.appendChild(hint);\n        return;\n      }\n      box.appendChild(card(it, false, true));\n    }\n\n    \/\/ \u2550\u2550\u2550 Modal \u2550\u2550\u2550\n    var modal = document.getElementById('mv-modal');\n    if (modal.parentNode !== document.body) document.body.appendChild(modal);\n    var content = document.getElementById('mv-modal-content');\n    content.style.setProperty('--mv-accent', ACCENT);\n    content.style.setProperty('--mv-accent-soft', ACCENT + '1a');\n    content.style.setProperty('--mv-cream', '#faf7f2');\n    content.style.setProperty('--mv-line', '#ebe5da');\n    content.style.setProperty('--mv-muted', '#6b6559');\n    var lastFocus = null;\n\n    function openModal(it) {\n      lastFocus = document.activeElement;\n      content.innerHTML = '';\n      content.style.setProperty('--mv-cat', catColor(it.type));\n\n      \/\/ Deux colonnes d\u00e8s le haut : m\u00e9dias \/ actions \u00e0 gauche, texte \u00e0 droite\n      var body = el('div', 'mv-modal-body');\n      var cols = el('div', 'mv-modal-cols');\n      var side = el('div', 'mv-modal-col mv-modal-col--media');\n      var main = el('div', 'mv-modal-col');\n      cols.appendChild(side);\n      cols.appendChild(main);\n      body.appendChild(cols);\n      var mainBody = body;\n\n      if (it.image) {\n        var img = el('img', 'mv-modal-img');\n        img.src = it.image;\n        img.alt = it.name;\n        img.onerror = function() {\n          img.remove();\n          if (cap) cap.remove();\n        };\n        side.appendChild(img);\n        var cap = null;\n        if (it.credit) {\n          cap = el('p', 'mv-modal-credit', 'Photo : ' + it.credit);\n          side.appendChild(cap);\n        }\n      }\n\n      body = main;\n      if (CATS[it.type]) {\n        var pill = el('span', 'mv-pill', CATS[it.type].label);\n        pill.style.alignSelf = 'flex-start';\n        body.appendChild(pill);\n      }\n      var t = el('h2', 'mv-modal-title', it.name);\n      t.id = 'mv-modal-title';\n      body.appendChild(t);\n      var meta = metaLine(it);\n      if (meta) body.appendChild(meta);\n      if (it.event) {\n        var ev = el('span', 'mv-modal-event');\n        ev.appendChild(icon('calendar'));\n        ev.appendChild(document.createTextNode(it.event));\n        body.appendChild(ev);\n      }\n      if (it.description) body.appendChild(el('p', 'mv-modal-desc', it.description));\n\n      if (it.fields.length) {\n        var f = el('div', 'mv-fields');\n        it.fields.forEach(function(fd) {\n          var d = el('div', 'mv-field');\n          d.appendChild(el('span', null, fd.label));\n          d.appendChild(el('strong', null, fd.value));\n          f.appendChild(d);\n        });\n        body.appendChild(f);\n      }\n\n      \/\/ Colonne m\u00e9dias (gauche)\n      body = side;\n      var actions = el('div', 'mv-modal-actions');\n      \/\/ Google Maps seulement si on sait o\u00f9 se trouve la fiche (sinon lien trompeur)\n      var gmTarget = mapsTarget(it);\n      if (gmTarget) {\n        var gm = el('a', 'mv-btn', gmTarget.label);\n        gm.href = gmTarget.url;\n        gm.target = '_blank';\n        gm.rel = 'noopener';\n        gm.insertBefore(icon('maps'), gm.firstChild);\n        actions.appendChild(gm);\n      }\n      if (it.link) {\n        var l = el('a', 'mv-btn mv-btn--ghost', T.official_site);\n        l.href = it.link;\n        l.target = '_blank';\n        l.rel = 'noopener';\n        l.appendChild(icon('arrow'));\n        actions.appendChild(l);\n      }\n      body.appendChild(actions);\n\n      if (it.video_url) {\n        body.appendChild(el('p', 'mv-modal-sub', T.video));\n        var e = it.video_embed;\n        if (e && (e.type === 'youtube' || e.type === 'vimeo') && e.src) {\n          var v = el('div', 'mv-video');\n          var fr = el('iframe');\n          fr.src = e.src;\n          fr.allowFullscreen = true;\n          fr.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture');\n          fr.referrerPolicy = 'strict-origin-when-cross-origin';\n          v.appendChild(fr);\n          body.appendChild(v);\n        } else if (e && e.type === 'file' && e.src) {\n          var vw = el('div', 'mv-video');\n          var vid = el('video');\n          vid.src = e.src;\n          vid.controls = true;\n          vid.preload = 'metadata';\n          vw.appendChild(vid);\n          body.appendChild(vw);\n        } else {\n          var vl = el('a', null, it.video_url);\n          vl.href = it.video_url;\n          vl.target = '_blank';\n          vl.rel = 'noopener';\n          body.appendChild(vl);\n        }\n      }\n\n      if (it.gallery.length) {\n        body.appendChild(el('p', 'mv-modal-sub', T.gallery));\n        var g = el('div', 'mv-gallery');\n        it.gallery.forEach(function(src) {\n          var a = el('a');\n          a.href = src;\n          a.target = '_blank';\n          a.rel = 'noopener';\n          var gi = el('img');\n          gi.src = src;\n          gi.alt = '';\n          gi.loading = 'lazy';\n          a.appendChild(gi);\n          g.appendChild(a);\n        });\n        body.appendChild(g);\n      }\n\n      var docs = it.documents.filter(function(d) {\n        return d && d.url;\n      });\n      if (docs.length) {\n        body.appendChild(el('p', 'mv-modal-sub', T.documents));\n        var dl = el('div', 'mv-docs');\n        docs.forEach(function(d) {\n          var a = el('a');\n          a.href = d.url;\n          a.target = '_blank';\n          a.rel = 'noopener';\n          a.appendChild(icon('doc'));\n          a.appendChild(document.createTextNode(d.nom || 'Document'));\n          dl.appendChild(a);\n        });\n        body.appendChild(dl);\n      }\n\n      if (it.faq.length) {\n        body = main; \/\/ la FAQ reste dans la colonne texte\n        body.appendChild(el('p', 'mv-modal-sub', T.faq));\n        var fq = el('div', 'mv-faq');\n        it.faq.forEach(function(qa) {\n          var det = el('details');\n          det.appendChild(el('summary', null, qa.question));\n          det.appendChild(el('p', null, qa.answer || T.no_answer));\n          fq.appendChild(det);\n        });\n        body.appendChild(fq);\n      }\n\n      content.appendChild(mainBody);\n      modal.hidden = false;\n      fitModal();\n      content.querySelectorAll('img, iframe, video').forEach(function(m) {\n        m.addEventListener('load', fitModal);\n        m.addEventListener('loadedmetadata', fitModal);\n      });\n      document.documentElement.style.overflow = 'hidden';\n      document.getElementById('mv-modal-close').focus();\n    }\n\n    \/**\n     * Agrandissement automatique : on passe au palier suivant tant que le contenu\n     * d\u00e9passe la hauteur disponible (sur grand \u00e9cran seulement).\n     *\/\n    function fitModal() {\n      var m = modal.querySelector('.mv-modal');\n      if (!m || modal.hidden) return;\n      m.classList.remove('is-wide', 'is-compact');\n      if (window.innerWidth <= 900) return;\n      var overflows = function() {\n        return m.scrollHeight > m.clientHeight + 2;\n      };\n      if (!overflows()) return;\n      m.classList.add('is-wide');\n      if (!overflows()) return;\n      m.classList.add('is-compact');\n    }\n    window.addEventListener('resize', function() {\n      if (!modal.hidden) fitModal();\n    });\n\n    \/** Lien Google Maps : coordonn\u00e9es si connues, sinon nom + ville \/ adresse *\/\n    \/**\n     * Cible Google Maps, par ordre de fiabilit\u00e9 :\n     *   1. coordonn\u00e9es de la fiche\n     *   2. nom + adresse (ou ville)\n     *   3. position de l'\u00e9tablissement (fiche sans lieu = \u00e9quipement sur place)\n     *   4. aucune \u2192 pas de bouton\n     *\/\n    function mapsTarget(it) {\n      var base = 'https:\/\/www.google.com\/maps\/search\/?api=1&query=';\n      if (it.lat !== null) return { url: base + encodeURIComponent(it.lat + ',' + it.lng), label: T.see_on_maps };\n      var where = it.address || it.city;\n      if (where) return { url: base + encodeURIComponent(it.name + ', ' + where), label: T.see_on_maps };\n      if (MAP.home) return { url: base + encodeURIComponent(MAP.home.lat + ',' + MAP.home.lng), label: T.see_place_on_maps };\n      return null;\n    }\n\n    function closeModal() {\n      modal.hidden = true;\n      document.documentElement.style.overflow = '';\n      if (lastFocus) lastFocus.focus();\n    }\n\n    document.getElementById('mv-modal-close').addEventListener('click', closeModal);\n    modal.addEventListener('click', function(e) {\n      if (e.target === modal) closeModal();\n    });\n    document.addEventListener('keydown', function(e) {\n      if (e.key === 'Escape' && !modal.hidden) closeModal();\n    });\n\n    \/\/ \u2550\u2550\u2550 Contr\u00f4les \u2550\u2550\u2550\n    \/**\n     * Hauteur occup\u00e9e en haut de l'\u00e9cran par les barres fixes \/ collantes du site\n     * (barre d'admin, en-t\u00eate, barre de r\u00e9servation\u2026), quelle que soit leur classe :\n     * on sonde le haut de l'\u00e9cran et on empile les barres trouv\u00e9es.\n     *\/\n    function headerOffset() {\n      var bottom = 0;\n      var vw = window.innerWidth,\n        vh = window.innerHeight;\n      var isBar = function(el) {\n        if (!el || el === document.body || el === document.documentElement) return false;\n        if (el.closest('#mv-app, .ea-modal-overlay, .mv-modal-overlay')) return false;\n        var pos = getComputedStyle(el).position;\n        if (pos !== 'fixed' && pos !== 'sticky') return false;\n        var r = el.getBoundingClientRect();\n        \/\/ vraie barre : large, pas trop haute (exclut bulles de chat, boutons flottants, popups)\n        return r.width >= vw * 0.3 && r.height > 0 && r.height < vh * 0.45;\n      };\n      for (var pass = 0; pass < 5; pass++) {\n        var y = bottom + 2,\n          found = 0;\n        if (y >= vh * 0.5) break;\n        [0.15, 0.5, 0.85].forEach(function(fx) {\n          (document.elementsFromPoint(vw * fx, y) || []).forEach(function(el) {\n            for (var n = el; n && n !== document.body; n = n.parentElement) {\n              if (isBar(n)) {\n                var r = n.getBoundingClientRect();\n                if (r.top <= y + 1 && r.bottom > found) found = r.bottom;\n                break;\n              }\n            }\n          });\n        });\n        if (found <= bottom) break;\n        bottom = found;\n      }\n      app.style.setProperty('--mv-header', Math.round(bottom) + 'px');\n      return bottom;\n    }\n\n    var searchTimer = null;\n    document.getElementById('mv-search').addEventListener('input', function(e) {\n      clearTimeout(searchTimer);\n      searchTimer = setTimeout(function() {\n        state.q = e.target.value;\n        state.limit = STEP;\n      state.page = 1;\n        renderList();\n      }, 150);\n    });\n\n    var dist = document.getElementById('mv-distance');\n    if (dist) {\n      dist.querySelectorAll('button').forEach(function(b) {\n        b.addEventListener('click', function() {\n          state.km = parseInt(b.getAttribute('data-km'), 10) || 0;\n          state.limit = STEP;\n      state.page = 1;\n          dist.querySelectorAll('button').forEach(function(x) {\n            x.classList.toggle('is-active', x === b);\n          });\n          renderList();\n        });\n      });\n    }\n\n    var viewSeg = document.getElementById('mv-view');\n    var layoutEl = document.getElementById('mv-layout');\n\n    function setView(v) {\n      state.view = v;\n      layoutEl.classList.toggle('is-list', v === 'list');\n      viewSeg.querySelectorAll('button').forEach(function(x) {\n        x.classList.toggle('is-active', x.getAttribute('data-view') === v);\n      });\n      if (map) setTimeout(function() {\n        map.invalidateSize();\n      }, 60);\n    }\n    viewSeg.querySelectorAll('button').forEach(function(b) {\n      b.addEventListener('click', function() {\n        setView(b.getAttribute('data-view'));\n      });\n    });\n\n    \/\/ Pas de carte si aucune fiche n'est g\u00e9olocalis\u00e9e\n    if (!ITEMS.some(function(it) {\n        return it.lat !== null;\n      })) {\n      viewSeg.style.display = 'none';\n      state.view = 'list';\n    }\n\n    headerOffset();\n    window.addEventListener('resize', headerOffset);\n    \/\/ Les barres du site peuvent appara\u00eetre au d\u00e9filement (barre de r\u00e9servation\u2026)\n    var hoTicking = false;\n    window.addEventListener('scroll', function() {\n      if (hoTicking) return;\n      hoTicking = true;\n      requestAnimationFrame(function() {\n        headerOffset();\n        hoTicking = false;\n      });\n    }, { passive: true });\n    var lastCols = null,\n      resizeTimer = null;\n    window.addEventListener('resize', function() {\n      clearTimeout(resizeTimer);\n      resizeTimer = setTimeout(function() {\n        var c = gridColumns();\n        if (lastCols !== null && c !== lastCols) renderList();\n        lastCols = c;\n      }, 200);\n    });\n    renderCats();\n    renderIdeas();\n    setView(state.view);\n    renderList();\n    renderPreview();\n    initMap();\n  })();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_gt_ctv_global_id":"","_gt_ctv_id_group":false,"inline_featured_image":false,"gt_fse_maillage_image":"","gt_fse_maillage_titre":"Explore your surroundings","gt_fse_maillage_alt":"Explore your surroundings","gt_fse_maillage_resume":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-1867","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/pages\/1867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/comments?post=1867"}],"version-history":[{"count":0,"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/pages\/1867\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/media?parent=1867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/categories?post=1867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.campingloucabasson.com\/en\/wp-json\/wp\/v2\/tags?post=1867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}