{"id":2743,"date":"2026-02-04T10:10:30","date_gmt":"2026-02-04T09:10:30","guid":{"rendered":"https:\/\/marinaparadise.com\/elaia-metadatas\/"},"modified":"2026-11-05T16:23:52","modified_gmt":"2026-11-05T15:23:52","slug":"lieux-a-decouvrir-autour-du-camping-marina-paradise","status":"publish","type":"page","link":"https:\/\/marinaparadise.com\/en\/lieux-a-decouvrir-autour-du-camping-marina-paradise\/","title":{"rendered":"Find out more"},"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\":\"Cogolin\",\"url\":\"https:\/\/www.cogolin.fr\/\",\"image\":\"https:\/\/elaia-public.s3.fr-par.scw.cloud\/metadata_images\/image_68fb7fcf997d9.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"4.6\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"9\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Port de Cogolin, Local History Museum\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Cogolin Market (weekly market)\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Proven\u00e7al cuisine, seafood\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Town where Camping Marina Paradise is located, ideal for starting visits.\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Thing\",\"name\":\"Saint-Tropez\",\"url\":\"https:\/\/www.sainttropeztourisme.com\/\",\"image\":\"https:\/\/www.francecomfort.com\/l\/fr\/library\/download\/urn:uuid:960470f0-7796-426e-a1e3-678ecca1283a\/st.+tropez+102+middellandse+zee+kust+vakantie+frankrijk+luxe+villa+provence+cote+d%27azur.jpg?scaleType=3\\u0026width=1600\\u0026height=1000\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"7.3\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"16\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Place des Lices, Citadelle de Saint-Tropez, Plages de Pampelonne\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"March\u00e9 proven\u00e7al de Saint-Tropez\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Cuisine m\u00e9diterran\u00e9enne, sp\u00e9cialit\u00e9s de la mer\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Ville embl\u00e9matique de la C\u00f4te d'Azur, c\u00e9l\u00e8bre pour son port et ses plages.\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Thing\",\"name\":\"Grimaud\",\"url\":\"https:\/\/www.grimaud-provence.fr\/\",\"image\":\"https:\/\/set-sail.fr\/wp-content\/uploads\/2021\/04\/Port-Grimaud.jpeg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"6.3\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"12\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Village m\u00e9di\u00e9val de Grimaud, Ch\u00e2teau de Grimaud\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"March\u00e9 local, f\u00eates traditionnelles\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Cuisine proven\u00e7ale authentique\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Charmant village m\u00e9di\u00e9val avec vue sur le golfe de Saint-Tropez.\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Thing\",\"name\":\"Gassin\",\"url\":\"https:\/\/www.gassin.fr\/\",\"image\":\"https:\/\/www.grandsudinsolite.fr\/client\/gfx\/photos\/produit\/01-580af95c89b795b994c5931622784aa5_19599.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"6.3\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"12\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Village perch\u00e9 de Gassin, Panorama sur la baie de Saint-Tropez\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"March\u00e9s artisanaux\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Cuisine locale traditionnelle\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Un des plus beaux villages perch\u00e9s offrant une vue spectaculaire.\"}]}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"Thing\",\"name\":\"Sainte-Maxime\",\"url\":\"https:\/\/www.sainte-maxime.fr\/\",\"image\":\"https:\/\/images.interhome.group\/travelguide\/france-sainte-maxime-aerial-view.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"8.5\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"23\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Plage de Sainte-Maxime, Golf de Sainte-Maxime\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"March\u00e9 proven\u00e7al, animations estivales\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Poissons frais, plats m\u00e9diterran\u00e9ens\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Station baln\u00e9aire familiale avec belles plages et animations.\"}]}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"Thing\",\"name\":\"Port Grimaud\",\"url\":\"https:\/\/www.portgrimaud.fr\/\",\"image\":\"https:\/\/images.interhome.group\/travelguide\/france-cote-d-azur-port-grimaud.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"6.3\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"12\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Le Port Grimaud, canaux et architecture v\u00e9nitienne\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"March\u00e9 local du mercredi\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Poissons, crustac\u00e9s, cuisine de la mer\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Village nautique pittoresque surnomm\u00e9 la 'Venise Proven\u00e7ale'.\"}]}},{\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@type\":\"Thing\",\"name\":\"La Croix-Valmer\",\"url\":\"https:\/\/www.la-croix-valmer.fr\/\",\"image\":\"https:\/\/media-cdn.tripadvisor.com\/media\/photo-c\/1280x250\/0d\/a1\/b6\/25\/spiaggia-di-sylvabelle.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"7.6\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"13\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Gigaro Beach, Rayol Estate\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Seasonal markets\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Proven\u00e7al cuisine, fresh local products\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Typically Proven\u00e7al village with beautiful wild beaches.\"}]}},{\"@type\":\"ListItem\",\"position\":8,\"item\":{\"@type\":\"Thing\",\"name\":\"Ramatuelle\",\"url\":\"https:\/\/www.ramatuelle.fr\/\",\"image\":\"https:\/\/provencelovers.fr\/wp-content\/uploads\/2024\/03\/que-faire-village-ramatuelle-visiter.jpeg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"8.9\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"14\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Perched village, Pampelonne Beach\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Craft markets and producers\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Mediterranean specialties\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Charming village near the famous Pampelonne beaches.\"}]}},{\"@type\":\"ListItem\",\"position\":9,\"item\":{\"@type\":\"Thing\",\"name\":\"La Garde-Freinet\",\"url\":\"https:\/\/www.lagardefreinet.fr\/\",\"image\":\"https:\/\/www.domainedemiremer.com\/wp-content\/uploads\/2025\/02\/la-garde-freinet-village-provencal.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"15.7\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"21\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Parc naturel r\u00e9gional de la Sainte-Baume\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Traditional market\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Local and forest cuisine\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Authentic village in the heart of Proven\u00e7al nature.\"}]}},{\"@type\":\"ListItem\",\"position\":10,\"item\":{\"@type\":\"Thing\",\"name\":\"Le Plan-de-la-Tour\",\"url\":\"https:\/\/www.plan-de-la-tour.org\/\",\"image\":\"https:\/\/www.leplandelatour.fr\/files\/leplan\/home\/plan-de-la-tour-village-20-photo-bertrand-2014_500.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"12.3\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"18\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Vieilles rues, festivals locaux\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"March\u00e9 hebdomadaire proven\u00e7al\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Cuisine proven\u00e7ale, vins locaux\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Village pittoresque au c\u0153ur de la Provence.\"}]}},{\"@type\":\"ListItem\",\"position\":11,\"item\":{\"@type\":\"Thing\",\"name\":\"Solli\u00e8s-Pont\",\"url\":\"https:\/\/www.sollies-pont.fr\/\",\"image\":\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/9\/96\/Solli%C3%A8s-Pont_-_%C3%89glise_Saint-Jean-Baptiste_-_1.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"61.8\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"59\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Chapelle Saint-Antoine, parc naturel\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"March\u00e9 hebdomadaire\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Cuisine proven\u00e7ale traditionnelle\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Ville tranquille entour\u00e9e de verdure \u00e0 d\u00e9couvrir.\"}]}},{\"@type\":\"ListItem\",\"position\":12,\"item\":{\"@type\":\"Thing\",\"name\":\"Draguignan\",\"url\":\"https:\/\/www.ville-draguignan.fr\/\",\"image\":\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcQlatrjCN0YxBRtqQfeRMqi8HpN_IP4bD-qxw\\u0026s\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"40.5\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"45\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Museum of Arts and Traditions, historic center\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Proven\u00e7al Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Regional cuisine\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Sub-prefecture of Var with a rich cultural heritage.\"}]}},{\"@type\":\"ListItem\",\"position\":13,\"item\":{\"@type\":\"Thing\",\"name\":\"Hy\u00e8res\",\"url\":\"https:\/\/www.ville-hyeres.fr\/\",\"image\":\"https:\/\/i-de.unimedias.fr\/2023\/12\/07\/detbrvar5710-6571e6ccd7d1a.jpg?auto=format%2Ccompress\\u0026crop=faces\\u0026cs=tinysrgb\\u0026fit=max\\u0026ixlib=php-4.1.0\\u0026w=1050\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"45.2\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"47\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Old Town, Hy\u00e8res Islands, beaches\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Local markets, festivals\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Seafood, Mediterranean cuisine\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Historic coastal city with access to the Golden Islands.\"}]}},{\"@type\":\"ListItem\",\"position\":14,\"item\":{\"@type\":\"Thing\",\"name\":\"Bandol\",\"url\":\"https:\/\/www.bandol.fr\/\",\"image\":\"https:\/\/encrypted-tbn0.gstatic.com\/images?q=tbn:ANd9GcQ5Tq1aQP-_uK1qctAkM6NbAgnyxdABQ15zLg\\u0026s\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"80.6\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"75\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"Port of Bandol, vineyards\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Proven\u00e7al markets, wine tastings\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Proven\u00e7al cuisine and local wines\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Resort known for its wines.\"}]}},{\"@type\":\"ListItem\",\"position\":15,\"item\":{\"@type\":\"Thing\",\"name\":\"Toulon\",\"url\":\"https:\/\/www.toulon.fr\/\",\"image\":\"https:\/\/partir.ouest-france.fr\/magazine\/wp-content\/uploads\/2022\/10\/lsntnybyltk.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"63.2\"},{\"@type\":\"PropertyValue\",\"name\":\"Driving time (min)\",\"value\":\"62\"},{\"@type\":\"PropertyValue\",\"name\":\"Must-see places \/ activities\",\"value\":\"National Maritime Museum, Mont Faron\"},{\"@type\":\"PropertyValue\",\"name\":\"Markets \/ local events\",\"value\":\"Local markets\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ specialties\",\"value\":\"Urban Mediterranean cuisine\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Dynamic port city with a rich maritime heritage.\"}]}}]},{\"@type\":\"ItemList\",\"name\":\"Activit\u00e9s et lieux recommand\u00e9s\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Thing\",\"name\":\"Outdoor pool and paddling pool\",\"url\":\"https:\/\/marinaparadise.com\",\"image\":\"https:\/\/marinaparadise.com\/images\/piscine.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Water leisure activity\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Enjoy an outdoor pool with a children's paddling pool within the campsite.\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Thing\",\"name\":\"Aquagym\",\"url\":\"https:\/\/camping-marinaparadise.fr\/index.php\",\"image\":\"https:\/\/camping-marinaparadise.fr\/images\/aquagym.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport activity\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"July\/August sessions\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"According to schedule\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Aquagym classes offered in summer to stay fit in the water.\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Thing\",\"name\":\"Tennis\",\"url\":\"https:\/\/provence-alpes-cotedazur.com\/sejourner\/hebergements\/tous-les-hebergements\/campings\/camping-paradis-marina-paradise-cogolin-fr-2851146\/\",\"image\":\"https:\/\/provence-alpes-cotedazur.com\/images\/tennis.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Tennis courts accessible to campers directly within the campsite.\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Thing\",\"name\":\"Volley-ball\",\"url\":\"https:\/\/marinaparadise.com\/activites-cote-azur\/\",\"image\":\"https:\/\/marinaparadise.com\/images\/volley.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Volleyball courts allowing match play or training sessions.\"}]}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"Thing\",\"name\":\"Basket-ball\",\"url\":\"https:\/\/www.odalys-vacation-rental.com\/beach-holidays-france\/french-riviera\/port-cogolin\/camping-village-marina-paradise.html\",\"image\":\"https:\/\/www.odalys-vacation-rental.com\/images\/basket.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Dedicated space for basketball accessible to visitors of the campsite.\"}]}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"Thing\",\"name\":\"P\u00e9tanque\",\"url\":\"https:\/\/provence-alpes-cotedazur.com\/sejourner\/hebergements\/tous-les-hebergements\/campings\/camping-paradis-marina-paradise-cogolin-fr-2851146\/\",\"image\":\"https:\/\/provence-alpes-cotedazur.com\/images\/petanque.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Leisure\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Bowling alley and p\u00e9tanque pitch for enthusiasts of Proven\u00e7al game.\"}]}},{\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@type\":\"Thing\",\"name\":\"Tir \u00e0 l'arc\",\"url\":\"https:\/\/www.campingfrance.com\/recherchez-votre-camping\/provence-alpes-cote-dazur\/var\/cogolin\/marina-paradise\",\"image\":\"https:\/\/campingfrance.com\/images\/tirarc.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Archery activity offered at the campsite.\"}]}},{\"@type\":\"ListItem\",\"position\":8,\"item\":{\"@type\":\"Thing\",\"name\":\"Courses de natation (avec participation)\",\"url\":\"https:\/\/www.odalys-vacances.com\/location-mer\/cote-d-azur\/port-cogolin\/camping-village-marina-paradise.html\",\"image\":\"https:\/\/odalys-vacances.com\/images\/coursnatation.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sports activity\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Oui\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Classes provided to learn or improve swimming.\"}]}},{\"@type\":\"ListItem\",\"position\":9,\"item\":{\"@type\":\"Thing\",\"name\":\"Location de v\u00e9los (avec participation)\",\"url\":\"https:\/\/marinaparadise.com\/activites-cote-azur\/\",\"image\":\"https:\/\/marinaparadise.com\/images\/velo.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Discovery activity\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Possibility to rent bikes to explore the surroundings and the Mediterranean cycle route.\"}]}},{\"@type\":\"ListItem\",\"position\":10,\"item\":{\"@type\":\"Thing\",\"name\":\"Club enfants et animations pour enfants\",\"url\":\"https:\/\/www.odalys-vacation-rental.com\/beach-holidays-france\/french-riviera\/port-cogolin\/camping-village-marina-paradise.html\",\"image\":\"https:\/\/odalys-vacation-rental.com\/images\/clubenfants.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Animation\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"During French school holidays\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Mini club for 6-12 year olds, fun and supervised activities for children.\"}]}},{\"@type\":\"ListItem\",\"position\":11,\"item\":{\"@type\":\"Thing\",\"name\":\"Evening entertainment and shows\",\"url\":\"https:\/\/www.campingfrance.com\/recherchez-votre-camping\/provence-alpes-cote-dazur\/var\/cogolin\/marina-paradise\",\"image\":\"https:\/\/campingfrance.com\/images\/animationsoiree.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Animation\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"In the evening\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Entertainment and shows for all ages in the evening at the campsite.\"}]}},{\"@type\":\"ListItem\",\"position\":12,\"item\":{\"@type\":\"Thing\",\"name\":\"Nightclub\",\"url\":\"https:\/\/www.campingfrance.com\/recherchez-votre-camping\/provence-alpes-cote-dazur\/var\/cogolin\/marina-paradise\",\"image\":\"https:\/\/campingfrance.com\/images\/discotheque.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Festival entertainment\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"In the evening\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Nightclub area for dance and festive nights.\"}]}},{\"@type\":\"ListItem\",\"position\":13,\"item\":{\"@type\":\"Thing\",\"name\":\"TV and board games room\",\"url\":\"https:\/\/www.odalys-vacances.com\/location-mer\/cote-d-azur\/port-cogolin\/camping-village-marina-paradise.html\",\"image\":\"https:\/\/odalys-vacances.com\/images\/salletv.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Indoor leisure\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"Camping Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"On-site\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Common room to relax with television and board games.\"}]}},{\"@type\":\"ListItem\",\"position\":14,\"item\":{\"@type\":\"Thing\",\"name\":\"Cogolin Beach 600 meters away\",\"url\":\"https:\/\/www.odalys-vacances.com\/location-mer\/cote-d-azur\/port-cogolin\/camping-village-marina-paradise.html\",\"image\":\"https:\/\/odalys-vacances.com\/images\/plagecogolin.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Water sport\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"600 m from the campsite\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0.6\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"10 min walk\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Enjoy the nearby Mediterranean beaches for swimming and relaxing.\"}]}},{\"@type\":\"ListItem\",\"position\":15,\"item\":{\"@type\":\"Thing\",\"name\":\"Visit to Port Grimaud\",\"url\":\"https:\/\/www.tripadvisor.fr\/Attractions-g196455-Activities-Port_Grimaud_Provence_Alpes_Cote_d_Azur.html\",\"image\":\"https:\/\/tripadvisor.fr\/images\/portgrimaud.jpg\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Cultural discovery\"},{\"@type\":\"PropertyValue\",\"name\":\"City \/ Area\",\"value\":\"1 km from the campsite\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"1\"},{\"@type\":\"PropertyValue\",\"name\":\"Average duration\",\"value\":\"15 min walk\"},{\"@type\":\"PropertyValue\",\"name\":\"Reservation needed?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Discover the famous Proven\u00e7al Venice, a lakeside village near the campsite.\"}]}}]},{\"@type\":\"ItemList\",\"name\":\"\u00c9v\u00e9nements recommand\u00e9s\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Thing\",\"name\":\"Spectacular water slide\",\"description\":\"2025 novelty with three water slide tracks for the whole family.\",\"url\":\"https:\/\/marinaparadise.com\/en\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"From April 5 to October 12, 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise, near Saint-Tropez\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km (on site)\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Water leisure\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"An exceptional attraction for water lovers and thrill seekers at the campsite.\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Thing\",\"name\":\"Children's club\",\"description\":\"Activities supervised by a dynamic team for children aged 5 and over: games, singing, crafts.\",\"url\":\"https:\/\/marinaparadise.com\/en\/campsite-activities-cogolin\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Every day during the 2025 season\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Family entertainment\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Allows children to have fun while parents relax.\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Thing\",\"name\":\"Karaoke evenings\",\"description\":\"Fun evenings where campers can sing and have fun together.\",\"url\":\"https:\/\/marinaparadise.com\/en\/campsite-activities-cogolin\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Weekly program in summer 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Evening entertainment\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Encourages sociability and meeting between vacationers.\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Thing\",\"name\":\"Concerts and shows\",\"description\":\"Live concerts and various shows offered to campers to enhance their evenings.\",\"url\":\"https:\/\/marinaparadise.com\/en\/campsite-activities-cogolin\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"During the summer season 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Cultural entertainment\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Weekly changing program for a variety of animations.\"}]}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"Thing\",\"name\":\"Dance evenings\",\"description\":\"Dance evenings with DJs to party among campers.\",\"url\":\"https:\/\/marinaparadise.com\/en\/campsite-activities-cogolin\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Every summer week 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Evening entertainment\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Festive atmosphere guaranteed for all ages.\"}]}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"Thing\",\"name\":\"Open-air cinema\",\"description\":\"Evening film screenings for entertainment under the stars.\",\"url\":\"https:\/\/marinaparadise.com\/en\/campsite-activities-cogolin\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Summer programming 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Evening entertainment\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"A friendly and family activity.\"}]}},{\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@type\":\"Thing\",\"name\":\"Giant games\",\"description\":\"Organization of giant board games outdoors.\",\"url\":\"https:\/\/marinaparadise.com\/en\/campsite-activities-cogolin\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Summer 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Family activity\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Ideal activity for young and old.\"}]}},{\"@type\":\"ListItem\",\"position\":8,\"item\":{\"@type\":\"Thing\",\"name\":\"Foam party (foam evening)\",\"description\":\"Festive foam evenings for a playful and refreshing atmosphere.\",\"url\":\"https:\/\/marinaparadise.com\/en\/campsite-activities-cogolin\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Several times in the 2025 season\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Festive activity\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Very popular in summer with young people and families.\"}]}},{\"@type\":\"ListItem\",\"position\":9,\"item\":{\"@type\":\"Thing\",\"name\":\"Themed evenings\",\"description\":\"Organized evenings with various themes to entertain campers.\",\"url\":\"https:\/\/marinaparadise.com\/en\/campsite-activities-cogolin\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Variable schedule week by week in 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Animation\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Regularly renews the stay experience.\"}]}},{\"@type\":\"ListItem\",\"position\":10,\"item\":{\"@type\":\"Thing\",\"name\":\"Tennis Tournament\",\"description\":\"Friendly competition on the camp's tennis courts.\",\"url\":\"https:\/\/www.tripadvisor.com\/Hotel_Review-g2478649-d7856178-Reviews-Marina_Paradise_Camping-Port_Cogolin_Var_Provence_Alpes_Cote_d_Azur.html\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"During the 2025 summer high season\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sports\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Encourages sports practice and friendship among vacationers.\"}]}},{\"@type\":\"ListItem\",\"position\":11,\"item\":{\"@type\":\"Thing\",\"name\":\"Beach-volley Tournament\",\"description\":\"Competition among campers on the beach-volley courts.\",\"url\":\"https:\/\/www.tripadvisor.com\/Hotel_Review-g2478649-d7856178-Reviews-Marina_Paradise_Camping-Port_Cogolin_Var_Provence_Alpes_Cote_d_Azur.html\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"During the 2025 season\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sports\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Fun and sporty outdoor activity near the beach.\"}]}},{\"@type\":\"ListItem\",\"position\":12,\"item\":{\"@type\":\"Thing\",\"name\":\"\u00ab La F\u00eate des Enfants \u00bb Family Parade and Fair\",\"description\":\"Festive parade with mascot Piki, followed by a large fair filled with games and activities for children.\",\"url\":\"https:\/\/www.campings-paradis.com\/evenements\/2025\/fete-des-enfants-ascension-2025\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"May 29 to June 1, 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradis Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Family Event\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Each child leaves with gifts and participates in Piki Disco, a joyful mini-disco.\"}]}},{\"@type\":\"ListItem\",\"position\":13,\"item\":{\"@type\":\"Thing\",\"name\":\"Leona Winter Live Concert\",\"description\":\"Live performance by Leona Winter, artist known from The Voice and Drag Race France.\",\"url\":\"https:\/\/www.campings-paradis.com\/evenements\/2025\/paradis-des-stars-2025\/leona-winter-2025\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"July 24, 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradis Marina Paradise, Cogolin\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Concert\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Exceptional event as part of the Paradis des Stars festival.\"}]}},{\"@type\":\"ListItem\",\"position\":14,\"item\":{\"@type\":\"Thing\",\"name\":\"Daily Activities for the Whole Family\",\"description\":\"A variety of activities including workshops, games, shows for all ages.\",\"url\":\"https:\/\/provence-alpes-cotedazur.com\/en\/plan-your-stay\/accommodation\/all-accommodation\/campings\/camping-paradis-marina-paradise-cogolin-en-2851146\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"From April 1 to November 4, 2025\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Family Activities\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Activities planned throughout the season to satisfy all campers.\"}]}},{\"@type\":\"ListItem\",\"position\":15,\"item\":{\"@type\":\"Thing\",\"name\":\"Full breakfast\",\"description\":\"Breakfast service to start the day well at the campground.\",\"url\":\"https:\/\/marinaparadise.com\/en\/\",\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Throughout the 2025 season\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"@type\":\"PropertyValue\",\"name\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Service\"},{\"@type\":\"PropertyValue\",\"name\":\"Tips or comments\",\"value\":\"Practical option for campers wishing a tasty wake-up.\"}]}}]},{\"@type\":\"ItemList\",\"name\":\"Local events\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market\",\"description\":\"In the lanes of Le Muy, the colorful facades play with the Proven\u00e7al light. \\r\\nThe Sunday market is one of the largest in the Var, where fabric stalls, scents and flavors meet in the shade of the plane trees.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.47283,\"longitude\":6.567274},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Le Muy\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83490\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Thing\",\"name\":\"Saint-Tropez Fish Market\",\"description\":\"The recently renovated fish hall of Saint-Tropez is a must-see in the old town of Saint-Tropez, a place where strollers, the curious and fish lovers mingle...\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.27212,\"longitude\":6.639342},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Saint-Tropez Fish Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Saint-Tropez\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83990\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market of Fr\u00e9jus\",\"description\":\"Discover the Proven\u00e7al market of Fr\u00e9jus, vibrant and colorful, where local produce, enticing spices and regional crafts are displayed. An authentic sensory experience in the heart of Provence.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.432945,\"longitude\":6.736604},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market of Fr\u00e9jus\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Fr\u00e9jus\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83600\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market\",\"description\":\"Weekly Proven\u00e7al Market: the market takes place every Wednesday morning, on Place Jean Moulin.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.170843,\"longitude\":6.532281},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al 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\":5,\"item\":{\"@type\":\"Thing\",\"name\":\"Monumental exhibition by Sylvain Dautremay: \u201cI just dream of freedom\u201d\",\"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\":\"Monumental exhibition by Sylvain Dautremay: \u201cI just dream of freedom\u201d\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Gassin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83580\"}]}},{\"@type\":\"ListItem\",\"position\":6,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market\",\"description\":\"Market every Friday on the village square - Local Producers.\",\"url\":\"https:\/\/www.ville-la-motte.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.492543,\"longitude\":6.534738},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"La Motte\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83920\"}]}},{\"@type\":\"ListItem\",\"position\":7,\"item\":{\"@type\":\"Thing\",\"name\":\"Ballet of the Op\u00e9ra de Lyon - \\\"House\\\" by Sharon Eyal \u2013 \\\"The Rite of Spring\\\" by Mats Ek\",\"description\":\"Revisiting a classic of the last century, holding up a mirror to our present: two pieces, two choreographic languages, for an evening marked by rigor and boldness.\",\"url\":\"http:\/\/www.festivaldedanse-cannes.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.427673,\"longitude\":6.737605},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Ballet of the Op\u00e9ra de Lyon - \\\"House\\\" by Sharon Eyal \u2013 \\\"The Rite of Spring\\\" by Mats Ek\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Concerts, music \\u0026 festivals\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Fr\u00e9jus\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83600\"}]}},{\"@type\":\"ListItem\",\"position\":8,\"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\":9,\"item\":{\"@type\":\"Thing\",\"name\":\"March\u00e9 Proven\u00e7al\",\"description\":\"Come discover the colors and scents of Provence as well as local and artisanal products.\",\"url\":\"https:\/\/www.mairie-les-arcs-sur-argens.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.462899,\"longitude\":6.478336},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"March\u00e9 Proven\u00e7al\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Les Arcs\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83460\"}]}},{\"@type\":\"ListItem\",\"position\":10,\"item\":{\"@type\":\"Thing\",\"name\":\"The market of Saint-Tropez\",\"description\":\"The market of Saint-Tropez takes place annually on Place des Lices, in the heart of the village, every Tuesday and Saturday morning. You will find all kinds of products there: food, textiles, decor, souvenirs... A lovely place to stroll.\",\"url\":\"http:\/\/www.sainttropeztourisme.com\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.269969,\"longitude\":6.641332},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"The market of Saint-Tropez\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Saint-Tropez\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83990\"}]}},{\"@type\":\"ListItem\",\"position\":11,\"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 a.m. to 1:00 p.m.\\r\\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\":12,\"item\":{\"@type\":\"Thing\",\"name\":\"Market in Grimaud village\",\"description\":\"Proven\u00e7al 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\":13,\"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\":14,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market\",\"description\":\"Your great Proven\u00e7al market, every Sunday from 8:00 a.m. to 12:30 p.m.\\r\\nPlace M. Giordano, rue Victor Hugo, rue de la Victoire, rue Garibaldi, mont\u00e9e Tournel.\",\"url\":\"http:\/\/www.mairie-vidauban.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.427453,\"longitude\":6.432773},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Vidauban\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83550\"}]}},{\"@type\":\"ListItem\",\"position\":15,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market\",\"description\":\"Prepared dishes, rotisserie, citrus fruits, cheeses, cured meats, flavors of Italy, flowers, plants.\\r\\nGarden vegetables, saffron, pine nuts, honey, walnuts...\\r\\nButcher, caterer and bakery are open.\",\"url\":\"http:\/\/www.transenprovence.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.50362,\"longitude\":6.485014},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Trans-en-Provence\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83720\"}]}},{\"@type\":\"ListItem\",\"position\":16,\"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\":17,\"item\":{\"@type\":\"Thing\",\"name\":\"Producers' Market\",\"description\":\"every Saturday morning, from 7:00 a.m.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.447091,\"longitude\":6.475438},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Producers' Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Les Arcs\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83460\"}]}},{\"@type\":\"ListItem\",\"position\":18,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al market\",\"description\":\"The Proven\u00e7al market of Puget sur Argens awaits you every Saturday morning!\",\"url\":\"http:\/\/www.pugetsurargens.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.455014,\"longitude\":6.684275},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Puget-sur-Argens\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83480\"}]}},{\"@type\":\"ListItem\",\"position\":19,\"item\":{\"@type\":\"Thing\",\"name\":\"Toy fair\",\"description\":\"The commune of Gassin is organizing a toy fair in the Esp\u00e9lidou hall, a great opportunity to find good deals while preparing for Christmas or giving toys a second life.\",\"url\":\"https:\/\/gassin.eu\/fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.224997,\"longitude\":6.588023},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Toy fair\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Antique fairs \\u0026 garage sales\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Gassin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83580\"}]}},{\"@type\":\"ListItem\",\"position\":20,\"item\":{\"@type\":\"Thing\",\"name\":\"Bormes Museum - 2,400 years of art and history in augmented reality\",\"description\":\"Explore 2,400 years of the history and art of 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 at the MHAB.\",\"url\":\"https:\/\/musee-bormes.com\/les-expositions\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.150773,\"longitude\":6.340554},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Bormes Museum - 2,400 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\":21,\"item\":{\"@type\":\"Thing\",\"name\":\"Monumental sculpture exhibition by Jean-Luc Ducreux \u00ab\u2009Infinity - The Absence of an End\u2009\u00bb\",\"description\":\"This year, Ducreux offers the village of Gassin and the Jardin des Sculptures new monumental works. The marriage of contemporary art and the mythical view over the Gulf of Saint-Tropez transcends the senses. A timeless 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\":\"Monumental sculpture exhibition by Jean-Luc Ducreux \u00ab\u2009Infinity - The Absence of an End\u2009\u00bb\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Exhibitions\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Gassin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83580\"}]}},{\"@type\":\"ListItem\",\"position\":22,\"item\":{\"@type\":\"Thing\",\"name\":\"Organic and ethical market\",\"description\":\"Organic and zero-waste market with organic and local 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\":23,\"item\":{\"@type\":\"Thing\",\"name\":\"Proven\u00e7al Market of Collobri\u00e8res\",\"description\":\"All the flavors and scents of Provence welcome you on Thursday and Sunday mornings at Place de la Mairie for Collobri\u00e8res' twice-weekly market.\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.237405,\"longitude\":6.308991},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Proven\u00e7al Market of Collobri\u00e8res\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Collobri\u00e8res\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83610\"}]}},{\"@type\":\"ListItem\",\"position\":24,\"item\":{\"@type\":\"Thing\",\"name\":\"Weekly Proven\u00e7al Market\",\"description\":\"Succumb to the authentic charm of Provence by discovering the Weekly Proven\u00e7al Market of Le Plan-de-la-Tour!\",\"url\":\"http:\/\/www.leplandelatour.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.338723,\"longitude\":6.546612},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Weekly Proven\u00e7al 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\":25,\"item\":{\"@type\":\"Thing\",\"name\":\"Weekly Proven\u00e7al Market\",\"description\":\"Meet in the heart of the village of Cogolin, on Wednesdays at Place Victor Hugo and on Saturdays at Place de la R\u00e9publique from 8:30 a.m. to 12:30 p.m., and enjoy the friendly atmosphere of our Proven\u00e7al market.\",\"url\":\"http:\/\/www.cogolin.fr\/\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":43.251631,\"longitude\":6.533685},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Title\",\"value\":\"Weekly Proven\u00e7al Market\"},{\"@type\":\"PropertyValue\",\"name\":\"Category\",\"value\":\"Markets \\u0026 fairs\"},{\"@type\":\"PropertyValue\",\"name\":\"City\",\"value\":\"Cogolin\"},{\"@type\":\"PropertyValue\",\"name\":\"Postal code\",\"value\":\"83310\"}]}}]}]}<\/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:\/\/elaia-public.s3.fr-par.scw.cloud\/metadata_images\/image_68fb7fcf997d9.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>Camping Paradis Marina Paradise<\/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>Cogolin<\/strong> \u2014 Town where Camping Marina Paradise is located, ideal for starting visits.<\/li>\n              <li><strong>Saint-Tropez<\/strong> \u2014 Ville embl\u00e9matique de la C\u00f4te d&#039;Azur, c\u00e9l\u00e8bre pour son port et ses plages.<\/li>\n              <li><strong>Grimaud<\/strong> \u2014 Charmant village m\u00e9di\u00e9val avec vue sur le golfe de Saint-Tropez.<\/li>\n              <li><strong>Gassin<\/strong> \u2014 Un des plus beaux villages perch\u00e9s offrant une vue spectaculaire.<\/li>\n              <li><strong>Sainte-Maxime<\/strong> \u2014 Station baln\u00e9aire familiale avec belles plages et animations.<\/li>\n              <li><strong>Port Grimaud<\/strong> \u2014 Village nautique pittoresque surnomm\u00e9 la &#039;Venise Proven\u00e7ale&#039;.<\/li>\n              <li><strong>La Croix-Valmer<\/strong> \u2014 Typically Proven\u00e7al village with beautiful wild beaches.<\/li>\n              <li><strong>Ramatuelle<\/strong> \u2014 Charming village near the famous Pampelonne beaches.<\/li>\n              <li><strong>La Garde-Freinet<\/strong> \u2014 Authentic village in the heart of Proven\u00e7al nature.<\/li>\n              <li><strong>Le Plan-de-la-Tour<\/strong> \u2014 Village pittoresque au c\u0153ur de la Provence.<\/li>\n              <li><strong>Solli\u00e8s-Pont<\/strong> \u2014 Ville tranquille entour\u00e9e de verdure \u00e0 d\u00e9couvrir.<\/li>\n              <li><strong>Draguignan<\/strong> \u2014 Sub-prefecture of Var with a rich cultural heritage.<\/li>\n              <li><strong>Hy\u00e8res<\/strong> \u2014 Historic coastal city with access to the Golden Islands.<\/li>\n              <li><strong>Bandol<\/strong> \u2014 Resort known for its wines.<\/li>\n              <li><strong>Toulon<\/strong> \u2014 Dynamic port city with a rich maritime heritage.<\/li>\n              <li><strong>Outdoor pool and paddling pool<\/strong> \u2014 Enjoy an outdoor pool with a children&#039;s paddling pool within the campsite.<\/li>\n              <li><strong>Aquagym<\/strong> \u2014 Aquagym classes offered in summer to stay fit in the water.<\/li>\n              <li><strong>Tennis<\/strong> \u2014 Tennis courts accessible to campers directly within the campsite.<\/li>\n              <li><strong>Volley-ball<\/strong> \u2014 Volleyball courts allowing match play or training sessions.<\/li>\n              <li><strong>Basket-ball<\/strong> \u2014 Dedicated space for basketball accessible to visitors of the campsite.<\/li>\n              <li><strong>P\u00e9tanque<\/strong> \u2014 Bowling alley and p\u00e9tanque pitch for enthusiasts of Proven\u00e7al game.<\/li>\n              <li><strong>Tir \u00e0 l&#039;arc<\/strong> \u2014 Archery activity offered at the campsite.<\/li>\n              <li><strong>Courses de natation (avec participation)<\/strong> \u2014 Classes provided to learn or improve swimming.<\/li>\n              <li><strong>Location de v\u00e9los (avec participation)<\/strong> \u2014 Possibility to rent bikes to explore the surroundings and the Mediterranean cycle route.<\/li>\n              <li><strong>Club enfants et animations pour enfants<\/strong> \u2014 Mini club for 6-12 year olds, fun and supervised activities for children.<\/li>\n              <li><strong>Evening entertainment and shows<\/strong> \u2014 Entertainment and shows for all ages in the evening at the campsite.<\/li>\n              <li><strong>Nightclub<\/strong> \u2014 Nightclub area for dance and festive nights.<\/li>\n              <li><strong>TV and board games room<\/strong> \u2014 Common room to relax with television and board games.<\/li>\n              <li><strong>Cogolin Beach 600 meters away<\/strong> \u2014 Enjoy the nearby Mediterranean beaches for swimming and relaxing.<\/li>\n              <li><strong>Visit to Port Grimaud<\/strong> \u2014 Discover the famous Proven\u00e7al Venice, a lakeside village near the campsite.<\/li>\n              <li><strong>Spectacular water slide<\/strong> \u2014 2025 novelty with three water slide tracks for the whole family.<\/li>\n              <li><strong>Children&#039;s club<\/strong> \u2014 Activities supervised by a dynamic team for children aged 5 and over: games, singing, crafts.<\/li>\n              <li><strong>Karaoke evenings<\/strong> \u2014 Fun evenings where campers can sing and have fun together.<\/li>\n              <li><strong>Concerts and shows<\/strong> \u2014 Live concerts and various shows offered to campers to enhance their evenings.<\/li>\n              <li><strong>Dance evenings<\/strong> \u2014 Dance evenings with DJs to party among campers.<\/li>\n              <li><strong>Open-air cinema<\/strong> \u2014 Evening film screenings for entertainment under the stars.<\/li>\n              <li><strong>Giant games<\/strong> \u2014 Organization of giant board games outdoors.<\/li>\n              <li><strong>Foam party (foam evening)<\/strong> \u2014 Festive foam evenings for a playful and refreshing atmosphere.<\/li>\n              <li><strong>Themed evenings<\/strong> \u2014 Organized evenings with various themes to entertain campers.<\/li>\n              <li><strong>Tennis Tournament<\/strong> \u2014 Friendly competition on the camp&#039;s tennis courts.<\/li>\n              <li><strong>Beach-volley Tournament<\/strong> \u2014 Competition among campers on the beach-volley courts.<\/li>\n              <li><strong>\u00ab La F\u00eate des Enfants \u00bb Family Parade and Fair<\/strong> \u2014 Festive parade with mascot Piki, followed by a large fair filled with games and activities for children.<\/li>\n              <li><strong>Leona Winter Live Concert<\/strong> \u2014 Live performance by Leona Winter, artist known from The Voice and Drag Race France.<\/li>\n              <li><strong>Daily Activities for the Whole Family<\/strong> \u2014 A variety of activities including workshops, games, shows for all ages.<\/li>\n              <li><strong>Full breakfast<\/strong> \u2014 Breakfast service to start the day well at the campground.<\/li>\n              <li><strong>Proven\u00e7al Market<\/strong> \u2014 In the lanes of Le Muy, the colorful facades play with the Proven\u00e7al light. The Sunday market is one of the largest in the Var, where fabric stalls, scents and&hellip;<\/li>\n              <li><strong>Saint-Tropez Fish Market<\/strong> \u2014 The recently renovated fish hall of Saint-Tropez is a must-see in the old town of Saint-Tropez, a place where strollers, the curious and fish lovers mingle...<\/li>\n              <li><strong>Proven\u00e7al Market of Fr\u00e9jus<\/strong> \u2014 Discover the Proven\u00e7al market of Fr\u00e9jus, vibrant and colorful, where local produce, enticing spices and regional crafts are displayed. An authentic sensory experience in the heart of Provence.<\/li>\n              <li><strong>Proven\u00e7al Market<\/strong> \u2014 Weekly Proven\u00e7al Market: the market takes place every Wednesday morning, on Place Jean Moulin.<\/li>\n              <li><strong>Monumental exhibition by Sylvain Dautremay: \u201cI just dream of freedom\u201d<\/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>Proven\u00e7al Market<\/strong> \u2014 Market every Friday on the village square - Local Producers.<\/li>\n              <li><strong>Ballet of the Op\u00e9ra de Lyon - &quot;House&quot; by Sharon Eyal \u2013 &quot;The Rite of Spring&quot; by Mats Ek<\/strong> \u2014 Revisiting a classic of the last century, holding up a mirror to our present: two pieces, two choreographic languages, for an evening marked by rigor and boldness.<\/li>\n              <li><strong>Petit march\u00e9 alimentaire du Pin<\/strong> \u2014 Small neighborhood food market every Tuesday.<\/li>\n              <li><strong>March\u00e9 Proven\u00e7al<\/strong> \u2014 Come discover the colors and scents of Provence as well as local and artisanal products.<\/li>\n              <li><strong>The market of Saint-Tropez<\/strong> \u2014 The market of Saint-Tropez takes place annually on Place des Lices, in the heart of the village, every Tuesday and Saturday morning. You will find all kinds of products there:&hellip;<\/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 a.m. to 1:00 p.m. Departure\/arrival at Tennis &amp; Padel Ramatuelle<\/li>\n              <li><strong>Market in Grimaud village<\/strong> \u2014 Proven\u00e7al 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>Proven\u00e7al Market<\/strong> \u2014 Your great Proven\u00e7al market, every Sunday from 8:00 a.m. to 12:30 p.m. Place M. Giordano, rue Victor Hugo, rue de la Victoire, rue Garibaldi, mont\u00e9e Tournel.<\/li>\n              <li><strong>Proven\u00e7al Market<\/strong> \u2014 Prepared dishes, rotisserie, citrus fruits, cheeses, cured meats, flavors of Italy, flowers, plants. Garden vegetables, saffron, pine nuts, honey, walnuts... Butcher, caterer and bakery are open.<\/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>Producers&#039; Market<\/strong> \u2014 every Saturday morning, from 7:00 a.m.<\/li>\n              <li><strong>Proven\u00e7al market<\/strong> \u2014 The Proven\u00e7al market of Puget sur Argens awaits you every Saturday morning!<\/li>\n              <li><strong>Toy fair<\/strong> \u2014 The commune of Gassin is organizing a toy fair in the Esp\u00e9lidou hall, a great opportunity to find good deals while preparing for Christmas or giving toys a second life.<\/li>\n              <li><strong>Bormes Museum - 2,400 years of art and history in augmented reality<\/strong> \u2014 Explore 2,400 years of the history and art of Bormes les Mimosas. Discover an exceptional place for a unique journey through time, from the 1st century BC to today in&hellip;<\/li>\n              <li><strong>Monumental sculpture exhibition by Jean-Luc Ducreux \u00ab\u2009Infinity - The Absence of an End\u2009\u00bb<\/strong> \u2014 This year, Ducreux offers the village of Gassin and the Jardin des Sculptures new monumental works. The marriage of contemporary art and the mythical view over the Gulf of Saint-Tropez&hellip;<\/li>\n              <li><strong>Organic and ethical market<\/strong> \u2014 Organic and zero-waste market with organic and local producers.<\/li>\n              <li><strong>Proven\u00e7al Market of Collobri\u00e8res<\/strong> \u2014 All the flavors and scents of Provence welcome you on Thursday and Sunday mornings at Place de la Mairie for Collobri\u00e8res&#039; twice-weekly market.<\/li>\n              <li><strong>Weekly Proven\u00e7al Market<\/strong> \u2014 Succumb to the authentic charm of Provence by discovering the Weekly Proven\u00e7al Market of Le Plan-de-la-Tour!<\/li>\n              <li><strong>Weekly Proven\u00e7al Market<\/strong> \u2014 Meet in the heart of the village of Cogolin, on Wednesdays at Place Victor Hugo and on Saturdays at Place de la R\u00e9publique from 8:30 a.m. to 12:30 p.m., and&hellip;<\/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,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Cogolin\",\"image\":\"https:\\\/\\\/elaia-public.s3.fr-par.scw.cloud\\\/metadata_images\\\/image_68fb7fcf997d9.jpg\",\"credit\":\"\",\"description\":\"Town where Camping Marina Paradise is located, ideal for starting visits.\",\"city\":\"\",\"address\":\"\",\"km\":4.6,\"min\":9,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"4.6\"},{\"label\":\"Driving time (min)\",\"value\":\"9\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Port de Cogolin, Local History Museum\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Cogolin Market (weekly market)\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Proven\\u00e7al cuisine, seafood\"}],\"link\":\"https:\\\/\\\/www.cogolin.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":1,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Saint-Tropez\",\"image\":\"https:\\\/\\\/www.francecomfort.com\\\/l\\\/fr\\\/library\\\/download\\\/urn:uuid:960470f0-7796-426e-a1e3-678ecca1283a\\\/st.+tropez+102+middellandse+zee+kust+vakantie+frankrijk+luxe+villa+provence+cote+d%27azur.jpg?scaleType=3&width=1600&height=1000\",\"credit\":\"\",\"description\":\"Ville embl\\u00e9matique de la C\\u00f4te d'Azur, c\\u00e9l\\u00e8bre pour son port et ses plages.\",\"city\":\"\",\"address\":\"\",\"km\":7.3,\"min\":16,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"7.3\"},{\"label\":\"Driving time (min)\",\"value\":\"16\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Place des Lices, Citadelle de Saint-Tropez, Plages de Pampelonne\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"March\\u00e9 proven\\u00e7al de Saint-Tropez\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Cuisine m\\u00e9diterran\\u00e9enne, sp\\u00e9cialit\\u00e9s de la mer\"}],\"link\":\"https:\\\/\\\/www.sainttropeztourisme.com\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":2,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Grimaud\",\"image\":\"https:\\\/\\\/set-sail.fr\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/Port-Grimaud.jpeg\",\"credit\":\"\",\"description\":\"Charmant village m\\u00e9di\\u00e9val avec vue sur le golfe de Saint-Tropez.\",\"city\":\"\",\"address\":\"\",\"km\":6.3,\"min\":12,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"6.3\"},{\"label\":\"Driving time (min)\",\"value\":\"12\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Village m\\u00e9di\\u00e9val de Grimaud, Ch\\u00e2teau de Grimaud\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"March\\u00e9 local, f\\u00eates traditionnelles\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Cuisine proven\\u00e7ale authentique\"}],\"link\":\"https:\\\/\\\/www.grimaud-provence.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":3,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Gassin\",\"image\":\"https:\\\/\\\/www.grandsudinsolite.fr\\\/client\\\/gfx\\\/photos\\\/produit\\\/01-580af95c89b795b994c5931622784aa5_19599.jpg\",\"credit\":\"\",\"description\":\"Un des plus beaux villages perch\\u00e9s offrant une vue spectaculaire.\",\"city\":\"\",\"address\":\"\",\"km\":6.3,\"min\":12,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"6.3\"},{\"label\":\"Driving time (min)\",\"value\":\"12\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Village perch\\u00e9 de Gassin, Panorama sur la baie de Saint-Tropez\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"March\\u00e9s artisanaux\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Cuisine locale traditionnelle\"}],\"link\":\"https:\\\/\\\/www.gassin.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":4,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Sainte-Maxime\",\"image\":\"https:\\\/\\\/images.interhome.group\\\/travelguide\\\/france-sainte-maxime-aerial-view.jpg\",\"credit\":\"\",\"description\":\"Station baln\\u00e9aire familiale avec belles plages et animations.\",\"city\":\"\",\"address\":\"\",\"km\":8.5,\"min\":23,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"8.5\"},{\"label\":\"Driving time (min)\",\"value\":\"23\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Plage de Sainte-Maxime, Golf de Sainte-Maxime\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"March\\u00e9 proven\\u00e7al, animations estivales\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Poissons frais, plats m\\u00e9diterran\\u00e9ens\"}],\"link\":\"https:\\\/\\\/www.sainte-maxime.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":5,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Port Grimaud\",\"image\":\"https:\\\/\\\/images.interhome.group\\\/travelguide\\\/france-cote-d-azur-port-grimaud.jpg\",\"credit\":\"\",\"description\":\"Village nautique pittoresque surnomm\\u00e9 la 'Venise Proven\\u00e7ale'.\",\"city\":\"\",\"address\":\"\",\"km\":6.3,\"min\":12,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"6.3\"},{\"label\":\"Driving time (min)\",\"value\":\"12\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Le Port Grimaud, canaux et architecture v\\u00e9nitienne\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"March\\u00e9 local du mercredi\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Poissons, crustac\\u00e9s, cuisine de la mer\"}],\"link\":\"https:\\\/\\\/www.portgrimaud.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":6,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"La Croix-Valmer\",\"image\":\"https:\\\/\\\/media-cdn.tripadvisor.com\\\/media\\\/photo-c\\\/1280x250\\\/0d\\\/a1\\\/b6\\\/25\\\/spiaggia-di-sylvabelle.jpg\",\"credit\":\"\",\"description\":\"Typically Proven\\u00e7al village with beautiful wild beaches.\",\"city\":\"\",\"address\":\"\",\"km\":7.6,\"min\":13,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"7.6\"},{\"label\":\"Driving time (min)\",\"value\":\"13\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Gigaro Beach, Rayol Estate\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Seasonal markets\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Proven\\u00e7al cuisine, fresh local products\"}],\"link\":\"https:\\\/\\\/www.la-croix-valmer.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":7,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Ramatuelle\",\"image\":\"https:\\\/\\\/provencelovers.fr\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/que-faire-village-ramatuelle-visiter.jpeg\",\"credit\":\"\",\"description\":\"Charming village near the famous Pampelonne beaches.\",\"city\":\"\",\"address\":\"\",\"km\":8.9,\"min\":14,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"8.9\"},{\"label\":\"Driving time (min)\",\"value\":\"14\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Perched village, Pampelonne Beach\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Craft markets and producers\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Mediterranean specialties\"}],\"link\":\"https:\\\/\\\/www.ramatuelle.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":8,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"La Garde-Freinet\",\"image\":\"https:\\\/\\\/www.domainedemiremer.com\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/la-garde-freinet-village-provencal.jpg\",\"credit\":\"\",\"description\":\"Authentic village in the heart of Proven\\u00e7al nature.\",\"city\":\"\",\"address\":\"\",\"km\":15.7,\"min\":21,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"15.7\"},{\"label\":\"Driving time (min)\",\"value\":\"21\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Parc naturel r\\u00e9gional de la Sainte-Baume\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Traditional market\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Local and forest cuisine\"}],\"link\":\"https:\\\/\\\/www.lagardefreinet.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":9,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Le Plan-de-la-Tour\",\"image\":\"https:\\\/\\\/www.leplandelatour.fr\\\/files\\\/leplan\\\/home\\\/plan-de-la-tour-village-20-photo-bertrand-2014_500.jpg\",\"credit\":\"\",\"description\":\"Village pittoresque au c\\u0153ur de la Provence.\",\"city\":\"\",\"address\":\"\",\"km\":12.3,\"min\":18,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"12.3\"},{\"label\":\"Driving time (min)\",\"value\":\"18\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Vieilles rues, festivals locaux\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"March\\u00e9 hebdomadaire proven\\u00e7al\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Cuisine proven\\u00e7ale, vins locaux\"}],\"link\":\"https:\\\/\\\/www.plan-de-la-tour.org\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":10,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Solli\\u00e8s-Pont\",\"image\":\"https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/9\\\/96\\\/Solli%C3%A8s-Pont_-_%C3%89glise_Saint-Jean-Baptiste_-_1.jpg\",\"credit\":\"\",\"description\":\"Ville tranquille entour\\u00e9e de verdure \\u00e0 d\\u00e9couvrir.\",\"city\":\"\",\"address\":\"\",\"km\":61.8,\"min\":59,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"61.8\"},{\"label\":\"Driving time (min)\",\"value\":\"59\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Chapelle Saint-Antoine, parc naturel\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"March\\u00e9 hebdomadaire\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Cuisine proven\\u00e7ale traditionnelle\"}],\"link\":\"https:\\\/\\\/www.sollies-pont.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":11,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Draguignan\",\"image\":\"https:\\\/\\\/encrypted-tbn0.gstatic.com\\\/images?q=tbn:ANd9GcQlatrjCN0YxBRtqQfeRMqi8HpN_IP4bD-qxw&s\",\"credit\":\"\",\"description\":\"Sub-prefecture of Var with a rich cultural heritage.\",\"city\":\"\",\"address\":\"\",\"km\":40.5,\"min\":45,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"40.5\"},{\"label\":\"Driving time (min)\",\"value\":\"45\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Museum of Arts and Traditions, historic center\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Proven\\u00e7al Market\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Regional cuisine\"}],\"link\":\"https:\\\/\\\/www.ville-draguignan.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":12,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Hy\\u00e8res\",\"image\":\"https:\\\/\\\/i-de.unimedias.fr\\\/2023\\\/12\\\/07\\\/detbrvar5710-6571e6ccd7d1a.jpg?auto=format%2Ccompress&crop=faces&cs=tinysrgb&fit=max&ixlib=php-4.1.0&w=1050\",\"credit\":\"\",\"description\":\"Historic coastal city with access to the Golden Islands.\",\"city\":\"\",\"address\":\"\",\"km\":45.2,\"min\":47,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"45.2\"},{\"label\":\"Driving time (min)\",\"value\":\"47\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Old Town, Hy\\u00e8res Islands, beaches\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Local markets, festivals\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Seafood, Mediterranean cuisine\"}],\"link\":\"https:\\\/\\\/www.ville-hyeres.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":13,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Bandol\",\"image\":\"https:\\\/\\\/encrypted-tbn0.gstatic.com\\\/images?q=tbn:ANd9GcQ5Tq1aQP-_uK1qctAkM6NbAgnyxdABQ15zLg&s\",\"credit\":\"\",\"description\":\"Resort known for its wines.\",\"city\":\"\",\"address\":\"\",\"km\":80.6,\"min\":75,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"80.6\"},{\"label\":\"Driving time (min)\",\"value\":\"75\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"Port of Bandol, vineyards\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Proven\\u00e7al markets, wine tastings\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Proven\\u00e7al cuisine and local wines\"}],\"link\":\"https:\\\/\\\/www.bandol.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":14,\"featurable\":true,\"featured\":false,\"type\":\"villes-aux-alentours\",\"name\":\"Toulon\",\"image\":\"https:\\\/\\\/partir.ouest-france.fr\\\/magazine\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/lsntnybyltk.jpg\",\"credit\":\"\",\"description\":\"Dynamic port city with a rich maritime heritage.\",\"city\":\"\",\"address\":\"\",\"km\":63.2,\"min\":62,\"lat\":null,\"lng\":null,\"tags\":[],\"fields\":[{\"label\":\"Distance from campsite (km)\",\"value\":\"63.2\"},{\"label\":\"Driving time (min)\",\"value\":\"62\"},{\"label\":\"Must-see places \\\/ activities\",\"value\":\"National Maritime Museum, Mont Faron\"},{\"label\":\"Markets \\\/ local events\",\"value\":\"Local markets\"},{\"label\":\"Restaurants \\\/ specialties\",\"value\":\"Urban Mediterranean cuisine\"}],\"link\":\"https:\\\/\\\/www.toulon.fr\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":15,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Outdoor pool and paddling pool\",\"image\":\"https:\\\/\\\/marinaparadise.com\\\/images\\\/piscine.jpg\",\"credit\":\"\",\"description\":\"Enjoy an outdoor pool with a children's paddling pool within the campsite.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Water leisure activity\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Water leisure activity\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On site\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":16,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Aquagym\",\"image\":\"https:\\\/\\\/camping-marinaparadise.fr\\\/images\\\/aquagym.jpg\",\"credit\":\"\",\"description\":\"Aquagym classes offered in summer to stay fit in the water.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Sport activity\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport activity\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"July\\\/August sessions\"},{\"label\":\"Reservation needed?\",\"value\":\"According to schedule\"}],\"link\":\"https:\\\/\\\/camping-marinaparadise.fr\\\/index.php\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":17,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Tennis\",\"image\":\"https:\\\/\\\/provence-alpes-cotedazur.com\\\/images\\\/tennis.jpg\",\"credit\":\"\",\"description\":\"Tennis courts accessible to campers directly within the campsite.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Sport\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On site\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/provence-alpes-cotedazur.com\\\/sejourner\\\/hebergements\\\/tous-les-hebergements\\\/campings\\\/camping-paradis-marina-paradise-cogolin-fr-2851146\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":18,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Volley-ball\",\"image\":\"https:\\\/\\\/marinaparadise.com\\\/images\\\/volley.jpg\",\"credit\":\"\",\"description\":\"Volleyball courts allowing match play or training sessions.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Sport\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On site\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/activites-cote-azur\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":19,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Basket-ball\",\"image\":\"https:\\\/\\\/www.odalys-vacation-rental.com\\\/images\\\/basket.jpg\",\"credit\":\"\",\"description\":\"Dedicated space for basketball accessible to visitors of the campsite.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Sport\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On site\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/www.odalys-vacation-rental.com\\\/beach-holidays-france\\\/french-riviera\\\/port-cogolin\\\/camping-village-marina-paradise.html\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":20,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"P\\u00e9tanque\",\"image\":\"https:\\\/\\\/provence-alpes-cotedazur.com\\\/images\\\/petanque.jpg\",\"credit\":\"\",\"description\":\"Bowling alley and p\\u00e9tanque pitch for enthusiasts of Proven\\u00e7al game.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Leisure\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Leisure\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On site\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/provence-alpes-cotedazur.com\\\/sejourner\\\/hebergements\\\/tous-les-hebergements\\\/campings\\\/camping-paradis-marina-paradise-cogolin-fr-2851146\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":21,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Tir \\u00e0 l'arc\",\"image\":\"https:\\\/\\\/campingfrance.com\\\/images\\\/tirarc.jpg\",\"credit\":\"\",\"description\":\"Archery activity offered at the campsite.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Sport\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sport\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On site\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/www.campingfrance.com\\\/recherchez-votre-camping\\\/provence-alpes-cote-dazur\\\/var\\\/cogolin\\\/marina-paradise\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":22,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Courses de natation (avec participation)\",\"image\":\"https:\\\/\\\/odalys-vacances.com\\\/images\\\/coursnatation.jpg\",\"credit\":\"\",\"description\":\"Classes provided to learn or improve swimming.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Sports activity\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sports activity\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On site\"},{\"label\":\"Reservation needed?\",\"value\":\"Oui\"}],\"link\":\"https:\\\/\\\/www.odalys-vacances.com\\\/location-mer\\\/cote-d-azur\\\/port-cogolin\\\/camping-village-marina-paradise.html\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":23,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Location de v\\u00e9los (avec participation)\",\"image\":\"https:\\\/\\\/marinaparadise.com\\\/images\\\/velo.jpg\",\"credit\":\"\",\"description\":\"Possibility to rent bikes to explore the surroundings and the Mediterranean cycle route.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Discovery activity\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Discovery activity\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On site\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/activites-cote-azur\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":24,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Club enfants et animations pour enfants\",\"image\":\"https:\\\/\\\/odalys-vacation-rental.com\\\/images\\\/clubenfants.jpg\",\"credit\":\"\",\"description\":\"Mini club for 6-12 year olds, fun and supervised activities for children.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Animation\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Animation\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"During French school holidays\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/www.odalys-vacation-rental.com\\\/beach-holidays-france\\\/french-riviera\\\/port-cogolin\\\/camping-village-marina-paradise.html\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":25,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Evening entertainment and shows\",\"image\":\"https:\\\/\\\/campingfrance.com\\\/images\\\/animationsoiree.jpg\",\"credit\":\"\",\"description\":\"Entertainment and shows for all ages in the evening at the campsite.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Animation\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Animation\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"In the evening\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/www.campingfrance.com\\\/recherchez-votre-camping\\\/provence-alpes-cote-dazur\\\/var\\\/cogolin\\\/marina-paradise\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":26,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Nightclub\",\"image\":\"https:\\\/\\\/campingfrance.com\\\/images\\\/discotheque.jpg\",\"credit\":\"\",\"description\":\"Nightclub area for dance and festive nights.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Festival entertainment\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Festival entertainment\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"In the evening\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/www.campingfrance.com\\\/recherchez-votre-camping\\\/provence-alpes-cote-dazur\\\/var\\\/cogolin\\\/marina-paradise\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":27,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"TV and board games room\",\"image\":\"https:\\\/\\\/odalys-vacances.com\\\/images\\\/salletv.jpg\",\"credit\":\"\",\"description\":\"Common room to relax with television and board games.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Camping Marina Paradise\",\"Indoor leisure\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Indoor leisure\"},{\"label\":\"City \\\/ Area\",\"value\":\"Camping Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0\"},{\"label\":\"Average duration\",\"value\":\"On-site\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/www.odalys-vacances.com\\\/location-mer\\\/cote-d-azur\\\/port-cogolin\\\/camping-village-marina-paradise.html\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":28,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Cogolin Beach 600 meters away\",\"image\":\"https:\\\/\\\/odalys-vacances.com\\\/images\\\/plagecogolin.jpg\",\"credit\":\"\",\"description\":\"Enjoy the nearby Mediterranean beaches for swimming and relaxing.\",\"city\":\"\",\"address\":\"\",\"km\":0.6,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"600 m from the campsite\",\"Water sport\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Water sport\"},{\"label\":\"City \\\/ Area\",\"value\":\"600 m from the campsite\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0.6\"},{\"label\":\"Average duration\",\"value\":\"10 min walk\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/www.odalys-vacances.com\\\/location-mer\\\/cote-d-azur\\\/port-cogolin\\\/camping-village-marina-paradise.html\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":29,\"featurable\":true,\"featured\":false,\"type\":\"activites-et-lieux-recommandes\",\"name\":\"Visit to Port Grimaud\",\"image\":\"https:\\\/\\\/tripadvisor.fr\\\/images\\\/portgrimaud.jpg\",\"credit\":\"\",\"description\":\"Discover the famous Proven\\u00e7al Venice, a lakeside village near the campsite.\",\"city\":\"\",\"address\":\"\",\"km\":1,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"1 km from the campsite\",\"Cultural discovery\"],\"fields\":[{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Cultural discovery\"},{\"label\":\"City \\\/ Area\",\"value\":\"1 km from the campsite\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"1\"},{\"label\":\"Average duration\",\"value\":\"15 min walk\"},{\"label\":\"Reservation needed?\",\"value\":\"Non\"}],\"link\":\"https:\\\/\\\/www.tripadvisor.fr\\\/Attractions-g196455-Activities-Port_Grimaud_Provence_Alpes_Cote_d_Azur.html\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":30,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Spectacular water slide\",\"image\":\"\",\"credit\":\"\",\"description\":\"2025 novelty with three water slide tracks for the whole family.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Water leisure\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"From April 5 to October 12, 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise, near Saint-Tropez\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km (on site)\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Water leisure\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":31,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Children's club\",\"image\":\"\",\"credit\":\"\",\"description\":\"Activities supervised by a dynamic team for children aged 5 and over: games, singing, crafts.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Family entertainment\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"Every day during the 2025 season\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Family entertainment\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/campsite-activities-cogolin\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":32,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Karaoke evenings\",\"image\":\"\",\"credit\":\"\",\"description\":\"Fun evenings where campers can sing and have fun together.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Evening entertainment\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"Weekly program in summer 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Evening entertainment\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/campsite-activities-cogolin\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":33,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Concerts and shows\",\"image\":\"\",\"credit\":\"\",\"description\":\"Live concerts and various shows offered to campers to enhance their evenings.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Cultural entertainment\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"During the summer season 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Cultural entertainment\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/campsite-activities-cogolin\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":34,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Dance evenings\",\"image\":\"\",\"credit\":\"\",\"description\":\"Dance evenings with DJs to party among campers.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Evening entertainment\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"Every summer week 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Evening entertainment\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/campsite-activities-cogolin\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":35,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Open-air cinema\",\"image\":\"\",\"credit\":\"\",\"description\":\"Evening film screenings for entertainment under the stars.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Evening entertainment\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"Summer programming 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Evening entertainment\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/campsite-activities-cogolin\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":36,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Giant games\",\"image\":\"\",\"credit\":\"\",\"description\":\"Organization of giant board games outdoors.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Family activity\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"Summer 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Family activity\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/campsite-activities-cogolin\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":37,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Foam party (foam evening)\",\"image\":\"\",\"credit\":\"\",\"description\":\"Festive foam evenings for a playful and refreshing atmosphere.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Festive activity\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"Several times in the 2025 season\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Festive activity\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/campsite-activities-cogolin\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":38,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Themed evenings\",\"image\":\"\",\"credit\":\"\",\"description\":\"Organized evenings with various themes to entertain campers.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Animation\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"Variable schedule week by week in 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Animation\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/campsite-activities-cogolin\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":39,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Tennis Tournament\",\"image\":\"\",\"credit\":\"\",\"description\":\"Friendly competition on the camp's tennis courts.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Sports\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"During the 2025 summer high season\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sports\"}],\"link\":\"https:\\\/\\\/www.tripadvisor.com\\\/Hotel_Review-g2478649-d7856178-Reviews-Marina_Paradise_Camping-Port_Cogolin_Var_Provence_Alpes_Cote_d_Azur.html\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":40,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Beach-volley Tournament\",\"image\":\"\",\"credit\":\"\",\"description\":\"Competition among campers on the beach-volley courts.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Sports\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"During the 2025 season\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Sports\"}],\"link\":\"https:\\\/\\\/www.tripadvisor.com\\\/Hotel_Review-g2478649-d7856178-Reviews-Marina_Paradise_Camping-Port_Cogolin_Var_Provence_Alpes_Cote_d_Azur.html\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":41,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"\\u00ab La F\\u00eate des Enfants \\u00bb Family Parade and Fair\",\"image\":\"\",\"credit\":\"\",\"description\":\"Festive parade with mascot Piki, followed by a large fair filled with games and activities for children.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Family Event\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"May 29 to June 1, 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradis Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Family Event\"}],\"link\":\"https:\\\/\\\/www.campings-paradis.com\\\/evenements\\\/2025\\\/fete-des-enfants-ascension-2025\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":42,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Leona Winter Live Concert\",\"image\":\"\",\"credit\":\"\",\"description\":\"Live performance by Leona Winter, artist known from The Voice and Drag Race France.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Concert\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"July 24, 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradis Marina Paradise, Cogolin\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Concert\"}],\"link\":\"https:\\\/\\\/www.campings-paradis.com\\\/evenements\\\/2025\\\/paradis-des-stars-2025\\\/leona-winter-2025\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":43,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Daily Activities for the Whole Family\",\"image\":\"\",\"credit\":\"\",\"description\":\"A variety of activities including workshops, games, shows for all ages.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Family Activities\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"From April 1 to November 4, 2025\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Family Activities\"}],\"link\":\"https:\\\/\\\/provence-alpes-cotedazur.com\\\/en\\\/plan-your-stay\\\/accommodation\\\/all-accommodation\\\/campings\\\/camping-paradis-marina-paradise-cogolin-en-2851146\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":44,\"featurable\":true,\"featured\":false,\"type\":\"evenements-recommandes\",\"name\":\"Full breakfast\",\"image\":\"\",\"credit\":\"\",\"description\":\"Breakfast service to start the day well at the campground.\",\"city\":\"\",\"address\":\"\",\"km\":0,\"min\":null,\"lat\":null,\"lng\":null,\"tags\":[\"Service\"],\"fields\":[{\"label\":\"Date \\\/ P\\u00e9riode\",\"value\":\"Throughout the 2025 season\"},{\"label\":\"Lieu (ville)\",\"value\":\"Camping Paradise Marina Paradise\"},{\"label\":\"Distance from campsite (km)\",\"value\":\"0 km\"},{\"label\":\"Type of event (market, festival, sport, etc.)\",\"value\":\"Service\"}],\"link\":\"https:\\\/\\\/marinaparadise.com\\\/en\\\/\",\"event\":\"\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":45,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Proven\\u00e7al Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"In the lanes of Le Muy, the colorful facades play with the Proven\\u00e7al light. \\r\\nThe Sunday market is one of the largest in the Var, where fabric stalls, scents and flavors meet in the shade of the plane trees.\",\"city\":\"Le Muy\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.47283,\"lng\":6.567274,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Le Muy\"},{\"label\":\"Postal code\",\"value\":\"83490\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":46,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Saint-Tropez Fish Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"The recently renovated fish hall of Saint-Tropez is a must-see in the old town of Saint-Tropez, a place where strollers, the curious and fish lovers mingle...\",\"city\":\"Saint-Tropez\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.27212,\"lng\":6.639342,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Saint-Tropez\"},{\"label\":\"Postal code\",\"value\":\"83990\"}],\"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\":47,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Proven\\u00e7al Market of Fr\\u00e9jus\",\"image\":\"\",\"credit\":\"\",\"description\":\"Discover the Proven\\u00e7al market of Fr\\u00e9jus, vibrant and colorful, where local produce, enticing spices and regional crafts are displayed. An authentic sensory experience in the heart of Provence.\",\"city\":\"Fr\\u00e9jus\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.432945,\"lng\":6.736604,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Fr\\u00e9jus\"},{\"label\":\"Postal code\",\"value\":\"83600\"}],\"link\":\"\",\"event\":\"Du 01\\\/01\\\/2026 \\u00e0 07:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":48,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Proven\\u00e7al Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Weekly Proven\\u00e7al Market: the market takes place every Wednesday morning, on Place Jean Moulin.\",\"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\":49,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Monumental exhibition by Sylvain Dautremay: \\u201cI just dream of freedom\\u201d\",\"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\":50,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Proven\\u00e7al Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Market every Friday on the village square - Local Producers.\",\"city\":\"La Motte\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.492543,\"lng\":6.534738,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"La Motte\"},{\"label\":\"Postal code\",\"value\":\"83920\"}],\"link\":\"https:\\\/\\\/www.ville-la-motte.com\\\/\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":51,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Ballet of the Op\\u00e9ra de Lyon - \\\"House\\\" by Sharon Eyal \\u2013 \\\"The Rite of Spring\\\" by Mats Ek\",\"image\":\"\",\"credit\":\"\",\"description\":\"Revisiting a classic of the last century, holding up a mirror to our present: two pieces, two choreographic languages, for an evening marked by rigor and boldness.\",\"city\":\"Fr\\u00e9jus\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.427673,\"lng\":6.737605,\"tags\":[],\"fields\":[{\"label\":\"Category\",\"value\":\"Concerts, music & festivals\"},{\"label\":\"City\",\"value\":\"Fr\\u00e9jus\"},{\"label\":\"Postal code\",\"value\":\"83600\"}],\"link\":\"http:\\\/\\\/www.festivaldedanse-cannes.com\\\/\",\"event\":\"Du 03\\\/12\\\/2026 \\u00e0 20:30 au 03\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":52,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"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\":53,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"March\\u00e9 Proven\\u00e7al\",\"image\":\"\",\"credit\":\"\",\"description\":\"Come discover the colors and scents of Provence as well as local and artisanal products.\",\"city\":\"Les Arcs\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.462899,\"lng\":6.478336,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Les Arcs\"},{\"label\":\"Postal code\",\"value\":\"83460\"}],\"link\":\"https:\\\/\\\/www.mairie-les-arcs-sur-argens.fr\\\/\",\"event\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":54,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"The market of Saint-Tropez\",\"image\":\"\",\"credit\":\"\",\"description\":\"The market of Saint-Tropez takes place annually on Place des Lices, in the heart of the village, every Tuesday and Saturday morning. You will find all kinds of products there: food, textiles, decor, souvenirs... A lovely place to stroll.\",\"city\":\"Saint-Tropez\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.269969,\"lng\":6.641332,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Saint-Tropez\"},{\"label\":\"Postal code\",\"value\":\"83990\"}],\"link\":\"http:\\\/\\\/www.sainttropeztourisme.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\":55,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"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 a.m. to 1:00 p.m.\\r\\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\":56,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Market in Grimaud village\",\"image\":\"\",\"credit\":\"\",\"description\":\"Proven\\u00e7al 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\":57,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"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\":58,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Proven\\u00e7al Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Your great Proven\\u00e7al market, every Sunday from 8:00 a.m. to 12:30 p.m.\\r\\nPlace M. Giordano, rue Victor Hugo, rue de la Victoire, rue Garibaldi, mont\\u00e9e Tournel.\",\"city\":\"Vidauban\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.427453,\"lng\":6.432773,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Vidauban\"},{\"label\":\"Postal code\",\"value\":\"83550\"}],\"link\":\"http:\\\/\\\/www.mairie-vidauban.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\":59,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Proven\\u00e7al Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Prepared dishes, rotisserie, citrus fruits, cheeses, cured meats, flavors of Italy, flowers, plants.\\r\\nGarden vegetables, saffron, pine nuts, honey, walnuts...\\r\\nButcher, caterer and bakery are open.\",\"city\":\"Trans-en-Provence\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.50362,\"lng\":6.485014,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Trans-en-Provence\"},{\"label\":\"Postal code\",\"value\":\"83720\"}],\"link\":\"http:\\\/\\\/www.transenprovence.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\":60,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"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\":61,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Producers' Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"every Saturday morning, from 7:00 a.m.\",\"city\":\"Les Arcs\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.447091,\"lng\":6.475438,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Les Arcs\"},{\"label\":\"Postal code\",\"value\":\"83460\"}],\"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\":62,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Proven\\u00e7al market\",\"image\":\"\",\"credit\":\"\",\"description\":\"The Proven\\u00e7al market of Puget sur Argens awaits you every Saturday morning!\",\"city\":\"Puget-sur-Argens\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.455014,\"lng\":6.684275,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Puget-sur-Argens\"},{\"label\":\"Postal code\",\"value\":\"83480\"}],\"link\":\"http:\\\/\\\/www.pugetsurargens.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\":63,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Toy fair\",\"image\":\"\",\"credit\":\"\",\"description\":\"The commune of Gassin is organizing a toy fair in the Esp\\u00e9lidou hall, a great opportunity to find good deals while preparing for Christmas or giving toys a second life.\",\"city\":\"Gassin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.224997,\"lng\":6.588023,\"tags\":[],\"fields\":[{\"label\":\"Category\",\"value\":\"Antique fairs & garage sales\"},{\"label\":\"City\",\"value\":\"Gassin\"},{\"label\":\"Postal code\",\"value\":\"83580\"}],\"link\":\"https:\\\/\\\/gassin.eu\\\/fr\\\/\",\"event\":\"Du 22\\\/11\\\/2026 \\u00e0 08:00 au 22\\\/11\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":64,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Bormes Museum - 2,400 years of art and history in augmented reality\",\"image\":\"\",\"credit\":\"\",\"description\":\"Explore 2,400 years of the history and art of 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 at the 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\":65,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Monumental sculpture exhibition by Jean-Luc Ducreux \\u00ab\\u2009Infinity - The Absence of an End\\u2009\\u00bb\",\"image\":\"\",\"credit\":\"\",\"description\":\"This year, Ducreux offers the village of Gassin and the Jardin des Sculptures new monumental works. The marriage of contemporary art and the mythical view over the Gulf of Saint-Tropez transcends the senses. A timeless 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\":66,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Organic and ethical market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Organic and zero-waste market with organic and local 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\":67,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Proven\\u00e7al Market of Collobri\\u00e8res\",\"image\":\"\",\"credit\":\"\",\"description\":\"All the flavors and scents of Provence welcome you on Thursday and Sunday mornings at Place de la Mairie for Collobri\\u00e8res' twice-weekly market.\",\"city\":\"Collobri\\u00e8res\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.237405,\"lng\":6.308991,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"label\":\"City\",\"value\":\"Collobri\\u00e8res\"},{\"label\":\"Postal code\",\"value\":\"83610\"}],\"link\":\"\",\"event\":\"Du 28\\\/10\\\/2026 \\u00e0 08:00 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"faq\":[],\"video_url\":\"\",\"video_embed\":null,\"documents\":[],\"gallery\":[]},{\"id\":68,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Weekly Proven\\u00e7al Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Succumb to the authentic charm of Provence by discovering the Weekly Proven\\u00e7al Market of Le Plan-de-la-Tour!\",\"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\":69,\"featurable\":true,\"featured\":false,\"type\":\"evenements-locaux-165\",\"name\":\"Weekly Proven\\u00e7al Market\",\"image\":\"\",\"credit\":\"\",\"description\":\"Meet in the heart of the village of Cogolin, on Wednesdays at Place Victor Hugo and on Saturdays at Place de la R\\u00e9publique from 8:30 a.m. to 12:30 p.m., and enjoy the friendly atmosphere of our Proven\\u00e7al market.\",\"city\":\"Cogolin\",\"address\":\"\",\"km\":null,\"min\":null,\"lat\":43.251631,\"lng\":6.533685,\"tags\":[\"Markets & fairs\"],\"fields\":[{\"label\":\"Category\",\"value\":\"Markets & fairs\"},{\"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\":[]}];\n    var CATS = {\"villes-aux-alentours\":{\"key\":\"villes-aux-alentours\",\"label\":\"Villes aux alentours\",\"adhoc\":false,\"color\":\"#c2410c\",\"count\":15,\"image\":\"https:\\\/\\\/elaia-public.s3.fr-par.scw.cloud\\\/metadata_images\\\/image_68fb7fcf997d9.jpg\"},\"activites-et-lieux-recommandes\":{\"key\":\"activites-et-lieux-recommandes\",\"label\":\"Activit\\u00e9s et lieux recommand\\u00e9s\",\"adhoc\":false,\"color\":\"#2563eb\",\"count\":15,\"image\":\"https:\\\/\\\/marinaparadise.com\\\/images\\\/piscine.jpg\"},\"evenements-recommandes\":{\"key\":\"evenements-recommandes\",\"label\":\"\\u00c9v\\u00e9nements recommand\\u00e9s\",\"adhoc\":false,\"color\":\"#15803d\",\"count\":15,\"image\":\"\"},\"evenements-locaux-165\":{\"key\":\"evenements-locaux-165\",\"label\":\"Local events\",\"adhoc\":false,\"color\":\"#be185d\",\"count\":25,\"image\":\"\"}};\n    \/\/ Textes d'interface dans la langue de la page (includes\/i18n.php)\n    var T = {\"blog_read_more\":\"Read the article\",\"blog_empty\":\"No articles yet.\",\"blog_newer\":\"Newer articles\",\"blog_older\":\"Older articles\",\"blog_label\":\"Articles\",\"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\",\"article_in_this\":\"In this article\",\"article_toc\":\"Article contents\",\"see_original\":\"Automatically translated \\u00b7 See original\",\"see_translation\":\"See translation\",\"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\",\"content_unavailable\":\"This content 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\":\"\\u00a9 <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":{"_acf_changed":false,"footnotes":""},"sujet":[],"class_list":["post-2743","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/pages\/2743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/comments?post=2743"}],"version-history":[{"count":1,"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/pages\/2743\/revisions"}],"predecessor-version":[{"id":3231,"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/pages\/2743\/revisions\/3231"}],"wp:attachment":[{"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/media?parent=2743"}],"wp:term":[{"taxonomy":"sujet","embeddable":true,"href":"https:\/\/marinaparadise.com\/en\/wp-json\/wp\/v2\/sujet?post=2743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}