Age Verification

This site contains adult content. Are you 18 years or older?

SexLust.ch

Club Delicious

BIO

Profile Details

Tattoos: No

Spoken languages: French

About

Switzerland
Votre compte Escorts girls Masseuses érotiques BDSM Trans Salons On a testé FR_FR DE EN ES IT Ajouter une annonce Se connecter ou Créer un compte Ajouter une annonce document.body.dataset.activeTab = window.location.hash.substr(1); prevnext Club Delicious Le plus grand club érotique de Genève Donner un avis ‹›1 / 3 -24H📍 Tous les soirs de magnifiques hôtesses indépendantes Le salon Delicious est une véritable oasis de relaxation et de massages érotiques (comprenant sexe oral, vaginal, anal et de très nombreuses pratiques érotiques) à seulement 5 minutes du centre de Genève. Il offre une gamme de massages exquis, dispensés par des masseuses sexy en talons aiguilles et attentionnées, dans un cadre élégant. Que vous ayez besoin d’un bon massage érotique après une longue journée de travail ou que vous cherchiez à soulager vos pulsions érotiques, le salon Delicious répond à vos besoins. Lorsque vous franchissez les portes de ce temple érotique, vous êtes immédiatement plongé dans une ambiance de luxe discret, conçu pour vous faire oublier le stress quotidien. Les massages proposés sont variés, allant du massage relaxant, idéal pour apaiser l’esprit, au massage thaï traditionnel, en passant par le massage à l’huile parfumée pour une expérience sensorielle unique, un massage sportif pour ceux en quête de sensations plus intenses. Mais aussi toutes sortes de fantaisies tel que des massages sexuels jusqu’à des séances de bdsm. L’atmosphère chaleureuse et confortable du salon Delicious vous invite à toutes sortes de jeux érotiques. De plus, pour votre plus grand confort, une place de parking est mise à votre disposition devant le bâtiment, afin que vous puissiez profiter pleinement de votre expérience sans tracas. Au Club Delicious, l’objectif est de vous offrir un moment exceptionnel avec les plus belles masseuses indépendantes de Genève. N’hésitez pas à leur rendre visite pour un moment de relaxation inoubliable. Votre bien-être est leur priorité, et ont hâte de vous choyer dans le monde de l’érotisme. Club Lounge – SPA au délicious : L’art du plaisir et de la détente Entrez dans un univers unique, raffiné et envoûtant. Niché dans un cadre naturel d’exception, notre Club Lounge vous accueille dans une ambiance chic, glamour et sensuelle. La détente et au plaisir : sauna en bois d’acacia, jacuzzi bouillonnant, bain turc enveloppant, billard, salons privés intimes, vestiaires sécurisés, douches et toilettes à disposition. Tout a été pensé pour votre confort. Un lieu discret… au bord de l’eau À seulement quelques minutes du centre de Genève, notre établissement se situe à Veyrier, dans un écrin de verdure au bord de l’eau. Facile d’accès, il offre une discrétion absolue et un grand parking réservé à notre clientèle. Un voiturier est à votre service – gratuitement – pour encore plus de confort. Le bus n°8 s’arrête juste devant, arrêt « Pont de Sierne ». 11 chambres à thèmes pour explorer tous vos désirs Laissez libre cours à vos envies dans l’une de nos 11 chambres à thème, entièrement pensées pour éveiller vos sens. Chaque espace est soigneusement décoré pour vous offrir un moment unique, dans une hygiène irréprochable et une ambiance irrésistiblement sexy.Club érotique · Escort · Salons érotiques Club Delicious Le plus grand club érotique de Genève Spécialités Chambres à thèmeEscort VIPParkingPole DanceSauna Contact direct Contactez cette annonce rapidement par téléphone ou WhatsApp. C Club Delicious Tous les soirs de magnifiques hôtesses indépendantes Le salon Delicious est une véritable oasis de relaxation et de massages érotiques (comprenant sexe oral, vaginal, anal et de très nombreuses pratiques érotiques) à seulement 5 minutes du centre de Genève. Il offre une gamme de massages exquis, dispensés par des masseuses sexy en talons aiguilles et attentionnées, dans un cadre élégant. Que vous ayez besoin d’un bon massage érotique après une longue journée de travail ou que vous cherchiez à soulager vos pulsions érotiques, le salon Delicious répond à vos besoins. Lorsque vous franchissez les portes de ce temple érotique, vous êtes immédiatement plongé dans une ambiance de luxe discret, conçu pour vous faire oublier le stress quotidien. Les massages proposés sont variés, allant du massage relaxant, idéal pour apaiser l’esprit, au massage thaï traditionnel, en passant par le massage à l’huile parfumée pour une expérience sensorielle unique, un massage sportif pour ceux en quête de sensations plus intenses. Mais aussi toutes sortes de fantaisies tel que des massages sexuels jusqu’à des séances de bdsm. L’atmosphère chaleureuse et confortable du salon Delicious vous invite à toutes sortes de jeux érotiques. De plus, pour votre plus grand confort, une place de parking est mise à votre disposition devant le bâtiment, afin que vous puissiez profiter pleinement de votre expérience sans tracas. Au Club Delicious, l’objectif est de vous offrir un moment exceptionnel avec les plus belles masseuses indépendantes de Genève. N’hésitez pas à leur rendre visite pour un moment de relaxation inoubliable. Votre bien-être est leur priorité, et ont hâte de vous choyer dans le monde de l’érotisme. Club Lounge – SPA au délicious : L’art du plaisir et de la détente Entrez dans un univers unique, raffiné et envoûtant. Niché dans un cadre naturel d’exception, notre Club Lounge vous accueille dans une ambiance chic, glamour et sensuelle. La détente et au plaisir : sauna en bois d’acacia, jacuzzi bouillonnant, bain turc enveloppant, billard, salons privés intimes, vestiaires sécurisés, douches et toilettes à disposition. Tout a été pensé pour votre confort. Un lieu discret… au bord de l’eau À seulement quelques minutes du centre de Genève, notre établissement se situe à Veyrier, dans un écrin de verdure au bord de l’eau. Facile d’accès, il offre une discrétion absolue et un grand parking réservé à notre clientèle. Un voiturier est à votre service – gratuitement – pour encore plus de confort. Le bus n°8 s’arrête juste devant, arrêt « Pont de Sierne ». 11 chambres à thèmes pour explorer tous vos désirs Laissez libre cours à vos envies dans l’une de nos 11 chambres à thème, entièrement pensées pour éveiller vos sens. Chaque espace est soigneusement décoré pour vous offrir un moment unique, dans une hygiène irréprochable et une ambiance irrésistiblement sexy. · -24H 📞 Appeler 🟢 WhatsApp ↗ Partager ⚠ Signaler Sécurité. Ne versez aucun acompte avant la rencontre. Privilégiez les annonces vérifiées et signalez tout profil douteux. Le salon Les avis 0 prev next Call now Whatsapp Itinéraire Website Direct message prev next Video Gallery prevnext Video Non disponible L'horaire de travail d'aujourd'hui n'est pas disponible Basculer vers le calendrier hebdomadaire Lundi 21h00 - 6h00 Mardi N/A Mercredi N/A Jeudi N/A Vendredi N/A Samedi N/A Dimanche N/A 24 juin 2026 0h48 heure locale photos prevnext Les plus... Chambres à thème Escort VIP Parking Pole Dance Sauna Le salon Club Delicious Quartier Genève Site Internet https://salon-massage.ch Français, Anglais, Espagnol Tarifs Tarif Sur demande Moyens de payement acceptés CHF, Euro, Dollars, Twint, Visa, Mastercard, American Express, Maestro, Postfinance Sur le salon Tous les soirs de magnifiques hôtesses indépendantes Le salon Delicious est une véritable oasis de relaxation et de massages érotiques (comprenant sexe oral, vaginal, anal et de très nombreuses pratiques érotiques) à seulement 5 minutes du centre de Genève. Il offre une gamme de massages exquis, dispensés par des masseuses sexy en talons aiguilles et attentionnées, dans un cadre élégant. Que vous ayez besoin d’un bon massage érotique après une longue journée de travail ou que vous cherchiez à soulager vos pulsions érotiques, le salon Delicious répond à vos besoins. Lorsque vous franchissez les portes de ce temple érotique, vous êtes immédiatement plongé dans une ambiance de luxe discret, conçu pour vous faire oublier le stress quotidien. Les massages proposés sont variés, allant du massage relaxant, idéal pour apaiser l’esprit, au massage thaï traditionnel, en passant par le massage à l’huile parfumée pour une expérience sensorielle unique, un massage sportif pour ceux en quête de sensations plus intenses. Mais aussi toutes sortes de fantaisies tel que des massages sexuels jusqu’à des séances de bdsm. L’atmosphère chaleureuse et confortable du salon Delicious vous invite à toutes sortes de jeux érotiques. De plus, pour votre plus grand confort, une place de parking est mise à votre disposition devant le bâtiment, afin que vous puissiez profiter pleinement de votre expérience sans tracas. Au Club Delicious, l’objectif est de vous offrir un moment exceptionnel avec les plus belles masseuses indépendantes de Genève. N’hésitez pas à leur rendre visite pour un moment de relaxation inoubliable. Votre bien-être est leur priorité, et ont hâte de vous choyer dans le monde de l’érotisme. Club Lounge – SPA au délicious : L’art du plaisir et de la détente Entrez dans un univers unique, raffiné et envoûtant. Niché dans un cadre naturel d’exception, notre Club Lounge vous accueille dans une ambiance chic, glamour et sensuelle. La détente et au plaisir : sauna en bois d’acacia, jacuzzi bouillonnant, bain turc enveloppant, billard, salons privés intimes, vestiaires sécurisés, douches et toilettes à disposition. Tout a été pensé pour votre confort. Un lieu discret… au bord de l’eau À seulement quelques minutes du centre de Genève, notre établissement se situe à Veyrier, dans un écrin de verdure au bord de l’eau. Facile d’accès, il offre une discrétion absolue et un grand parking réservé à notre clientèle. Un voiturier est à votre service – gratuitement – pour encore plus de confort. Le bus n°8 s’arrête juste devant, arrêt « Pont de Sierne ». 11 chambres à thèmes pour explorer tous vos désirs Laissez libre cours à vos envies dans l’une de nos 11 chambres à thème, entièrement pensées pour éveiller vos sens. Chaque espace est soigneusement décoré pour vous offrir un moment unique, dans une hygiène irréprochable et une ambiance irrésistiblement sexy. Sélection Arrivée cette semaine Juste arrivée @media only screen and (min-width : 1200px) { #block_HFctzLG .food-menu-items { grid-template-columns: repeat(2, 1fr); } } @media (min-width:768px) and (max-width:1200px) { #block_HFctzLG .food-menu-items { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width : 768px) { #block_HFctzLG .food-menu-items { grid-template-columns: repeat(1, 1fr); } } Location © Mapbox © OpenStreetMap Improve this map Route Du Pas-De-L'échelle 2, 1255 Veyrier, Suisse Obtenir un itinéraire Pas encore de commentaires. Ajouter un commentaire Laisser un commentaire · Annuler la réponseVotre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec * Your Rating Nom Courriel Votre message Enregistrer mon nom, mon adresse électronique et mon site web dans ce navigateur pour la prochaine fois que je ferai un commentaire. Soumettre un avis Alternative:WPA body[data-active-tab="le-salon"] .listing-tab { display: none; } body[data-active-tab="le-salon"] #listing_tab_le-salon { display: block; } body[data-active-tab="les-avis"] .listing-tab { display: none; } body[data-active-tab="les-avis"] #listing_tab_les-avis { display: block; } Cela pourrait également vous intéresser Catalan Club Switzerland Promoted Rue des Alpes 11 Massage Tantrique toute nue Promoted Sierre Rose Wednesday Grand' Rue Meetgirl est le site de référence en Suisse d’annonces érotiques. Le seul site de référence avec annonces certifiées, vidéos et géolocalisation. ANNONCES GRATUITES Conditions générales CGU Engagement et ressources Nos partenaires Devenir partenaire Meetgirl Contact Communiqué de presse « On Tour » On a testé pour vous News – Blog Insérer une annonce gratuitement FR_FR FR_FR EN DE IT ES // need to have the same with set from JS on both divs. Otherwise it can push stuff around in HTML var trp_ls_shortcodes = document.querySelectorAll('.trp_language_switcher_shortcode .trp-language-switcher'); if ( trp_ls_shortcodes.length > 0) { // get the last language switcher added var trp_el = trp_ls_shortcodes[trp_ls_shortcodes.length - 1]; var trp_shortcode_language_item = trp_el.querySelector( '.trp-ls-shortcode-language' ) // set width var trp_ls_shortcode_width = trp_shortcode_language_item.offsetWidth + 16; trp_shortcode_language_item.style.width = trp_ls_shortcode_width + 'px'; trp_el.querySelector( '.trp-ls-shortcode-current-language' ).style.width = trp_ls_shortcode_width + 'px'; // We're putting this on display: none after we have its width. trp_shortcode_language_item.style.display = 'none'; } Instagram LES ESCORTES A GENEVE Escort coquine à Genève Escort française à Genève Escort métisse à Genève Escort discrète à Genève Escort soumise à Genève Escort dominatrice à Genève Escort pute à Genève Escort blonde à Genève Escort prostituée à Genève Escort trans à Genève LES ESCORTES PAR QUARTIER DE GENEVE Escort Genève Escort aux Eaux-Vives Escort quartier Paquis LES MASSAGES EROTIQUES A GENEVE Massage Tantra à Genève Massage Lingam à Genève Massage Nuru à Genève Massage Prostatique à Genève Massage Sexuel à Genève Massage body-body à Genève SERVICES SEXUELS A GENEVE Facesitting à GenèveFétiches Sexuels à GenèveSexe Anal et Sodomie à GenèveGorge Profonde à GenèveEjaculation faciale à GenèveFellation à GenèveSoumission à GenèveMassages Érotiques à GenèveDouche dorée à GenèveBranlette Espagnole à GenèveAnulingus à Genève ESCORT SUISSE RENCONTRE EROTIQUE SUISSE MEETGIRL ON TOUR Meetgirl On Tour GenèveMeetgirl on Tour LausanneMeegirl save the dateMeetgirl On Tour Samedi LES ESCORTES A LAUSANNE Escort LausanneEscort coquine à LausanneEscort française à LausanneEscort métisse à LausanneEscort discrète à LausanneEscort soumise à LausanneEscort dominatrice à LausanneEscort Latex à LausanneEscort pute à LausanneEscort blonde à LausanneEscort prostituée à LausanneEscort avec gros seins à LausanneEscort fessier rebondi à LausanneEscort Trans LausanneEscort Trans dominatrice à Lausanne LES MASSAGES EROTIQUES A LAUSANNE Massage Tantra à LausanneMassage Lingam à LausanneMassage Nuru à LausanneMassage Prostatique à LausanneMassage sexuel à LausanneMassage Body-body à LausanneMassage érotique à Lausanne LES ESCORTS PAR QUARTIER DANS LE CANTON DE VAUD Escort à RenensEscort à YverdonEscort à PayerneEscort à MontreuxEscort à NyonEscort GlandEscort à Vevey SERVICES SEXUELS A LAUSANNE Facesitting à LausanneFétiches Sexuels à LausanneSexe anal et sodomie à LausanneGorge Profonde à LausanneEjaculation faciale à LausanneFellation à LausanneAnulingus à LausanneSoumission à LausanneMassage érotique à LausanneDouche dorée à LausanneFétishisme des pieds à LausanneBondage à LausanneShibari LausannePegging à LausanneSpanking à Lausanne69 à Lausanne LES ESCORTES EN VALAIS Escort ValaisEscort coquine en ValaisEscort discrète en ValaisEscort soumise en ValaisEscort dominatrice en ValaisEscort pute en ValaisEscort blonde en ValaisEscort prostituée en ValaisEscort avec gros seins en ValaisEscort Trans En Valais LES MASSAGES EROTIQUES EN VALAIS Massage sexuel en ValaisMassage sensuel en ValaisMassage érotique en valais LES ESCORTS PAR QUARTIER EN VALAIS Escort à SionEscort à SierreEscort à Martigny LES ESCORTES A FRIBOURG Escort coquine à FribourgEscort discrète à FribourgEscort soumise à FribourgEscort dominatrice à FribourgEscort pute à FribourgEscort blonde à FribourgEscort prostituée à FribourgEscort trans à Fribourg LES MASSAGES EROTIQUES A FRIBOURG Massage sexuel à FribourgMassage sensuel à FribourgMassage érotique à Fribourg LES ESCORTS PAR QUARTIER A FRIBOURG Escort FribourgEscort à BulleEscort ville de FribourgEscort Berne Panier Votre panier est vide. <div class="mylisting-dialog-wrapper"> <div class="mylisting-dialog"> <div class="mylisting-dialog--message"></div><!-- --><div class="mylisting-dialog--actions"> <div class="mylisting-dialog--dismiss mylisting-dialog--action">Rejeter</div> <div class="mylisting-dialog--loading mylisting-dialog--action hide"> <div class="paper-spinner " style="width: 24px; height: 24px;"> <div class="spinner-container active"> <div class="spinner-layer layer-1" style="border-color: #777;"> <div class="circle-clipper left"> <div class="circle" style="border-width: 2.5px;"></div> </div><div class="gap-patch"> <div class="circle" style="border-width: 2.5px;"></div> </div><div class="circle-clipper right"> <div class="circle" style="border-width: 2.5px;"></div> </div> </div> </div> </div> </div> </div> </div> </div> .c27-main-header .logo img { height: 38px; }@media screen and (max-width: 1200px) { .c27-main-header .logo img { height: 50px; } }@media screen and (max-width: 480px) { .c27-main-header .logo img { height: 40px; } }.c27-main-header:not(.header-scroll) .header-skin { background: #891c31 }.c27-main-header.header-scroll .header-skin{ background: #891c31 !important; }.c27-main-header.header-scroll .header-skin { border-bottom: 1px solid #891c31 !important; } .details-list .li_QJpkHkx a:hover i, .details-list .li_QJpkHkx a:hover .term-icon { background-color: #f67675 !important; border-color: #f67675 !important; color: #fff; }.details-list .li_aWKqPYh a:hover i, .details-list .li_aWKqPYh a:hover .term-icon { background-color: #f67675 !important; border-color: #f67675 !important; color: #fff; }.details-list .li_FPbR2BT a:hover i, .details-list .li_FPbR2BT a:hover .term-icon { background-color: #f67675 !important; border-color: #f67675 !important; color: #fff; }.details-list .li_GsltJjH a:hover i, .details-list .li_GsltJjH a:hover .term-icon { background-color: #f67675 !important; border-color: #f67675 !important; color: #fff; }.details-list .li_4oU5PdS a:hover i, .details-list .li_4oU5PdS a:hover .term-icon { background-color: #f67675 !important; border-color: #f67675 !important; color: #fff; } <a aria-label="Marqueur cartographique du bloc de localisation" href="#" class="marker-icon"> <div class="marker-img" style="background-image: url({{marker-bg}});"></div> </a> <div class="cts-marker-pin"> <img alt="Épingle de repérage cartographique" src="https://meetgirl.ch/wp-content/themes/my-listing/assets/images/pin.png"> </div> <div class="cts-geoloc-marker"></div> <a aria-label="Marqueur de carte de la page d'exploration" href="#" class="marker-icon {{listing-id}}"> {{icon}} <div class="marker-img" style="background-image: url({{marker-bg}});"></div> </a> /* <![CDATA[ */ var hasJetBlogPlaylist = 0; /* ]]> */ {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/my-listing-child/*","/wp-content/themes/my-listing/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} We've detected you might be speaking a different language. Do you want to change to: DE FR_FR EN DE IT ES Change Language Close and do not switch language { "@context": "http://www.schema.org", "@type": "LocalBusiness", "@id": "https://meetgirl.ch/escorts/club-delicious-2/", "name": "Club Delicious", "legalName": "Club Delicious", "description": "<p>Tous les soirs de magnifiques h\u00f4tesses ind\u00e9pendantes</p>\n<p>Le salon Delicious est une v\u00e9ritable oasis de relaxation et de massages \u00e9rotiques (comprenant sexe oral, vaginal, anal et de tr\u00e8s nombreuses pratiques \u00e9rotiques) \u00e0 seulement 5 minutes du centre de Gen\u00e8ve.</p>\n<p>Il offre une gamme de massages exquis, dispens\u00e9s par des masseuses sexy en talons aiguilles et attentionn\u00e9es, dans un cadre \u00e9l\u00e9gant. Que vous ayez besoin d\u2019un bon massage \u00e9rotique apr\u00e8s une longue journ\u00e9e de travail ou que vous cherchiez \u00e0 soulager vos pulsions \u00e9rotiques, le salon Delicious r\u00e9pond \u00e0 vos besoins.</p>\n<p>Lorsque vous franchissez les portes de ce temple \u00e9rotique, vous \u00eates imm\u00e9diatement plong\u00e9 dans une ambiance de luxe discret, con\u00e7u pour vous faire oublier le stress quotidien. Les massages propos\u00e9s sont vari\u00e9s, allant du massage relaxant, id\u00e9al pour apaiser l\u2019esprit, au massage tha\u00ef traditionnel, en passant par le massage \u00e0 l\u2019huile parfum\u00e9e pour une exp\u00e9rience sensorielle unique, un massage sportif pour ceux en qu\u00eate de sensations plus intenses. Mais aussi toutes sortes de fantaisies tel que des massages sexuels jusqu\u2019\u00e0 des s\u00e9ances de bdsm.</p>\n<p>L\u2019atmosph\u00e8re chaleureuse et confortable du salon Delicious vous invite \u00e0 toutes sortes de jeux \u00e9rotiques.\u00a0 De plus, pour votre plus grand confort, une place de parking est mise \u00e0 votre disposition devant le b\u00e2timent, afin que vous puissiez profiter pleinement de votre exp\u00e9rience sans tracas.</p>\n<p>Au Club Delicious, l\u2019objectif est de vous offrir un moment exceptionnel avec les plus belles masseuses ind\u00e9pendantes de Gen\u00e8ve. N\u2019h\u00e9sitez pas \u00e0 leur rendre visite pour un moment de relaxation inoubliable. Votre bien-\u00eatre est leur priorit\u00e9, et\u00a0 ont h\u00e2te de vous choyer dans le monde de l\u2019\u00e9rotisme.</p>\n<p>Club Lounge \u2013 SPA au d\u00e9licious : L\u2019art du plaisir et de la d\u00e9tente<br />\nEntrez dans un univers unique, raffin\u00e9 et envo\u00fbtant. Nich\u00e9 dans un cadre naturel d\u2019exception, notre Club Lounge vous accueille dans une ambiance chic, glamour et sensuelle.<br />\nLa d\u00e9tente et au plaisir : sauna en bois d\u2019acacia, jacuzzi bouillonnant, bain turc enveloppant, billard, salons priv\u00e9s intimes, vestiaires s\u00e9curis\u00e9s, douches et toilettes \u00e0 disposition. Tout a \u00e9t\u00e9 pens\u00e9 pour votre confort.</p>\n<p>Un lieu discret\u2026 au bord de l\u2019eau<br />\n\u00c0 seulement quelques minutes du centre de Gen\u00e8ve, notre \u00e9tablissement se situe \u00e0 Veyrier, dans un \u00e9crin de verdure au bord de l\u2019eau. Facile d\u2019acc\u00e8s, il offre une discr\u00e9tion absolue et un grand parking r\u00e9serv\u00e9 \u00e0 notre client\u00e8le.<br />\nUn voiturier est \u00e0 votre service \u2013 gratuitement \u2013 pour encore plus de confort.<br />\nLe bus n\u00b08 s\u2019arr\u00eate juste devant, arr\u00eat \u00ab Pont de Sierne \u00bb.</p>\n<p>11 chambres \u00e0 th\u00e8mes pour explorer tous vos d\u00e9sirs<br />\nLaissez libre cours \u00e0 vos envies dans l\u2019une de nos 11 chambres \u00e0 th\u00e8me, enti\u00e8rement pens\u00e9es pour \u00e9veiller vos sens. Chaque espace est soigneusement d\u00e9cor\u00e9 pour vous offrir un moment unique, dans une hygi\u00e8ne irr\u00e9prochable et une ambiance irr\u00e9sistiblement sexy.</p>\n", "logo": [ "https://meetgirl.ch/wp-content/uploads/listing-uploads/logo/2025/06/delicious.jpg" ], "url": "https://meetgirl.ch/escorts/club-delicious-2/", "telephone": "+41227840787", "openingHours": [ "Mo 21:00-06:00" ], "photo": [ "https://meetgirl.ch/wp-content/uploads/2025/06/delicious-web.jpg" ], "image": [ "https://meetgirl.ch/wp-content/uploads/2025/06/delicious-web.jpg" ], "photos": [ "https://meetgirl.ch/wp-content/uploads/listing-uploads/gallery/2025/06/Club-delicious-billard-768x576-1.jpg", "https://meetgirl.ch/wp-content/uploads/listing-uploads/gallery/2025/06/Club-delicious-billard-geneve-768x576-1.jpg", "https://meetgirl.ch/wp-content/uploads/listing-uploads/gallery/2025/06/club-delicious-geneve-party-768x512-1.jpg" ], "hasMap": "https://www.google.com/maps/@46.17886,6.18201z", "address": { "address": "Route Du Pas-De-L'\u00e9chelle 2, 1255 Veyrier, Suisse", "lat": "46.17886", "lng": "6.18201" }, "contactPoint": { "@type": "ContactPoint", "contactType": "customer support", "telephone": "+41227840787" }, "geo": { "@type": "GeoCoordinates", "latitude": "46.17886", "longitude": "6.18201" } } <li :id="'jet-mobile-menu-item-'+itemDataObject.itemId" :class="itemClasses" > <div class="jet-mobile-menu__item-inner" tabindex="0" :aria-label="itemDataObject.name" aria-expanded="false" v-on:click="itemSubHandler" v-on:keyup.enter="itemSubHandler" > <a :class="itemLinkClasses" :href="itemDataObject.url" :rel="itemDataObject.xfn" :title="itemDataObject.attrTitle" :target="itemDataObject.target" > <div class="jet-menu-item-wrapper"> <div class="jet-menu-icon" v-if="isIconVisible" v-html="itemIconHtml" ></div> <div class="jet-menu-name"> <span class="jet-menu-label" v-if="isLabelVisible" v-html="itemDataObject.name" ></span> <small class="jet-menu-desc" v-if="isDescVisible" v-html="itemDataObject.description" ></small> </div> <div class="jet-menu-badge" v-if="isBadgeVisible" > <div class="jet-menu-badge__inner" v-html="itemDataObject.badgeContent"></div> </div> </div> </a> <span class="jet-dropdown-arrow" v-if="isSub && !templateLoadStatus" v-html="dropdownIconHtml" v-on:click="markerSubHandler" > </span> <div class="jet-mobile-menu__template-loader" v-if="templateLoadStatus" > <svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="24px" height="25px" viewBox="0 0 128 128" xml:space="preserve"> <g> <linearGradient :id="'linear-gradient-'+itemDataObject.itemId"> <stop offset="0%" :stop-color="loaderColor" stop-opacity="0"/> <stop offset="100%" :stop-color="loaderColor" stop-opacity="1"/> </linearGradient> <path d="M63.85 0A63.85 63.85 0 1 1 0 63.85 63.85 63.85 0 0 1 63.85 0zm.65 19.5a44 44 0 1 1-44 44 44 44 0 0 1 44-44z" :fill="'url(#linear-gradient-'+itemDataObject.itemId+')'" fill-rule="evenodd"/> <animateTransform attributeName="transform" type="rotate" from="0 64 64" to="360 64 64" dur="1080ms" repeatCount="indefinite"></animateTransform> </g> </svg> </div> </div> <transition name="menu-container-expand-animation"> <mobile-menu-list v-if="isDropdownLayout && subDropdownVisible" :depth="depth+1" :children-object="itemDataObject.children" ></mobile-menu-list> </transition> </li> <div class="jet-mobile-menu__list" role="navigation" > <ul class="jet-mobile-menu__items"> <mobile-menu-item v-for="(item, index) in childrenObject" :key="item.id" :item-data-object="item" :depth="depth" ></mobile-menu-item> </ul> </div> <div :class="instanceClass" v-on:keyup.esc="escapeKeyHandler" > <div class="jet-mobile-menu__toggle" role="button" ref="toggle" tabindex="0" aria-label="Open/Close Menu" aria-expanded="false" v-on:click="menuToggle" v-on:keyup.enter="menuToggle" > <div class="jet-mobile-menu__template-loader" v-if="toggleLoaderVisible" > <svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="24px" height="25px" viewBox="0 0 128 128" xml:space="preserve"> <g> <linearGradient :id="'linear-gradient-'+itemDataObject.itemId"> <stop offset="0%" :stop-color="loaderColor" stop-opacity="0"/> <stop offset="100%" :stop-color="loaderColor" stop-opacity="1"/> </linearGradient> <path d="M63.85 0A63.85 63.85 0 1 1 0 63.85 63.85 63.85 0 0 1 63.85 0zm.65 19.5a44 44 0 1 1-44 44 44 44 0 0 1 44-44z" :fill="'url(#linear-gradient-'+itemDataObject.itemId+')'" fill-rule="evenodd"/> <animateTransform attributeName="transform" type="rotate" from="0 64 64" to="360 64 64" dur="1080ms" repeatCount="indefinite"></animateTransform> </g> </svg> </div> <div class="jet-mobile-menu__toggle-icon" v-if="!menuOpen && !toggleLoaderVisible" v-html="toggleClosedIcon" ></div> <div class="jet-mobile-menu__toggle-icon" v-if="menuOpen && !toggleLoaderVisible" v-html="toggleOpenedIcon" ></div> <span class="jet-mobile-menu__toggle-text" v-if="toggleText" v-html="toggleText" ></span> </div> <transition name="cover-animation"> <div class="jet-mobile-menu-cover" v-if="menuContainerVisible && coverVisible" v-on:click="closeMenu" ></div> </transition> <transition :name="showAnimation"> <div class="jet-mobile-menu__container" v-if="menuContainerVisible" > <div class="jet-mobile-menu__container-inner" > <div class="jet-mobile-menu__header-template" v-if="headerTemplateVisible" > <div class="jet-mobile-menu__header-template-content" ref="header-template-content" v-html="headerContent" ></div> </div> <div class="jet-mobile-menu__controls" v-if="isBreadcrumbs || isBack || isClose" > <div class="jet-mobile-menu__breadcrumbs" v-if="isBreadcrumbs" > <div class="jet-mobile-menu__breadcrumb" v-for="(item, index) in breadcrumbsPathData" :key="index" > <div class="breadcrumb-label" v-on:click="breadcrumbHandle(index+1)" v-html="item" ></div> <div class="breadcrumb-divider" v-html="breadcrumbIcon" v-if="(breadcrumbIcon && index !== breadcrumbsPathData.length-1)" ></div> </div> </div> <div class="jet-mobile-menu__back" role="button" ref="back" tabindex="0" aria-label="Close Menu" aria-expanded="false" v-if="!isBack && isClose" v-html="closeIcon" v-on:click="menuToggle" v-on:keyup.enter="menuToggle" ></div> <div class="jet-mobile-menu__back" role="button" ref="back" tabindex="0" aria-label="Back to Prev Items" aria-expanded="false" v-if="isBack" v-html="backIcon" v-on:click="goBack" v-on:keyup.enter="goBack" ></div> </div> <div class="jet-mobile-menu__before-template" v-if="beforeTemplateVisible" > <div class="jet-mobile-menu__before-template-content" ref="before-template-content" v-html="beforeContent" ></div> </div> <div class="jet-mobile-menu__body" > <transition :name="animation"> <mobile-menu-list v-if="!templateVisible" :key="depth" :depth="depth" :children-object="itemsList" ></mobile-menu-list> <div class="jet-mobile-menu__template" ref="template-content" v-if="templateVisible" > <div class="jet-mobile-menu__template-content" v-html="itemTemplateContent" ></div> </div> </transition> </div> <div class="jet-mobile-menu__after-template" v-if="afterTemplateVisible" > <div class="jet-mobile-menu__after-template-content" ref="after-template-content" v-html="afterContent" ></div> </div> </div> </div> </transition> </div> var snp_f = []; var snp_hostname = new RegExp(location.host); var snp_http = new RegExp("^(http|https)://", "i"); var snp_cookie_prefix = ''; var snp_separate_cookies = false; var snp_ajax_url = 'https://meetgirl.ch/wp-admin/admin-ajax.php'; var snp_domain_url = 'https://meetgirl.ch'; var snp_ajax_nonce = '94743c6f24'; var snp_ajax_ping_time = 1000; var snp_ignore_cookies = false; var snp_enable_analytics_events = false; var snp_is_mobile = false; var snp_enable_mobile = true; var snp_use_in_all = false; var snp_excluded_urls = []; var snp_close_on_esc_key = false; snp_excluded_urls.push(''); (function () { var c = document.body.className; c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); document.body.className = c; })(); jQuery(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Fermer","currentText":"Aujourd\u2019hui","monthNames":["janvier","f\u00e9vrier","mars","avril","mai","juin","juillet","ao\u00fbt","septembre","octobre","novembre","d\u00e9cembre"],"monthNamesShort":["Jan","F\u00e9v","Mar","Avr","Mai","Juin","Juil","Ao\u00fbt","Sep","Oct","Nov","D\u00e9c"],"nextText":"Suivant","prevText":"Pr\u00e9c\u00e9dent","dayNames":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"dayNamesShort":["dim","lun","mar","mer","jeu","ven","sam"],"dayNamesMin":["D","L","M","M","J","V","S"],"dateFormat":"d MM yy","firstDay":1,"isRTL":false});}); //# sourceURL=jquery-ui-datepicker-js-after var eio_lazy_vars = {"exactdn_domain":"","skip_autoscale":0,"threshold":0,"use_dpr":1}; //# sourceURL=eio-lazy-load-js-before wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); //# sourceURL=wp-i18n-js-after ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "contact-form-7", {"translation-revision-date":"2025-02-06 12:02:14+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n > 1;","lang":"fr"},"This contact form is placed in the wrong place.":["Ce formulaire de contact est plac\u00e9 dans un mauvais endroit."],"Error:":["Erreur\u00a0:"]}},"comment":{"reference":"includes\/js\/index.js"}} ); //# sourceURL=contact-form-7-js-translations var wpcf7 = { "api": { "root": "https:\/\/meetgirl.ch\/wp-json\/", "namespace": "contact-form-7\/v1" } }; //# sourceURL=contact-form-7-js-before wpa_field_info = {"wpa_field_name":"mtrxuy3800","wpa_field_value":172783,"wpa_add_test":"no"} //# sourceURL=wpascript-js-after var jetMenuPublicSettings = {"version":"2.4.15","ajaxUrl":"https://meetgirl.ch/wp-admin/admin-ajax.php","isMobile":"false","getElementorTemplateApiUrl":"https://meetgirl.ch/wp-json/jet-menu-api/v2/get-elementor-template-content","getBlocksTemplateApiUrl":"https://meetgirl.ch/wp-json/jet-menu-api/v2/get-blocks-template-content","menuItemsApiUrl":"https://meetgirl.ch/wp-json/jet-menu-api/v2/get-menu-items","restNonce":"dfafbe0cc5","devMode":"false","wpmlLanguageCode":"","menuSettings":{"jetMenuRollUp":"false","jetMenuMouseleaveDelay":"500","jetMenuMegaWidthType":"container","jetMenuMegaWidthSelector":"","jetMenuMegaOpenSubType":"hover","jetMenuMegaAjax":"false"}}; //# sourceURL=jet-menu-public-scripts-js-extra function CxCSSCollector(){"use strict";var t,e=window.CxCollectedCSS;void 0!==e&&((t=document.createElement("style")).setAttribute("title",e.title),t.setAttribute("type",e.type),t.textContent=e.css,document.head.appendChild(t))}CxCSSCollector(); //# sourceURL=jet-menu-public-scripts-js-after var jetPopupData = {"version":"2.0.18","ajax_url":"https://meetgirl.ch/wp-admin/admin-ajax.php","isElementor":"true"}; //# sourceURL=jet-popup-frontend-js-extra var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https://meetgirl.ch/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}}; //# sourceURL=wc-order-attribution-js-extra moment.updateLocale( 'fr_FR', {"months":["janvier","f\u00e9vrier","mars","avril","mai","juin","juillet","ao\u00fbt","septembre","octobre","novembre","d\u00e9cembre"],"monthsShort":["Jan","F\u00e9v","Mar","Avr","Mai","Juin","Juil","Ao\u00fbt","Sep","Oct","Nov","D\u00e9c"],"weekdays":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"weekdaysShort":["dim","lun","mar","mer","jeu","ven","sam"],"week":{"dow":1},"longDateFormat":{"LT":"G\\hi","LTS":null,"L":null,"LL":"j F Y","LLL":"d F Y G\\hi","LLLL":null}} ); //# sourceURL=moment-js-after window.MyListing_Moment_Locale = 'fr'; //# sourceURL=moment-locale-fr-js-after var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Partager sur Facebook","shareOnTwitter":"Partager sur Twitter","pinIt":"L\u2019\u00e9pingler","download":"T\u00e9l\u00e9charger","downloadImage":"T\u00e9l\u00e9charger une image","fullscreen":"Plein \u00e9cran","zoom":"Zoom","share":"Partager","playVideo":"Lire la vid\u00e9o","previous":"Pr\u00e9c\u00e9dent","next":"Suivant","close":"Fermer","a11yCarouselPrevSlideMessage":"Diapositive pr\u00e9c\u00e9dente","a11yCarouselNextSlideMessage":"Diapositive suivante","a11yCarouselFirstSlideMessage":"Ceci est la premi\u00e8re diapositive","a11yCarouselLastSlideMessage":"Ceci est la derni\u00e8re diapositive","a11yCarouselPaginationBulletMessage":"Aller \u00e0 la diapositive"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Portrait mobile","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Paysage","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablette en mode portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablette en mode paysage","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Portable","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"\u00c9cran large","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"3.32.3","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"nested-elements":true,"home_screen":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"cloud-library":true,"e_opt_in_v4_page":true,"import-export-customization":true},"urls":{"assets":"https:\/\/meetgirl.ch\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/meetgirl.ch\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/meetgirl.ch\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"90a29f1bf2"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":7630,"title":"Club%20Delicious%20%E2%80%93%20Salon%20%C3%A9rotique%20haut%20de%20gamme%20%C3%A0%20Gen%C3%A8ve","excerpt":"","featuredImage":"https:\/\/meetgirl.ch\/wp-content\/uploads\/2025\/06\/delicious-web-1024x576.jpg"}}; //# sourceURL=elementor-frontend-js-before var wc_cart_fragments_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","cart_hash_key":"wc_cart_hash_5ec4602bb995e26a2d5f164f485aa6f8","fragment_name":"wc_fragments_5ec4602bb995e26a2d5f164f485aa6f8","request_timeout":"5000"}; //# sourceURL=wc-cart-fragments-js-extra var jetElements = {"ajaxUrl":"https://meetgirl.ch/wp-admin/admin-ajax.php","isMobile":"false","templateApiUrl":"https://meetgirl.ch/wp-json/jet-elements-api/v1/elementor-template","devMode":"false","messages":{"invalidMail":"Please specify a valid e-mail"}}; //# sourceURL=jet-elements-js-extra var JetBlogSettings = {"ajaxurl":"https://meetgirl.ch/escorts/club-delicious-2/?nocache=1782254938&jet_blog_ajax=1"}; //# sourceURL=jet-blog-js-extra (function() { function isMobileNow() { return window.innerWidth <= 767; } function patchIsotope() { if (!window.jQuery) return; var $ = window.jQuery; var orig = $.fn.isotope; if (!orig || $.fn.isotope.__mgSafeV4) return; $.fn.isotope = function() { if (isMobileNow()) return this; return orig.apply(this, arguments); }; $.fn.isotope.__mgSafeV4 = true; } if (window.jQuery) { patchIsotope(); } else { var waitJq = setInterval(function() { if (window.jQuery) { patchIsotope(); clearInterval(waitJq); } }, 30); } })(); document.addEventListener('DOMContentLoaded', function() { function isMobile() { return window.innerWidth <= 767; } function cleanText(s) { return (s || '') .replace(/[\u202F\u00A0]/g, ' ') .replace(/\s+/g, ' ') .trim(); } function normalize(s) { return cleanText(s) .toLowerCase() .normalize('NFD') .replace(/[\u0300-\u036f]/g, '') .replace(/[.,]/g, '') .trim(); } function looksLikeStreet(s) { var n = normalize(s); return /\b(rue|route|avenue|av|chemin|ch|boulevard|bd|place|pl|quai|impasse|allee|cours|strasse|straße|weg|gasse|platz)\b/.test(n); } function detectCanton(text) { var n = normalize(text); var map = { 'geneve':'GE','vaud':'VD','valais':'VS','wallis':'VS','fribourg':'FR','freiburg':'FR', 'berne':'BE','bern':'BE','zurich':'ZH','zuerich':'ZH','neuchatel':'NE','jura':'JU', 'tessin':'TI','ticino':'TI','grisons':'GR','graubunden':'GR','lucerne':'LU','luzern':'LU', 'soleure':'SO','solothurn':'SO','argovie':'AG','aargau':'AG','thurgovie':'TG','thurgau':'TG', 'saint-gall':'SG','st-gallen':'SG','schaffhouse':'SH','schaffhausen':'SH','schwyz':'SZ', 'uri':'UR','glaris':'GL','glarus':'GL','zoug':'ZG','zug':'ZG','bale-ville':'BS', 'basel-stadt':'BS','bale-campagne':'BL','basel-landschaft':'BL' }; for (var key in map) { if (n.indexOf(key) !== -1) return map[key]; } var m = cleanText(text).match(/\b(AG|AI|AR|BE|BL|BS|FR|GE|GL|GR|JU|LU|NE|NW|OW|SG|SH|SO|SZ|TG|TI|UR|VD|VS|ZG|ZH)\b/i); return m ? m[1].toUpperCase() : ''; } function extractCity(address) { var raw = cleanText(address); if (!raw) return ''; var parts = raw.split(',').map(cleanText).filter(Boolean); for (var i = 0; i < parts.length; i++) { var p = parts[i]; if (looksLikeStreet(p)) continue; if (/suisse|switzerland|schweiz/i.test(p)) continue; if (/canton/i.test(p)) continue; if (/^\d{4}$/.test(p)) continue; return p; } return ''; } function getLocation(card) { try { var dl = card.getAttribute('data-locations'); if (!dl || dl === 'false') return ''; var arr = JSON.parse(dl); if (!arr[0] || !arr[0].address) return ''; var address = arr[0].address; var city = extractCity(address); var canton = detectCanton(address); if (city && canton) return city + ', ' + canton; if (city) return city; if (canton) return canton; return ''; } catch(e) { return ''; } } function getStatus(card) { var status = card.querySelector('.codicts-online-status'); if (status) { var txt = cleanText(status.textContent); return { text: txt || 'Online', online: !!status.querySelector('.cdtsols-online') || /online/i.test(txt) }; } var all = cleanText(card.textContent); if (/online/i.test(all)) return { text: 'Online', online: true }; if (/-24h/i.test(all)) return { text: '-24H', online: false }; return null; } function getSlogan(card) { var blocks = card.querySelectorAll('.listing-details-3.c27-footer-section'); var loc = getLocation(card); for (var i = blocks.length - 1; i >= 0; i--) { var txt = cleanText(blocks[i].textContent); if (!txt) continue; if (/online|-24h|offline/i.test(txt)) continue; if (txt === loc) continue; if (looksLikeStreet(txt)) continue; if (/suisse|switzerland|canton/i.test(txt)) continue; if (txt.length > 90) continue; return txt; } return ''; } function injectVerified(card) { var anchor = card.querySelector('.lf-item > a'); if (!anchor) return; var old = anchor.querySelector('.mg-verified-badge'); if (old) old.remove(); var native = card.querySelector('.verified-listing') || card.querySelector('img[src*="tick.svg"]'); if (!native) return; var img = document.createElement('img'); img.className = 'mg-verified-badge'; img.src = native.getAttribute('src') || 'https://meetgirl.ch/wp-content/themes/my-listing/assets/images/tick.svg'; img.alt = 'Profil vérifié'; img.width = 22; img.height = 22; anchor.appendChild(img); } function injectLocation(card) { var info = card.querySelector('.lf-item-info'); if (!info) return; var old = info.querySelector('.mg-location-on-image'); if (old) old.remove(); var loc = getLocation(card); if (!loc) return; var span = document.createElement('span'); span.className = 'mg-location-on-image'; span.textContent = loc; info.appendChild(span); } function rebuildBottom(card) { var blocks = card.querySelectorAll('.listing-details-3.c27-footer-section'); if (!blocks.length) return; var first = blocks[0]; var slogan = getSlogan(card); var status = getStatus(card); for (var i = 0; i < blocks.length; i++) { blocks[i].classList.remove('mg-main-details'); } first.classList.add('mg-main-details'); first.innerHTML = ''; if (slogan) { var p = document.createElement('p'); p.className = 'mg-slogan-below'; p.textContent = slogan; first.appendChild(p); } if (status) { var wrap = document.createElement('div'); wrap.className = 'mg-online-below'; var dot = document.createElement('span'); dot.className = 'mg-online-dot ' + (status.online ? 'online' : 'offline'); var label = document.createElement('span'); label.className = 'mg-online-text'; label.textContent = status.text; wrap.appendChild(dot); wrap.appendChild(label); first.appendChild(wrap); } card.classList.add('mg-processed'); } function fixGrid() { if (!isMobile()) return; var grid = document.querySelector('.results-view.grid'); if (!grid) return; grid.querySelectorAll('.grid-item').forEach(function(item, index) { item.style.setProperty('position', 'relative', 'important'); item.style.setProperty('left', 'auto', 'important'); item.style.setProperty('top', 'auto', 'important'); item.style.setProperty('width', 'calc(50% - 4px)', 'important'); item.style.setProperty('margin', '0 0 8px 0', 'important'); item.style.setProperty('padding', '0', 'important'); item.style.setProperty('clear', 'none', 'important'); item.style.setProperty('box-sizing', 'border-box', 'important'); item.style.setProperty('float', index % 2 === 0 ? 'left' : 'right', 'important'); }); grid.style.setProperty('height', 'auto', 'important'); grid.style.setProperty('overflow', 'hidden', 'important'); grid.style.setProperty('display', 'block', 'important'); grid.style.setProperty('position', 'relative', 'important'); var parent = grid.parentElement; if (parent) { parent.style.setProperty('height', 'auto', 'important'); parent.style.setProperty('overflow', 'visible', 'important'); } } function process(card) { injectVerified(card); if (isMobile()) { injectLocation(card); rebuildBottom(card); } } function runAll() { document.querySelectorAll('.lf-item-container.listing-preview').forEach(process); fixGrid(); } var timer = null; function schedule(delay) { if (timer) clearTimeout(timer); timer = setTimeout(runAll, delay || 150); } runAll(); window.addEventListener('load', function() { runAll(); setTimeout(runAll, 300); setTimeout(runAll, 800); setTimeout(runAll, 1500); }); window.addEventListener('resize', function() { schedule(150); }); if (window.jQuery) { window.jQuery(document).on('mylisting:explore:request-complete', function() { setTimeout(runAll, 150); setTimeout(runAll, 500); setTimeout(runAll, 1200); }); } var obs = new MutationObserver(function() { schedule(200); }); var grid = document.querySelector('.results-view.grid'); if (grid) { obs.observe(grid, { childList: true, subtree: true }); } }); document.addEventListener('DOMContentLoaded', function () { const PACK_IDS = { PREMIUM: 6061, GOLD: 21426, EXPRESS: 166, FREE: 6056 }; function getLang() { const htmlLang = (document.documentElement.getAttribute('lang') || 'fr').toLowerCase(); if (htmlLang.startsWith('de')) return 'de'; if (htmlLang.startsWith('en')) return 'en'; if (htmlLang.startsWith('it')) return 'it'; if (htmlLang.startsWith('es')) return 'es'; return 'fr'; } const lang = getLang(); const I18N = { fr: { detailOpen: 'Détail de l’offre', detailClose: 'Masquer le détail', badges: { premium: 'Recommandé', gold: 'Maxi visibilité', express: 'Boost 7 jours', free: 'Sans frais' }, packs: { premium: { name: 'Pack Premium', hook: 'Avant les annonces gratuites', subhook: 'Girl of the day, push quotidien et vraie visibilité pendant 30 jours', summary: '30 jours · photos illimitées · vidéos illimitées · avant les annonces gratuites', detail: [ 'Avant les annonces gratuites', 'Girl of the day', 'Push quotidien', 'Priorité renforcée dans les résultats', 'Photos illimitées', 'Vidéos illimitées' ], cta: 'Choisir Premium' }, gold: { name: 'Gold Homepage', hook: 'Girl of the day en 1ère position', subhook: 'La visibilité maximale avec les avantages du Premium + présence homepage', summary: '30 jours · homepage · photos illimitées · vidéos illimitées', detail: [ 'Les mêmes avantages que Premium', 'Avant les annonces gratuites', 'Girl of the day (1ère position)', 'Priorité maximale dans les résultats pendant 30 jours', 'Présence sur la homepage', 'Photos illimitées', 'Vidéos illimitées', 'Label « vérifié »' ], cta: 'Choisir Gold' }, express: { name: 'Boost Express', hook: 'Avant les annonces gratuites', subhook: 'Le coup de projecteur sur 7 jours pour remonter rapidement', summary: '7 jours · photos illimitées · vidéos illimitées · Girl of the day', detail: [ 'Même logique de visibilité que Premium sur une durée plus courte', '7 jours coup de projecteur', 'Avant les annonces gratuites', 'Priorité pendant 7 jours', 'Girl of the day (1ère position)', 'Photos illimitées', 'Vidéos illimitées' ], cta: 'Choisir Express' }, free: { name: 'Gratuit', hook: 'Publier sans frais', subhook: 'Pour commencer simplement avec l’essentiel', summary: '1 annonce · 3 photos max · durée 15 jours', detail: [ '1 annonce', '3 photos', 'Durée : 15 jours', '<strong>Certification obligatoire</strong> : envoyer une photo de vous avec le mot meetgirl sur un papier pour montrer que c’est bien vous', 'Cette photo ne sera pas publiée', 'Seules les annonces certifiées et avec un numéro suisse seront publiées', 'Label « vérifié » obligatoire' ], cta: 'Publier gratuitement' } } }, en: { detailOpen: 'Offer details', detailClose: 'Hide details', badges: { premium: 'Recommended', gold: 'Maximum visibility', express: '7-day boost', free: 'Free' }, packs: { premium: { name: 'Premium Package', hook: 'Ahead of free listings', subhook: 'Girl of the day, daily push and real visibility for 30 days', summary: '30 days · unlimited photos · unlimited videos · ahead of free listings', detail: [ 'Ahead of free listings', 'Girl of the day', 'Daily push', 'Stronger priority in results', 'Unlimited photos', 'Unlimited videos' ], cta: 'Choose Premium' }, gold: { name: 'Gold Homepage', hook: 'Girl of the day in 1st position', subhook: 'Maximum visibility with Premium benefits + homepage presence', summary: '30 days · homepage · unlimited photos · unlimited videos', detail: [ 'All Premium benefits included', 'Ahead of free listings', 'Girl of the day (1st position)', 'Maximum priority in results for 30 days', 'Homepage presence', 'Unlimited photos', 'Unlimited videos', '“Verified” label' ], cta: 'Choose Gold' }, express: { name: 'Boost Express', hook: 'Ahead of free listings', subhook: 'A 7-day spotlight to move up fast', summary: '7 days · unlimited photos · unlimited videos · Girl of the day', detail: [ 'Same visibility logic as Premium over a shorter period', '7-day spotlight', 'Ahead of free listings', 'Priority for 7 days', 'Girl of the day (1st position)', 'Unlimited photos', 'Unlimited videos' ], cta: 'Choose Express' }, free: { name: 'Free', hook: 'Publish at no cost', subhook: 'A simple way to start with the essentials', summary: '1 listing · max 3 photos · 15 days', detail: [ '1 listing', '3 photos', 'Duration: 15 days', '<strong>Mandatory verification</strong>: send a photo of yourself with the word meetgirl written on paper to prove it is really you', 'This photo will not be published', 'Only verified listings with a Swiss phone number will be published', '“Verified” label required' ], cta: 'Publish for free' } } }, de: { detailOpen: 'Angebotsdetails', detailClose: 'Details ausblenden', badges: { premium: 'Empfohlen', gold: 'Maximale Sichtbarkeit', express: '7 Tage Boost', free: 'Kostenlos' }, packs: { premium: { name: 'Premium-Paket', hook: 'Vor kostenlosen Anzeigen', subhook: 'Girl of the day, täglicher Push und echte Sichtbarkeit für 30 Tage', summary: '30 Tage · unbegrenzte Fotos · unbegrenzte Videos · vor kostenlosen Anzeigen', detail: [ 'Vor kostenlosen Anzeigen', 'Girl of the day', 'Täglicher Push', 'Stärkere Priorität in den Ergebnissen', 'Unbegrenzte Fotos', 'Unbegrenzte Videos' ], cta: 'Premium wählen' }, gold: { name: 'Gold Homepage', hook: 'Girl of the day auf Platz 1', subhook: 'Maximale Sichtbarkeit mit allen Premium-Vorteilen + Homepage-Präsenz', summary: '30 Tage · Homepage · unbegrenzte Fotos · unbegrenzte Videos', detail: [ 'Alle Premium-Vorteile inklusive', 'Vor kostenlosen Anzeigen', 'Girl of the day (1. Position)', 'Maximale Priorität in den Ergebnissen für 30 Tage', 'Präsenz auf der Homepage', 'Unbegrenzte Fotos', 'Unbegrenzte Videos', '„Verifiziert“-Label' ], cta: 'Gold wählen' }, express: { name: 'Boost Express', hook: 'Vor kostenlosen Anzeigen', subhook: 'Das 7-Tage-Spotlight, um schnell nach oben zu kommen', summary: '7 Tage · unbegrenzte Fotos · unbegrenzte Videos · Girl of the day', detail: [ 'Gleiche Sichtbarkeitslogik wie Premium, aber kürzer', '7 Tage Spotlight', 'Vor kostenlosen Anzeigen', 'Priorität für 7 Tage', 'Girl of the day (1. Position)', 'Unbegrenzte Fotos', 'Unbegrenzte Videos' ], cta: 'Express wählen' }, free: { name: 'Kostenlos', hook: 'Kostenlos veröffentlichen', subhook: 'Einfach starten mit dem Wesentlichen', summary: '1 Anzeige · max. 3 Fotos · 15 Tage', detail: [ '1 Anzeige', '3 Fotos', 'Dauer: 15 Tage', '<strong>Pflicht-Verifizierung</strong>: Senden Sie ein Foto von sich mit dem Wort meetgirl auf einem Blatt Papier, um zu zeigen, dass Sie es wirklich sind', 'Dieses Foto wird nicht veröffentlicht', 'Nur verifizierte Anzeigen mit einer Schweizer Nummer werden veröffentlicht', '„Verifiziert“-Label erforderlich' ], cta: 'Kostenlos veröffentlichen' } } }, it: { detailOpen: 'Dettaglio dell’offerta', detailClose: 'Nascondi dettagli', badges: { premium: 'Consigliato', gold: 'Massima visibilità', express: 'Boost 7 giorni', free: 'Gratis' }, packs: { premium: { name: 'Pacchetto Premium', hook: 'Prima degli annunci gratuiti', subhook: 'Girl of the day, push quotidiano e vera visibilità per 30 giorni', summary: '30 giorni · foto illimitate · video illimitati · prima degli annunci gratuiti', detail: [ 'Prima degli annunci gratuiti', 'Girl of the day', 'Push quotidiano', 'Priorità rafforzata nei risultati', 'Foto illimitate', 'Video illimitati' ], cta: 'Scegli Premium' }, gold: { name: 'Gold Homepage', hook: 'Girl of the day in 1ª posizione', subhook: 'Massima visibilità con i vantaggi del Premium + presenza homepage', summary: '30 giorni · homepage · foto illimitate · video illimitati', detail: [ 'Tutti i vantaggi del Premium inclusi', 'Prima degli annunci gratuiti', 'Girl of the day (1ª posizione)', 'Priorità massima nei risultati per 30 giorni', 'Presenza sulla homepage', 'Foto illimitate', 'Video illimitati', 'Etichetta «verificato»' ], cta: 'Scegli Gold' }, express: { name: 'Boost Express', hook: 'Prima degli annunci gratuiti', subhook: 'Il colpo di visibilità di 7 giorni per risalire rapidamente', summary: '7 giorni · foto illimitate · video illimitati · Girl of the day', detail: [ 'Stessa logica di visibilità del Premium ma su durata più breve', '7 giorni di spinta', 'Prima degli annunci gratuiti', 'Priorità per 7 giorni', 'Girl of the day (1ª posizione)', 'Foto illimitate', 'Video illimitati' ], cta: 'Scegli Express' }, free: { name: 'Gratis', hook: 'Pubblica senza costi', subhook: 'Per iniziare in modo semplice con l’essenziale', summary: '1 annuncio · max 3 foto · 15 giorni', detail: [ '1 annuncio', '3 foto', 'Durata: 15 giorni', '<strong>Verifica obbligatoria</strong>: inviare una tua foto con la parola meetgirl scritta su un foglio per dimostrare che sei davvero tu', 'Questa foto non sarà pubblicata', 'Saranno pubblicati solo gli annunci verificati con un numero svizzero', 'Etichetta «verificato» obbligatoria' ], cta: 'Pubblica gratis' } } }, es: { detailOpen: 'Detalle de la oferta', detailClose: 'Ocultar detalle', badges: { premium: 'Recomendado', gold: 'Máxima visibilidad', express: 'Impulso 7 días', free: 'Gratis' }, packs: { premium: { name: 'Paquete Premium', hook: 'Antes de los anuncios gratuitos', subhook: 'Girl of the day, impulso diario y visibilidad real durante 30 días', summary: '30 días · fotos ilimitadas · vídeos ilimitados · antes de los anuncios gratuitos', detail: [ 'Antes de los anuncios gratuitos', 'Girl of the day', 'Impulso diario', 'Mayor prioridad en los resultados', 'Fotos ilimitadas', 'Vídeos ilimitados' ], cta: 'Elegir Premium' }, gold: { name: 'Gold Homepage', hook: 'Girl of the day en 1ª posición', subhook: 'Máxima visibilidad con las ventajas Premium + presencia en homepage', summary: '30 días · homepage · fotos ilimitadas · vídeos ilimitados', detail: [ 'Todas las ventajas de Premium incluidas', 'Antes de los anuncios gratuitos', 'Girl of the day (1ª posición)', 'Prioridad máxima en los resultados durante 30 días', 'Presencia en la homepage', 'Fotos ilimitadas', 'Vídeos ilimitados', 'Etiqueta «verificado»' ], cta: 'Elegir Gold' }, express: { name: 'Boost Express', hook: 'Antes de los anuncios gratuitos', subhook: 'El foco de 7 días para subir rápido', summary: '7 días · fotos ilimitadas · vídeos ilimitados · Girl of the day', detail: [ 'La misma lógica de visibilidad que Premium, pero por menos tiempo', 'Impulso de 7 días', 'Antes de los anuncios gratuitos', 'Prioridad durante 7 días', 'Girl of the day (1ª posición)', 'Fotos ilimitadas', 'Vídeos ilimitados' ], cta: 'Elegir Express' }, free: { name: 'Gratis', hook: 'Publica sin coste', subhook: 'Para empezar de forma simple con lo esencial', summary: '1 anuncio · máximo 3 fotos · 15 días', detail: [ '1 anuncio', '3 fotos', 'Duración: 15 días', '<strong>Verificación obligatoria</strong>: envía una foto tuya con la palabra meetgirl escrita en un papel para demostrar que realmente eres tú', 'Esta foto no será publicada', 'Solo se publicarán anuncios verificados con un número suizo', 'Etiqueta «verificado» obligatoria' ], cta: 'Publicar gratis' } } } }; const TXT = I18N[lang] || I18N.fr; function getPackageId(card) { if (!card) return null; const direct = [ card.getAttribute('data-package-id'), card.getAttribute('data-plan-id'), card.dataset.packageId, card.dataset.planId ].filter(Boolean); for (const v of direct) { const n = parseInt(v, 10); if (!isNaN(n)) return n; } const inputs = card.querySelectorAll('input, button, a, [data-package-id], [data-plan-id]'); for (const el of inputs) { const candidates = [ el.value, el.getAttribute && el.getAttribute('data-package-id'), el.getAttribute && el.getAttribute('data-plan-id'), el.getAttribute && el.getAttribute('data-id'), el.getAttribute && el.getAttribute('href'), el.getAttribute && el.getAttribute('onclick') ].filter(Boolean); for (const c of candidates) { const m = String(c).match(/\b(21426|6061|6056|166)\b/); if (m) return parseInt(m[1], 10); } } const html = card.innerHTML || ''; const m = html.match(/\b(21426|6061|6056|166)\b/); if (m) return parseInt(m[1], 10); return null; } function getPackKey(id) { if (id === PACK_IDS.PREMIUM) return 'premium'; if (id === PACK_IDS.GOLD) return 'gold'; if (id === PACK_IDS.EXPRESS) return 'express'; if (id === PACK_IDS.FREE) return 'free'; return null; } function scorePack(id) { if (id === PACK_IDS.PREMIUM) return 400; if (id === PACK_IDS.GOLD) return 300; if (id === PACK_IDS.EXPRESS) return 200; if (id === PACK_IDS.FREE) return 100; return 0; } function createEl(tag, className, html) { const el = document.createElement(tag); if (className) el.className = className; if (typeof html === 'string') el.innerHTML = html; return el; } const cards = document.querySelectorAll('#job_package_selection .pricing-item'); cards.forEach(function(card) { const id = getPackageId(card); const key = getPackKey(id); if (!id || !key || !TXT.packs[key]) return; card.setAttribute('data-mg-package-id', String(id)); card.classList.add('mg-pack', 'mg-pack-' + key); const data = TXT.packs[key]; const title = card.querySelector('.plan-name'); const desc = card.querySelector('.plan-desc'); const actionBtn = card.querySelector('.select-plan.buttons.button-2, .select-plan, .button-2.select-plan'); if (title) { title.innerHTML = data.name; } if (actionBtn) { actionBtn.textContent = data.cta; } if (!card.querySelector('.mg-pack-badge')) { const badge = createEl('div', 'mg-pack-badge', TXT.badges[key] || ''); card.appendChild(badge); } if (!card.querySelector('.mg-pack-hook')) { const hook = createEl('div', 'mg-pack-hook', data.hook); const subhook = createEl('div', 'mg-pack-subhook', data.subhook); const priceBlock = card.querySelector('.plan-price'); if (priceBlock && priceBlock.parentNode) { priceBlock.parentNode.insertBefore(hook, priceBlock); if (priceBlock.nextSibling) { priceBlock.parentNode.insertBefore(subhook, priceBlock.nextSibling); } else { priceBlock.parentNode.appendChild(subhook); } } } if (desc) { desc.innerHTML = ''; const summary = createEl('div', 'mg-pack-summary', data.summary); desc.appendChild(summary); const toggle = createEl('button', 'mg-pack-toggle', '<span>' + TXT.detailOpen + '</span><i aria-hidden="true">›</i>'); toggle.setAttribute('type', 'button'); toggle.setAttribute('aria-expanded', 'false'); const detailWrap = createEl('div', 'mg-pack-detail-wrap', ''); const detailList = createEl('ul', 'mg-pack-detail-list', ''); data.detail.forEach(function(item) { detailList.appendChild(createEl('li', '', item)); }); detailWrap.appendChild(detailList); toggle.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); const isOpen = card.classList.toggle('mg-detail-open'); toggle.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); toggle.querySelector('span').textContent = isOpen ? TXT.detailClose : TXT.detailOpen; }); desc.appendChild(toggle); desc.appendChild(detailWrap); } }); const container = document.querySelector('#job_package_selection .row.section-body'); if (container) { const items = Array.from(container.children); items.sort(function(a, b) { const aCard = a.querySelector('.pricing-item'); const bCard = b.querySelector('.pricing-item'); const aId = aCard ? parseInt(aCard.getAttribute('data-mg-package-id') || '0', 10) : 0; const bId = bCard ? parseInt(bCard.getAttribute('data-mg-package-id') || '0', 10) : 0; return scorePack(bId) - scorePack(aId); }); items.forEach(function(el) { container.appendChild(el); }); } }); .profile-cover-gallery, .gallery-grid.photoswipe-gallery { position: relative !important; } .profile-cover-gallery { overflow: hidden; } .lbr-gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 50; width: 48px; height: 48px; border: 0; border-radius: 999px; background: rgba(0,0,0,.58); color: #fff; font-size: 34px; line-height: 48px; text-align: center; cursor: pointer; box-shadow: 0 8px 26px rgba(0,0,0,.25); transition: .2s ease; } .lbr-gallery-arrow:hover { background: rgba(0,0,0,.82); transform: translateY(-50%) scale(1.05); } .lbr-gallery-prev { left: 22px; } .lbr-gallery-next { right: 22px; } .lbr-gallery-count { position: absolute; right: 24px; bottom: 24px; z-index: 55; padding: 8px 13px; border-radius: 999px; background: rgba(0,0,0,.62); color: #fff; font-size: 13px; font-weight: 700; backdrop-filter: blur(8px); } #lbr-hero-hint { position: absolute; left: 24px; bottom: 24px; z-index: 55; padding: 9px 14px; border-radius: 999px; background: rgba(255,255,255,.92); color: #111827; font-size: 13px; font-weight: 800; box-shadow: 0 10px 30px rgba(0,0,0,.18); } .gallery-grid.photoswipe-gallery { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 10px !important; } .gallery-grid.photoswipe-gallery .gallery-item { position: relative; display: block; overflow: hidden; border-radius: 12px; aspect-ratio: 16 / 9; background: #f3f4f6; } .gallery-grid.photoswipe-gallery .gallery-item img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block; transition: transform .25s ease, filter .25s ease; } .gallery-grid.photoswipe-gallery .gallery-item:hover img { transform: scale(1.04); filter: brightness(.86); } .gallery-grid.photoswipe-gallery .gallery-item i { position: absolute; inset: auto 10px 10px auto; z-index: 2; width: 34px; height: 34px; border-radius: 999px; background: rgba(0,0,0,.62); color: #fff; display: flex; align-items: center; justify-content: center; } .lbr-lightbox { position: fixed; inset: 0; z-index: 999999; background: rgba(0,0,0,.94); display: none; align-items: center; justify-content: center; } .lbr-lightbox.is-open { display: flex; } .lbr-lightbox-img { max-width: 92vw; max-height: 86vh; object-fit: contain; border-radius: 12px; background: #000; box-shadow: 0 20px 80px rgba(0,0,0,.45); } .lbr-lightbox-close, .lbr-lightbox-prev, .lbr-lightbox-next { position: fixed; z-index: 1000000; border: 0; border-radius: 999px; background: rgba(255,255,255,.16); color: #fff; cursor: pointer; backdrop-filter: blur(10px); } .lbr-lightbox-close { top: 22px; right: 22px; width: 48px; height: 48px; font-size: 34px; line-height: 44px; } .lbr-lightbox-prev, .lbr-lightbox-next { top: 50%; transform: translateY(-50%); width: 58px; height: 58px; font-size: 44px; line-height: 54px; } .lbr-lightbox-prev { left: 28px; } .lbr-lightbox-next { right: 28px; } .lbr-lightbox-counter { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 1000000; padding: 9px 15px; border-radius: 999px; background: rgba(255,255,255,.16); color: #fff; font-size: 14px; font-weight: 800; } @media (max-width: 768px) { .gallery-grid.photoswipe-gallery { grid-template-columns: repeat(2, 1fr); gap: 8px !important; } .lbr-gallery-arrow { width: 42px; height: 42px; line-height: 42px; font-size: 28px; } .lbr-gallery-prev { left: 12px; } .lbr-gallery-next { right: 12px; } #lbr-hero-hint { left: 12px; bottom: 14px; font-size: 12px; padding: 8px 11px; } .lbr-gallery-count { right: 12px; bottom: 14px; font-size: 12px; } .lbr-lightbox-img { max-width: 96vw; max-height: 78vh; border-radius: 8px; } .lbr-lightbox-prev, .lbr-lightbox-next { width: 44px; height: 44px; font-size: 34px; line-height: 40px; } .lbr-lightbox-prev { left: 10px; } .lbr-lightbox-next { right: 10px; } .lbr-lightbox-close { top: 14px; right: 14px; } } (function () { 'use strict'; function ready(fn) { if (document.readyState !== 'loading') fn(); else document.addEventListener('DOMContentLoaded', fn); } ready(function () { var heroGallery = document.querySelector('.profile-cover-gallery .header-gallery-carousel'); var thumbGallery = document.querySelector('.gallery-grid.photoswipe-gallery'); var heroLinks = heroGallery ? Array.prototype.slice.call(heroGallery.querySelectorAll('a.photoswipe-item[href]')) : []; var thumbLinks = thumbGallery ? Array.prototype.slice.call(thumbGallery.querySelectorAll('a.photoswipe-item[href]')) : []; var allLinks = thumbLinks.length ? thumbLinks : heroLinks; if (!allLinks.length) return; if (heroGallery && heroLinks.length > 1) { var section = document.querySelector('.profile-cover-gallery'); if (section && !section.querySelector('.lbr-gallery-prev')) { section.insertAdjacentHTML('beforeend', '<button class="lbr-gallery-arrow lbr-gallery-prev" type="button" aria-label="Image précédente">‹</button>' + '<button class="lbr-gallery-arrow lbr-gallery-next" type="button" aria-label="Image suivante">›</button>' + '<div class="lbr-gallery-count"><span class="lbr-current">1</span> / <span class="lbr-total">' + heroLinks.length + '</span></div>' ); } var heroCurrent = 0; var currentEl = section ? section.querySelector('.lbr-current') : null; function updateHeroCounter(index) { heroCurrent = ((index % heroLinks.length) + heroLinks.length) % heroLinks.length; if (currentEl) currentEl.textContent = String(heroCurrent + 1); } function owlGo(direction) { if (window.jQuery && jQuery(heroGallery).data('owl.carousel')) { jQuery(heroGallery).trigger(direction === 'next' ? 'next.owl.carousel' : 'prev.owl.carousel'); } } var heroPrev = section ? section.querySelector('.lbr-gallery-prev') : null; var heroNext = section ? section.querySelector('.lbr-gallery-next') : null; if (heroPrev) { heroPrev.addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); owlGo('prev'); updateHeroCounter(heroCurrent - 1); }); } if (heroNext) { heroNext.addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); owlGo('next'); updateHeroCounter(heroCurrent + 1); }); } } if (!document.querySelector('.lbr-lightbox')) { document.body.insertAdjacentHTML('beforeend', '<div class="lbr-lightbox" aria-hidden="true">' + '<button class="lbr-lightbox-close" type="button" aria-label="Fermer">×</button>' + '<button class="lbr-lightbox-prev" type="button" aria-label="Image précédente">‹</button>' + '<img class="lbr-lightbox-img" src="" alt="Image annonce">' + '<button class="lbr-lightbox-next" type="button" aria-label="Image suivante">›</button>' + '<div class="lbr-lightbox-counter"></div>' + '</div>' ); } var lightbox = document.querySelector('.lbr-lightbox'); var img = lightbox.querySelector('.lbr-lightbox-img'); var counter = lightbox.querySelector('.lbr-lightbox-counter'); var activeLinks = allLinks; var current = 0; function normalize(index, total) { return ((index % total) + total) % total; } function showImage(index) { if (!activeLinks.length) return; current = normalize(index, activeLinks.length); img.src = activeLinks[current].getAttribute('href'); counter.textContent = (current + 1) + ' / ' + activeLinks.length; } function openLightbox(index, sourceLinks) { activeLinks = sourceLinks && sourceLinks.length ? sourceLinks : allLinks; showImage(index); lightbox.classList.add('is-open'); lightbox.setAttribute('aria-hidden', 'false'); document.documentElement.style.overflow = 'hidden'; } function closeLightbox() { lightbox.classList.remove('is-open'); lightbox.setAttribute('aria-hidden', 'true'); img.src = ''; document.documentElement.style.overflow = ''; } function nextImage() { showImage(current + 1); } function prevImage() { showImage(current - 1); } function bindLinks(links) { links.forEach(function (link, index) { link.addEventListener('click', function (e) { e.preventDefault(); e.stopPropagation(); if (e.stopImmediatePropagation) e.stopImmediatePropagation(); openLightbox(index, links); return false; }, true); }); } bindLinks(heroLinks); bindLinks(thumbLinks); lightbox.querySelector('.lbr-lightbox-close').addEventListener('click', closeLightbox); lightbox.querySelector('.lbr-lightbox-next').addEventListener('click', nextImage); lightbox.querySelector('.lbr-lightbox-prev').addEventListener('click', prevImage); lightbox.addEventListener('click', function (e) { if (e.target === lightbox) closeLightbox(); }); document.addEventListener('keydown', function (e) { if (!lightbox.classList.contains('is-open')) return; if (e.key === 'Escape') closeLightbox(); if (e.key === 'ArrowRight') nextImage(); if (e.key === 'ArrowLeft') prevImage(); }); var startX = 0; lightbox.addEventListener('touchstart', function (e) { startX = e.changedTouches[0].clientX; }, { passive: true }); lightbox.addEventListener('touchend', function (e) { var endX = e.changedTouches[0].clientX; var diff = startX - endX; if (Math.abs(diff) > 45) { diff > 0 ? nextImage() : prevImage(); } }, { passive: true }); }); })(); :root{ --mgp-red:#8f1730; --mgp-pink:#f67675; --mgp-bg:#0f0b10; --mgp-card:#171116; --mgp-card2:#21151c; --mgp-text:#ffffff; --mgp-muted:rgba(255,255,255,.72); --mgp-soft:rgba(255,255,255,.08); --mgp-line:rgba(255,255,255,.12); --mgp-green:#2fd36b; --mgp-shadow:0 24px 70px rgba(0,0,0,.35); --mgp-radius:26px; } body.single-job_listing{ background: radial-gradient(circle at 15% 0%, rgba(246,118,117,.22), transparent 34%), linear-gradient(180deg,#190d13 0%, #0f0b10 42%, #0f0b10 100%) !important; color:var(--mgp-text); overflow-x:hidden !important; } body.single-job_listing .single-job-listing *, body.single-job_listing .mgp-shell *, body.single-job_listing .mgp-mobile-sticky *{ box-sizing:border-box; } body.single-job_listing .profile-cover, body.single-job_listing .profile-cover-gallery, body.single-job_listing .featured-section-gallery{ position:relative !important; background:#0d0a0d !important; overflow:hidden !important; } body.single-job_listing .profile-cover:after, body.single-job_listing .profile-cover-gallery:after, body.single-job_listing .featured-section-gallery:after{ content:""; position:absolute; inset:0; z-index:5; pointer-events:none; background:linear-gradient( 180deg, rgba(15,11,16,.02) 0%, rgba(15,11,16,.06) 38%, rgba(15,11,16,.78) 100% ); } body.single-job_listing .header-gallery-carousel .item, body.single-job_listing .featured-section-gallery .item{ min-height:420px !important; background-size:cover !important; background-position:center !important; } body.single-job_listing .main-info-desktop, body.single-job_listing .main-info-mobile, body.single-job_listing .qla-container, body.single-job_listing .listing-main-buttons, body.single-job_listing .quick-listing-actions, body.single-job_listing .profile-header{ display:none !important; } body.single-job_listing .cts-open-chat, body.single-job_listing a.cts-open-chat, body.single-job_listing li:has(.cts-open-chat){ display:none !important; } .mgp-shell{ max-width:1320px; margin:-72px auto 34px; padding:0 16px; position:relative; z-index:50; } .mgp-top{ display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:22px; align-items:stretch; margin-bottom:22px; } .mgp-identity{ border-radius:var(--mgp-radius); background: linear-gradient(135deg, rgba(246,118,117,.16), transparent 42%), linear-gradient(180deg, rgba(33,21,28,.98), rgba(18,13,18,.98)); border:1px solid rgba(246,118,117,.22); box-shadow:var(--mgp-shadow); padding:24px; min-width:0; overflow:hidden; } .mgp-kicker{ display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:14px; } .mgp-badge{ display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:30px; padding:7px 11px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#fff; font-size:12px; font-weight:850; line-height:1; white-space:nowrap; } .mgp-badge.is-verified{ background:rgba(47,211,107,.12); border-color:rgba(47,211,107,.28); color:#d9ffe5; } .mgp-badge.is-online{ background:rgba(47,211,107,.12); border-color:rgba(47,211,107,.28); color:#d9ffe5; } .mgp-dot{ width:8px; height:8px; border-radius:50%; display:inline-block; background:var(--mgp-pink); box-shadow:0 0 0 3px rgba(246,118,117,.15); } .mgp-dot.is-online{ background:var(--mgp-green); box-shadow:0 0 0 3px rgba(47,211,107,.16); } .mgp-title{ margin:0; color:#fff; font-size:clamp(28px, 4vw, 54px); line-height:.95; letter-spacing:-.055em; font-weight:950; } .mgp-tagline{ margin:12px 0 0; color:var(--mgp-pink); font-size:clamp(17px, 2vw, 24px); line-height:1.15; font-weight:850; letter-spacing:-.02em; } .mgp-submeta{ display:flex; flex-wrap:wrap; gap:10px 14px; margin-top:14px; color:var(--mgp-muted); font-size:14px; font-weight:750; } .mgp-specialties{ margin-top:18px; } .mgp-section-label{ display:block; margin:0 0 10px; color:rgba(255,255,255,.58); font-size:11px; font-weight:950; text-transform:uppercase; letter-spacing:.08em; } .mgp-chip-grid{ display:flex; flex-wrap:wrap; gap:8px; } .mgp-chip{ display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:8px 12px; border-radius:999px; background:rgba(246,118,117,.12); border:1px solid rgba(246,118,117,.26); color:#fff; font-size:13px; font-weight:850; line-height:1; } .mgp-contact{ border-radius:var(--mgp-radius); background: linear-gradient(180deg, rgba(246,118,117,.14), transparent 40%), linear-gradient(180deg,#20151c,#130f13); border:1px solid rgba(246,118,117,.24); box-shadow:var(--mgp-shadow); padding:20px; min-width:0; position:sticky; top:92px; align-self:start; } .mgp-contact-title{ margin:0; font-size:22px; line-height:1.05; letter-spacing:-.035em; font-weight:950; color:#fff; } .mgp-contact-sub{ margin:7px 0 16px; color:var(--mgp-muted); font-size:13px; font-weight:650; line-height:1.35; } .mgp-contact-card{ display:flex; align-items:center; gap:12px; padding:12px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.10); margin-bottom:13px; } .mgp-avatar{ width:50px; height:50px; border-radius:50%; background:linear-gradient(135deg,var(--mgp-pink),var(--mgp-red)); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:950; font-size:18px; flex:0 0 auto; } .mgp-avatar img{ width:100%; height:100%; display:block; object-fit:cover; border-radius:50%; } .mgp-contact-name{ display:block; color:#fff; font-size:16px; font-weight:950; line-height:1.1; } .mgp-contact-line{ display:block; margin-top:4px; color:var(--mgp-muted); font-size:12px; font-weight:750; } .mgp-actions{ display:grid; grid-template-columns:1fr; gap:10px; } .mgp-btn{ display:flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:13px 15px; border-radius:18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#fff !important; text-decoration:none !important; font-size:15px; font-weight:950; line-height:1; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; } .mgp-btn:hover{ transform:translateY(-1px); background:rgba(255,255,255,.11); box-shadow:0 14px 26px rgba(0,0,0,.20); color:#fff !important; } .mgp-btn.call{ background:linear-gradient(180deg,#f98988,#f67675); border-color:rgba(246,118,117,.9); color:#fff !important; box-shadow:0 14px 26px rgba(246,118,117,.20); } .mgp-btn.wa{ background:linear-gradient(180deg,#31d978,#16b85a); border-color:rgba(47,211,107,.82); color:#fff !important; box-shadow:0 14px 26px rgba(47,211,107,.18); } .mgp-btn.is-hidden{ display:none !important; } .mgp-mini{ margin-top:13px; padding:12px 13px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); color:rgba(255,255,255,.78); font-size:12px; font-weight:750; line-height:1.4; } .mgp-layout{ display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:22px; align-items:start; } .mgp-content, .mgp-side{ min-width:0; } body.single-job_listing .listing-tabs{ background:transparent !important; padding:0 !important; } body.single-job_listing .listing-tab, body.single-job_listing .profile-body{ background:transparent !important; padding-top:0 !important; } body.single-job_listing .tab-template-two-columns{ width:100% !important; max-width:none !important; padding:0 !important; } body.single-job_listing .tab-template-two-columns > .row{ margin:0 !important; display:grid !important; grid-template-columns:minmax(0,1fr) 390px !important; gap:22px !important; } body.single-job_listing .tab-template-two-columns > .row > .col-md-6{ width:auto !important; float:none !important; padding:0 !important; } body.single-job_listing .cts-main-column, body.single-job_listing .cts-side-column{ margin:0 !important; } body.single-job_listing .block-type-gallery, body.single-job_listing .block-type-text, body.single-job_listing .block-type-tags, body.single-job_listing .block-type-table, body.single-job_listing .block-type-details, body.single-job_listing .block-type-categories, body.single-job_listing .block-type-location, body.single-job_listing .block-type-general_repeater{ width:100% !important; float:none !important; padding-left:0 !important; padding-right:0 !important; margin-bottom:18px !important; } body.single-job_listing .element, body.single-job_listing .gallery-block, body.single-job_listing .content-block, body.single-job_listing .table-block, body.single-job_listing .map-block, body.single-job_listing .single-menu-item{ background:rgba(23,17,22,.96) !important; border:1px solid rgba(255,255,255,.10) !important; border-radius:24px !important; box-shadow:0 18px 46px rgba(0,0,0,.22) !important; overflow:hidden !important; color:#fff !important; } body.single-job_listing .pf-head{ background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025)) !important; border-bottom:1px solid rgba(255,255,255,.10) !important; padding:15px 18px !important; } body.single-job_listing .pf-head .title-style-1{ display:flex !important; align-items:center !important; gap:10px !important; margin:0 !important; } body.single-job_listing .pf-head .title-style-1 i{ color:var(--mgp-pink) !important; font-size:19px !important; } body.single-job_listing .pf-head h5{ color:#fff !important; font-size:15px !important; font-weight:950 !important; line-height:1.15 !important; margin:0 !important; letter-spacing:-.01em !important; } body.single-job_listing .pf-body{ padding:18px !important; color:rgba(255,255,255,.86) !important; } body.single-job_listing .wp-editor-content, body.single-job_listing .content-block, body.single-job_listing .content-block p{ color:rgba(255,255,255,.86) !important; font-size:15px !important; line-height:1.65 !important; font-weight:500 !important; } body.single-job_listing .content-block p{ margin:0 0 14px !important; } body.single-job_listing .extra-details li, body.single-job_listing .outlined-list li{ background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.10) !important; border-radius:16px !important; padding:12px 13px !important; margin-bottom:9px !important; color:#fff !important; } body.single-job_listing .item-attr{ color:rgba(255,255,255,.55) !important; font-size:11px !important; font-weight:950 !important; text-transform:uppercase !important; letter-spacing:.06em !important; margin-bottom:5px !important; } body.single-job_listing .item-property{ color:#fff !important; font-size:14px !important; font-weight:800 !important; line-height:1.32 !important; } body.single-job_listing .block-type-tags .outlined-list, body.single-job_listing .block-type-tags .details-list{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:0 !important; padding:0 !important; } body.single-job_listing .block-type-tags .outlined-list li, body.single-job_listing .block-type-tags .details-list li{ margin:0 !important; padding:0 !important; background:transparent !important; border:none !important; } body.single-job_listing .block-type-tags .outlined-list li a, body.single-job_listing .block-type-tags .details-list li a{ display:inline-flex !important; align-items:center !important; gap:8px !important; min-height:36px !important; padding:8px 12px !important; border-radius:999px !important; background:rgba(246,118,117,.12) !important; border:1px solid rgba(246,118,117,.26) !important; color:#fff !important; font-size:13px !important; font-weight:850 !important; text-decoration:none !important; } body.single-job_listing .block-type-tags .term-icon, body.single-job_listing .block-type-tags .term-icon img{ display:none !important; } body.single-job_listing .gallerySlider, body.single-job_listing .galleryPreview, body.single-job_listing .galleryPreview .owl-stage-outer{ border-radius:18px !important; overflow:hidden !important; } body.single-job_listing .galleryPreview img{ border-radius:18px !important; object-fit:cover !important; } body.single-job_listing .gallery-thumb{ margin-top:10px !important; } body.single-job_listing .gallery-thumb .slide-thumb{ border-radius:14px !important; overflow:hidden !important; border:1px solid rgba(255,255,255,.14) !important; } body.single-job_listing .map-block .contact-map, body.single-job_listing .c27-map{ border-radius:18px !important; overflow:hidden !important; } body.single-job_listing .map-block-address, body.single-job_listing .map-block-address p, body.single-job_listing .map-block-address a{ color:rgba(255,255,255,.82) !important; font-weight:750 !important; } body.single-job_listing .similar-listings{ background:#0f0b10 !important; padding-top:20px !important; } body.single-job_listing .similar-listings .section-title h2{ color:#fff !important; } .mgp-mobile-sticky{ display:none; } .mgp-share-toast{ position:fixed; left:50%; bottom:86px; transform:translateX(-50%) translateY(20px); z-index:10050; padding:12px 15px; border-radius:999px; background:rgba(15,11,16,.96); border:1px solid rgba(246,118,117,.35); color:#fff; font-size:13px; font-weight:850; opacity:0; pointer-events:none; transition:.2s ease; box-shadow:0 16px 40px rgba(0,0,0,.30); } .mgp-share-toast.is-visible{ opacity:1; transform:translateX(-50%) translateY(0); } @media (max-width: 991px){ body.single-job_listing{ padding-bottom:76px !important; } body.single-job_listing .header-gallery-carousel .item, body.single-job_listing .featured-section-gallery .item{ min-height:390px !important; } .mgp-shell{ margin:-54px auto 22px; padding:0 12px; } .mgp-top{ display:block; margin-bottom:16px; } .mgp-identity{ padding:18px; border-radius:24px; margin-bottom:12px; } .mgp-title{ font-size:32px; line-height:.98; } .mgp-tagline{ font-size:19px; } .mgp-contact{ position:relative; top:auto; padding:14px; border-radius:22px; } .mgp-contact-title, .mgp-contact-sub, .mgp-actions .mgp-btn.share, .mgp-actions .mgp-btn.report{ display:none !important; } .mgp-contact-card{ margin:0; padding:11px; } .mgp-actions{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:10px; } .mgp-btn{ min-height:46px; border-radius:15px; font-size:13px; } body.single-job_listing .tab-template-two-columns > .row{ display:block !important; } body.single-job_listing .tab-template-two-columns > .row > .col-md-6{ width:100% !important; display:block !important; } body.single-job_listing .pf-head{ padding:13px 15px !important; } body.single-job_listing .pf-body{ padding:15px !important; } body.single-job_listing .element, body.single-job_listing .gallery-block, body.single-job_listing .content-block, body.single-job_listing .table-block, body.single-job_listing .map-block, body.single-job_listing .single-menu-item{ border-radius:20px !important; } .mgp-mobile-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:10020; display:block; padding:9px 10px calc(9px + env(safe-area-inset-bottom)); background:rgba(15,11,16,.96); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-top:1px solid rgba(255,255,255,.10); box-shadow:0 -12px 30px rgba(0,0,0,.32); } .mgp-mobile-sticky-inner{ display:grid; grid-template-columns:1fr 1fr; gap:9px; max-width:680px; margin:0 auto; } .mgp-mobile-sticky .mgp-btn{ min-height:50px; border-radius:16px; font-size:14px; } .mgp-mobile-sticky .mgp-btn.only-one{ grid-column:1 / -1; } } @media (max-width: 520px){ body.single-job_listing .header-gallery-carousel .item, body.single-job_listing .featured-section-gallery .item{ min-height:350px !important; } .mgp-shell{ margin-top:-42px; } .mgp-kicker{ gap:7px; } .mgp-badge{ font-size:11px; min-height:28px; padding:7px 9px; } .mgp-title{ font-size:29px; } .mgp-chip{ font-size:12px; min-height:32px; padding:8px 10px; } } (function(){ 'use strict'; if (window.__MG_PREMIUM_LISTING_V1__) return; window.__MG_PREMIUM_LISTING_V1__ = true; var config = { postId: 7630, title: "Club Delicious", permalink: "https:\/\/meetgirl.ch\/escorts\/club-delicious-2\/", phoneRaw: "+41227840787", whatsappRaw: "+41799137866", verified: "", tags: ["Chambres \u00e0 th\u00e8me","Escort VIP","Parking","Pole Dance","Sauna"], cities: ["Gen\u00e8ve"], regions: [], categories: ["Club \u00e9rotique","Escort","Salons \u00e9rotiques"] }; function $(sel, root){ return (root || document).querySelector(sel); } function $all(sel, root){ return Array.prototype.slice.call((root || document).querySelectorAll(sel)); } function esc(str){ return String(str || '').replace(/[&<>"']/g, function(m){ return ({ '&':'&', '<':'<', '>':'>', '"':'"', "'":''' })[m]; }); } function cleanText(str){ return String(str || '').replace(/\s+/g, ' ').trim(); } function currentLang(){ var htmlLang = (document.documentElement.getAttribute('lang') || '').toLowerCase(); var path = (window.location.pathname || '').toLowerCase(); var body = document.body ? (document.body.className || '').toLowerCase() : ''; if (path.indexOf('/de/') === 0 || htmlLang.indexOf('de') === 0 || body.indexOf('translatepress-de') !== -1) return 'de'; if (path.indexOf('/en/') === 0 || htmlLang.indexOf('en') === 0 || body.indexOf('translatepress-en') !== -1) return 'en'; if (path.indexOf('/it/') === 0 || htmlLang.indexOf('it') === 0 || body.indexOf('translatepress-it') !== -1) return 'it'; if (path.indexOf('/es/') === 0 || htmlLang.indexOf('es') === 0 || body.indexOf('translatepress-es') !== -1) return 'es'; return 'fr'; } var LANG = currentLang(); var I18N = { fr: { verified: 'Annonce vérifiée', online: 'Online', recent: '-24H', specialties: 'Spécialités', location: 'Ville', categories: 'Catégorie', contact_title: 'Contact direct', contact_sub: 'Contactez cette annonce rapidement par téléphone ou WhatsApp.', call: 'Appeler', whatsapp: 'WhatsApp', share: 'Partager', report: 'Signaler', safety: 'Sécurité', safety_text: 'Ne versez aucun acompte avant la rencontre. Privilégiez les annonces vérifiées et signalez tout profil douteux.', copied: 'Lien copié.', copy_prompt: 'Copiez ce lien :', default_tagline: 'Profil disponible sur Meetgirl' }, de: { verified: 'Verifizierte Anzeige', online: 'Online', recent: '-24H', specialties: 'Spezialitäten', location: 'Ort', categories: 'Kategorie', contact_title: 'Direkter Kontakt', contact_sub: 'Kontaktieren Sie diese Anzeige schnell per Telefon oder WhatsApp.', call: 'Anrufen', whatsapp: 'WhatsApp', share: 'Teilen', report: 'Melden', safety: 'Sicherheit', safety_text: 'Zahlen Sie nichts im Voraus. Bevorzugen Sie verifizierte Anzeigen und melden Sie verdächtige Profile.', copied: 'Link kopiert.', copy_prompt: 'Kopieren Sie diesen Link:', default_tagline: 'Profil auf Meetgirl verfügbar' }, en: { verified: 'Verified listing', online: 'Online', recent: '-24H', specialties: 'Specialties', location: 'City', categories: 'Category', contact_title: 'Direct contact', contact_sub: 'Contact this listing quickly by phone or WhatsApp.', call: 'Call', whatsapp: 'WhatsApp', share: 'Share', report: 'Report', safety: 'Safety', safety_text: 'Do not send any payment before meeting. Prefer verified listings and report suspicious profiles.', copied: 'Link copied.', copy_prompt: 'Copy this link:', default_tagline: 'Profile available on Meetgirl' }, it: { verified: 'Annuncio verificato', online: 'Online', recent: '-24H', specialties: 'Specialità', location: 'Città', categories: 'Categoria', contact_title: 'Contatto diretto', contact_sub: 'Contatta rapidamente questo annuncio via telefono o WhatsApp.', call: 'Chiama', whatsapp: 'WhatsApp', share: 'Condividi', report: 'Segnala', safety: 'Sicurezza', safety_text: 'Non inviare pagamenti in anticipo. Preferisci annunci verificati e segnala i profili sospetti.', copied: 'Link copiato.', copy_prompt: 'Copia questo link:', default_tagline: 'Profilo disponibile su Meetgirl' }, es: { verified: 'Anuncio verificado', online: 'Online', recent: '-24H', specialties: 'Especialidades', location: 'Ciudad', categories: 'Categoría', contact_title: 'Contacto directo', contact_sub: 'Contacta este anuncio rápidamente por teléfono o WhatsApp.', call: 'Llamar', whatsapp: 'WhatsApp', share: 'Compartir', report: 'Reportar', safety: 'Seguridad', safety_text: 'No envíes ningún pago por adelantado. Prioriza anuncios verificados y reporta perfiles sospechosos.', copied: 'Enlace copiado.', copy_prompt: 'Copia este enlace:', default_tagline: 'Perfil disponible en Meetgirl' } }; function tr(key){ return (I18N[LANG] && I18N[LANG][key]) || I18N.fr[key] || key; } function normalizePhone(raw){ var v = String(raw || '').trim(); if (!v) return ''; v = v.replace(/[^\d+]/g, ''); if (v.indexOf('00') === 0) { v = '+' + v.slice(2); } if (v.charAt(0) !== '+') { if (v.indexOf('41') === 0) { v = '+' + v; } else if (v.charAt(0) === '0') { v = '+41' + v.slice(1); } } return v; } function findPhoneLink(){ var native = $('a[href^="tel:"]'); if (native && native.getAttribute('href')) return native.getAttribute('href'); var phone = normalizePhone(config.phoneRaw); return phone ? 'tel:' + phone : ''; } function findWhatsappLink(){ var native = $('a[href*="wa.me"], a[href*="whatsapp"]'); if (native && native.getAttribute('href')) return native.getAttribute('href'); var raw = config.whatsappRaw || config.phoneRaw; var phone = normalizePhone(raw); if (!phone) return ''; var digits = phone.replace(/[^\d]/g, ''); if (!digits) return ''; var text = encodeURIComponent('Bonjour, j’ai vu votre annonce sur Meetgirl : ' + config.permalink); return 'https://wa.me/' + digits + '?text=' + text; } function findReportButton(){ return $('a[href*="claim"], a[href*="report"], .claim-listing a, .report-listing a, a:has(.mi.warning), a:has(.mi.flag)'); } function findReviewButton(){ return $('.show-review-form'); } function getTagline(){ var el = $('.listing-tagline-field'); var txt = el ? cleanText(el.textContent) : ''; return txt || tr('default_tagline'); } function getTitle(){ var h1 = $('.profile-name h1'); if (!h1) return config.title || ''; var clone = h1.cloneNode(true); $all('.verified-badge, .tooltip-element, .edit-listing, img', clone).forEach(function(el){ el.remove(); }); var txt = cleanText(clone.textContent); return txt || config.title || ''; } function getSpecialties(){ var tags = []; $all('.block-type-tags .details-list a span, .block-type-tags .outlined-list a span').forEach(function(el){ var txt = cleanText(el.textContent); if (txt && tags.indexOf(txt) === -1) tags.push(txt); }); if (!tags.length && Array.isArray(config.tags)) { config.tags.forEach(function(t){ t = cleanText(t); if (t && tags.indexOf(t) === -1) tags.push(t); }); } return tags.slice(0, 10); } function getCategories(){ var cats = []; $all('.block-type-categories .category-name').forEach(function(el){ var txt = cleanText(el.textContent); if (txt && cats.indexOf(txt) === -1) cats.push(txt); }); if (!cats.length && Array.isArray(config.categories)) { config.categories.forEach(function(t){ t = cleanText(t); if (t && cats.indexOf(t) === -1) cats.push(t); }); } return cats.slice(0, 4); } function getLocation(){ var txt = ''; var villeBlock = $all('.block-type-details').filter(function(block){ return /ville|ort|city|città|ciudad/i.test(cleanText(block.textContent)); })[0]; if (villeBlock) { var val = $('.wp-editor-content', villeBlock); txt = val ? cleanText(val.textContent) : ''; } if (!txt && Array.isArray(config.cities) && config.cities.length) { txt = cleanText(config.cities[0]); } if (!txt && Array.isArray(config.regions) && config.regions.length) { txt = cleanText(config.regions[0]); } var mapAddr = $('.map-block-address p'); if (!txt && mapAddr) { txt = cleanText(mapAddr.textContent).split(',')[0]; } return txt; } function getStatus(){ var st = $('.codicts-online-status'); if (st) { var txt = cleanText(st.textContent); return { text: txt || tr('online'), online: !!$('.cdtsols-online', st) || /online/i.test(txt) }; } return { text: tr('recent'), online: false }; } function buildChips(items){ if (!items || !items.length) return ''; return items.map(function(item){ return '<span class="mgp-chip">' + esc(item) + '</span>'; }).join(''); } function initials(name){ name = cleanText(name); if (!name) return 'M'; return name.charAt(0).toUpperCase(); } function buildShell(){ if ($('#mgp-shell')) return; var hero = $('.profile-cover, .profile-cover-gallery, .featured-section-gallery'); var insertAfter = hero || $('#c27-single-listing'); if (!insertAfter || !insertAfter.parentNode) return; var title = getTitle(); var tagline = getTagline(); var loc = getLocation(); var status = getStatus(); var phoneHref = findPhoneLink(); var waHref = findWhatsappLink(); var specs = getSpecialties(); var cats = getCategories(); var verifiedHtml = config.verified ? '<span class="mgp-badge is-verified">✓ ' + esc(tr('verified')) + '</span>' : ''; var statusHtml = '' + '<span class="mgp-badge ' + (status.online ? 'is-online' : '') + '">' + ' <span class="mgp-dot ' + (status.online ? 'is-online' : '') + '"></span>' + ' ' + esc(status.text || tr('online')) + '</span>'; var locHtml = loc ? '<span class="mgp-badge">📍 ' + esc(loc) + '</span>' : ''; var catHtml = cats.length ? '<span class="mgp-badge">' + esc(cats.join(' · ')) + '</span>' : ''; var html = '' + '<div id="mgp-shell" class="mgp-shell">' + ' <div class="mgp-top">' + ' <section class="mgp-identity" aria-label="Meetgirl profil">' + ' <div class="mgp-kicker">' + verifiedHtml + statusHtml + locHtml + catHtml + '</div>' + ' <h1 class="mgp-title">' + esc(title) + '</h1>' + ' <p class="mgp-tagline">' + esc(tagline) + '</p>' + ' <div class="mgp-specialties">' + ' <span class="mgp-section-label">' + esc(tr('specialties')) + '</span>' + ' <div class="mgp-chip-grid">' + buildChips(specs) + '</div>' + ' </div>' + ' </section>' + ' <aside class="mgp-contact" aria-label="Contact">' + ' <h2 class="mgp-contact-title">' + esc(tr('contact_title')) + '</h2>' + ' <p class="mgp-contact-sub">' + esc(tr('contact_sub')) + '</p>' + ' <div class="mgp-contact-card">' + ' <div class="mgp-avatar">' + esc(initials(title)) + '</div>' + ' <div>' + ' <span class="mgp-contact-name">' + esc(title) + '</span>' + ' <span class="mgp-contact-line">' + esc([loc, status.text].filter(Boolean).join(' · ')) + '</span>' + ' </div>' + ' </div>' + ' <div class="mgp-actions">' + ' <a class="mgp-btn call ' + (phoneHref ? '' : 'is-hidden') + '" href="' + esc(phoneHref || '#') + '" rel="nofollow">📞 ' + esc(tr('call')) + '</a>' + ' <a class="mgp-btn wa ' + (waHref ? '' : 'is-hidden') + '" href="' + esc(waHref || '#') + '" target="_blank" rel="nofollow noopener">🟢 ' + esc(tr('whatsapp')) + '</a>' + ' <a class="mgp-btn share" href="#" id="mgp-share-btn">↗ ' + esc(tr('share')) + '</a>' + ' <a class="mgp-btn report" href="#" id="mgp-report-btn">⚠ ' + esc(tr('report')) + '</a>' + ' </div>' + ' <div class="mgp-mini"><strong>' + esc(tr('safety')) + '.</strong> ' + esc(tr('safety_text')) + '</div>' + ' </aside>' + ' </div>' + '</div>'; insertAfter.insertAdjacentHTML('afterend', html); bindShellButtons(); buildMobileSticky(phoneHref, waHref); enhanceNativeBlocks(); } function bindShellButtons(){ var shareBtn = $('#mgp-share-btn'); var reportBtn = $('#mgp-report-btn'); if (shareBtn) { shareBtn.addEventListener('click', function(e){ e.preventDefault(); shareListing(); }); } if (reportBtn) { reportBtn.addEventListener('click', function(e){ e.preventDefault(); var native = findReportButton(); if (native) { native.click(); } else { shareToast(tr('report')); } }); } } function buildMobileSticky(phoneHref, waHref){ if ($('#mgp-mobile-sticky')) return; if (!phoneHref && !waHref) return; var count = (phoneHref ? 1 : 0) + (waHref ? 1 : 0); var only = count === 1 ? ' only-one' : ''; var html = '' + '<div id="mgp-mobile-sticky" class="mgp-mobile-sticky">' + ' <div class="mgp-mobile-sticky-inner">' + (phoneHref ? '<a class="mgp-btn call' + only + '" href="' + esc(phoneHref) + '" rel="nofollow">📞 ' + esc(tr('call')) + '</a>' : '') + (waHref ? '<a class="mgp-btn wa' + only + '" href="' + esc(waHref) + '" target="_blank" rel="nofollow noopener">🟢 ' + esc(tr('whatsapp')) + '</a>' : '') + ' </div>' + '</div>'; document.body.insertAdjacentHTML('beforeend', html); } function shareToast(text){ var toast = $('#mgp-share-toast'); if (!toast) { document.body.insertAdjacentHTML('beforeend', '<div id="mgp-share-toast" class="mgp-share-toast"></div>'); toast = $('#mgp-share-toast'); } toast.textContent = text; toast.classList.add('is-visible'); setTimeout(function(){ toast.classList.remove('is-visible'); }, 1800); } function shareListing(){ var data = { title: config.title, text: config.title, url: config.permalink }; if (navigator.share) { navigator.share(data).catch(function(){}); return; } if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(config.permalink).then(function(){ shareToast(tr('copied')); }); return; } window.prompt(tr('copy_prompt'), config.permalink); } function hideNativeMessaging(){ $all('.cts-open-chat').forEach(function(el){ var li = el.closest('li'); if (li) { li.style.display = 'none'; } el.style.display = 'none'; }); $all('.quick-listing-actions a').forEach(function(a){ var txt = cleanText(a.textContent).toLowerCase(); if (txt.indexOf('messagerie') !== -1 || txt.indexOf('message') !== -1 || a.classList.contains('cts-open-chat')) { var li = a.closest('li'); if (li) li.style.display = 'none'; a.style.display = 'none'; } }); } function enhanceNativeBlocks(){ hideNativeMessaging(); var tagsBlock = $('.block-type-tags'); var descBlock = $('.block-field-job_description, .block-type-text.block-field-job_description'); var galleryBlock = $('.block-field-job_gallery, .block-type-gallery'); if (tagsBlock && descBlock && descBlock.parentNode) { descBlock.parentNode.insertBefore(tagsBlock, descBlock); } if (galleryBlock) { galleryBlock.classList.add('mgp-gallery-main'); } var safetyBlock = $all('.block-type-details').filter(function(block){ return /versez|paiement|arnaque|sécurité|verifi|vérifi|douteux|warning/i.test(cleanText(block.textContent)); })[0]; if (safetyBlock) { safetyBlock.classList.add('mgp-safety-block'); } document.body.classList.add('mgp-ready'); } function init(){ buildShell(); hideNativeMessaging(); setTimeout(function(){ buildShell(); hideNativeMessaging(); enhanceNativeBlocks(); }, 400); setTimeout(function(){ hideNativeMessaging(); enhanceNativeBlocks(); }, 1200); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } window.addEventListener('load', function(){ init(); setTimeout(init, 800); }); })(); /* ========================================================= MEETGIRL — FIX STRUCTURE FICHE PREMIUM V1.1 ========================================================= */ body.single-job_listing{ background:#981a34 !important; } body.single-job_listing .mgp-shell{ max-width:1320px !important; } body.single-job_listing .mgp-top{ align-items:start !important; } body.single-job_listing .mgp-identity{ min-height:0 !important; height:auto !important; } body.single-job_listing .mgp-specialties{ margin-bottom:0 !important; padding-bottom:0 !important; } body.single-job_listing .mgp-chip-grid{ margin-bottom:0 !important; padding-bottom:0 !important; } /* Corrige le gros bloc vide : ne jamais étirer la carte identité */ @media (min-width: 992px){ body.single-job_listing .mgp-top{ grid-template-columns:minmax(0, 1fr) 390px !important; align-items:start !important; } body.single-job_listing .mgp-identity, body.single-job_listing .mgp-contact{ align-self:start !important; } } /* ========================================================= Recentrage complet des blocs MyListing ========================================================= */ body.single-job_listing .listing-tabs, body.single-job_listing .listing-tab, body.single-job_listing .profile-body, body.single-job_listing .tab-template-two-columns{ background:transparent !important; width:100% !important; max-width:none !important; margin:0 auto !important; padding-left:0 !important; padding-right:0 !important; } body.single-job_listing .tab-template-two-columns > .row{ display:block !important; width:100% !important; max-width:1220px !important; margin:0 auto !important; padding:0 16px !important; } body.single-job_listing .tab-template-two-columns > .row > .col-md-6{ float:none !important; width:100% !important; max-width:1220px !important; margin:0 auto !important; padding:0 !important; display:block !important; } body.single-job_listing .cts-main-column, body.single-job_listing .cts-side-column, body.single-job_listing .cts-column-wrapper{ display:block !important; width:100% !important; max-width:1220px !important; margin:0 auto !important; padding:0 !important; } body.single-job_listing .cts-main-column > div, body.single-job_listing .cts-side-column > div, body.single-job_listing .block-type-gallery, body.single-job_listing .block-type-general_repeater, body.single-job_listing .block-type-location, body.single-job_listing .block-type-details, body.single-job_listing .block-type-table, body.single-job_listing .block-type-text, body.single-job_listing .block-type-tags, body.single-job_listing .block-type-categories{ float:none !important; width:100% !important; max-width:1220px !important; margin:0 auto 20px auto !important; padding-left:0 !important; padding-right:0 !important; display:block !important; clear:both !important; } /* ========================================================= Style uniforme pour TOUS les blocs, y compris galerie/ville/langue ========================================================= */ body.single-job_listing .element, body.single-job_listing .gallery-block, body.single-job_listing .content-block, body.single-job_listing .table-block, body.single-job_listing .map-block, body.single-job_listing .single-menu-item{ width:100% !important; max-width:100% !important; background:#140d13 !important; border:1px solid rgba(255,255,255,.10) !important; border-radius:24px !important; box-shadow:0 18px 46px rgba(0,0,0,.22) !important; overflow:hidden !important; color:#fff !important; } body.single-job_listing .pf-head{ background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)) !important; border-bottom:1px solid rgba(255,255,255,.10) !important; padding:15px 18px !important; } body.single-job_listing .pf-body{ padding:18px !important; } /* Galerie : pleine largeur propre */ body.single-job_listing .block-type-gallery .element, body.single-job_listing .block-type-gallery .gallery-block{ background:#140d13 !important; } body.single-job_listing .gallerySlider, body.single-job_listing .galleryPreview, body.single-job_listing .galleryPreview .owl-stage-outer{ width:100% !important; max-width:100% !important; border-radius:20px !important; overflow:hidden !important; } body.single-job_listing .galleryPreview img{ width:100% !important; max-height:none !important; object-fit:cover !important; border-radius:20px !important; } body.single-job_listing .gallery-thumb{ margin-top:12px !important; } body.single-job_listing .gallery-thumb .slide-thumb{ border-radius:14px !important; overflow:hidden !important; border:1px solid rgba(255,255,255,.16) !important; } /* Selfie/repeater : évite la carte blanche vide en bas */ body.single-job_listing .block-type-general_repeater .food-menu-items{ display:grid !important; grid-template-columns:1fr !important; gap:18px !important; } body.single-job_listing .block-type-general_repeater .single-menu-item{ background:#140d13 !important; border-radius:24px !important; } body.single-job_listing .block-type-general_repeater .gr-content{ display:block !important; } body.single-job_listing .block-type-general_repeater .menu-thumb, body.single-job_listing .block-type-general_repeater .menu-thumb a, body.single-job_listing .block-type-general_repeater .menu-thumb img{ width:100% !important; border-radius:20px !important; overflow:hidden !important; } body.single-job_listing .block-type-general_repeater .menu-content{ margin:0 !important; padding:14px 16px !important; background:#140d13 !important; color:#fff !important; } body.single-job_listing .block-type-general_repeater .menu-item-title{ color:#fff !important; font-weight:900 !important; } /* Ville + Langue : rendu comme les autres blocs */ body.single-job_listing .block-type-details .outlined-list, body.single-job_listing .block-type-details .details-block-content{ display:grid !important; grid-template-columns:1fr !important; gap:10px !important; margin:0 !important; padding:0 !important; } body.single-job_listing .block-type-details .outlined-list li, body.single-job_listing .block-type-details .details-block-content li{ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.10) !important; border-radius:16px !important; padding:13px 14px !important; margin:0 !important; color:#fff !important; } body.single-job_listing .block-type-details .wp-editor-content{ color:#fff !important; font-size:15px !important; font-weight:850 !important; line-height:1.35 !important; } /* Tables type "Un peu plus sur moi" */ body.single-job_listing .extra-details{ display:grid !important; grid-template-columns:1fr !important; gap:10px !important; margin:0 !important; padding:0 !important; } body.single-job_listing .extra-details li{ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:14px !important; background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.10) !important; border-radius:16px !important; padding:13px 14px !important; margin:0 !important; } body.single-job_listing .item-attr{ color:rgba(255,255,255,.55) !important; font-size:11px !important; font-weight:950 !important; text-transform:uppercase !important; letter-spacing:.06em !important; margin:0 !important; } body.single-job_listing .item-property{ color:#fff !important; font-size:14px !important; font-weight:850 !important; line-height:1.32 !important; text-align:right !important; } /* Description */ body.single-job_listing .block-field-job_description .pf-body, body.single-job_listing .content-block .pf-body{ padding:22px !important; } body.single-job_listing .content-block p{ color:rgba(255,255,255,.88) !important; font-size:15px !important; line-height:1.7 !important; font-weight:600 !important; margin:0 0 14px !important; } /* ========================================================= Mobile : pas de doublon Appeler / WhatsApp ========================================================= */ @media (max-width: 991px){ body.single-job_listing .mgp-contact .mgp-actions{ display:none !important; } body.single-job_listing .mgp-contact{ margin-bottom:16px !important; } body.single-job_listing .mgp-contact-card{ margin-bottom:0 !important; } body.single-job_listing .mgp-mini{ margin-top:12px !important; } body.single-job_listing .tab-template-two-columns > .row{ padding:0 10px !important; } body.single-job_listing .cts-main-column > div, body.single-job_listing .cts-side-column > div, body.single-job_listing .block-type-gallery, body.single-job_listing .block-type-general_repeater, body.single-job_listing .block-type-location, body.single-job_listing .block-type-details, body.single-job_listing .block-type-table, body.single-job_listing .block-type-text, body.single-job_listing .block-type-tags, body.single-job_listing .block-type-categories{ margin-bottom:14px !important; } body.single-job_listing .element, body.single-job_listing .gallery-block, body.single-job_listing .content-block, body.single-job_listing .table-block, body.single-job_listing .map-block, body.single-job_listing .single-menu-item{ border-radius:20px !important; } body.single-job_listing .pf-head{ padding:13px 15px !important; } body.single-job_listing .pf-body{ padding:15px !important; } body.single-job_listing .extra-details li, body.single-job_listing .block-type-details .outlined-list li, body.single-job_listing .block-type-details .details-block-content li{ align-items:flex-start !important; flex-direction:column !important; gap:5px !important; } body.single-job_listing .item-property{ text-align:left !important; } } /* Sécurité contre le grand vide rouge généré par les colonnes */ body.single-job_listing .row:before, body.single-job_listing .row:after{ display:none !important; } (function(){ 'use strict'; function all(sel, root){ return Array.prototype.slice.call((root || document).querySelectorAll(sel)); } function txt(el){ return (el && el.textContent ? el.textContent : '').replace(/\s+/g, ' ').trim(); } function moveNativeBlocksToSingleColumn(){ var main = document.querySelector('.cts-main-column'); var side = document.querySelector('.cts-side-column'); if (!main || !side) return; if (document.body.classList.contains('mgp-single-column-fixed')) return; var order = [ '.block-type-gallery', '.block-type-tags', '.block-field-job_description', '.block-type-table', '.block-type-details', '.block-type-categories', '.block-type-general_repeater', '.block-type-location' ]; order.forEach(function(selector){ all(selector, document).forEach(function(block){ if (!block || block.closest('.similar-listings')) return; main.appendChild(block); }); }); document.body.classList.add('mgp-single-column-fixed'); } function removeMobileDuplicateActions(){ if (window.innerWidth > 991) return; all('.mgp-contact .mgp-actions').forEach(function(el){ el.style.display = 'none'; }); } function removeEmptyTopSpace(){ all('.mgp-identity, .mgp-top, .mgp-shell').forEach(function(el){ el.style.minHeight = '0'; el.style.height = 'auto'; }); } function fixEmptyRepeaterCards(){ all('.block-type-general_repeater .single-menu-item').forEach(function(card){ var hasImg = !!card.querySelector('img, .menu-thumb'); var content = txt(card); if (!hasImg && content.length < 3) { card.style.display = 'none'; } }); } function cleanNativeMessaging(){ all('.cts-open-chat').forEach(function(el){ var li = el.closest('li'); if (li) li.style.display = 'none'; el.style.display = 'none'; }); all('.quick-listing-actions a').forEach(function(a){ var t = txt(a).toLowerCase(); if (t.indexOf('messagerie') !== -1 || t.indexOf('message') !== -1) { var li = a.closest('li'); if (li) li.style.display = 'none'; a.style.display = 'none'; } }); } function runFixes(){ moveNativeBlocksToSingleColumn(); removeMobileDuplicateActions(); removeEmptyTopSpace(); fixEmptyRepeaterCards(); cleanNativeMessaging(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', runFixes); } else { runFixes(); } window.addEventListener('load', function(){ runFixes(); setTimeout(runFixes, 400); setTimeout(runFixes, 1200); }); window.addEventListener('resize', function(){ setTimeout(runFixes, 150); }); })(); /* ========================================================= MEETGIRL — FIX DESKTOP STRUCTURE V1.2 ========================================================= */ @media (min-width: 992px){ body.single-job_listing .mgp-top{ display:grid !important; grid-template-columns:minmax(0, 1fr) 390px !important; gap:22px !important; align-items:start !important; margin-bottom:22px !important; } body.single-job_listing .mgp-left-stack{ display:flex !important; flex-direction:column !important; gap:18px !important; min-width:0 !important; } body.single-job_listing .mgp-left-stack .mgp-identity{ margin:0 !important; } body.single-job_listing .mgp-left-stack .block-field-job_description, body.single-job_listing .mgp-left-stack .block-type-text.block-field-job_description{ margin:0 !important; width:100% !important; max-width:100% !important; } body.single-job_listing .mgp-left-stack .block-field-job_description .element, body.single-job_listing .mgp-left-stack .block-field-job_description .content-block{ border-radius:26px !important; background:#140d13 !important; border:1px solid rgba(255,255,255,.10) !important; box-shadow:0 18px 46px rgba(0,0,0,.22) !important; } body.single-job_listing .mgp-contact{ align-self:start !important; } /* Alignement propre des lignes desktop */ body.single-job_listing .extra-details li{ display:grid !important; grid-template-columns: 38% 1fr !important; align-items:center !important; gap:18px !important; } body.single-job_listing .item-attr{ text-align:left !important; white-space:normal !important; } body.single-job_listing .item-property{ text-align:left !important; justify-self:start !important; width:100% !important; } body.single-job_listing .block-type-details .outlined-list li, body.single-job_listing .block-type-details .details-block-content li{ display:grid !important; grid-template-columns: 38% 1fr !important; align-items:center !important; gap:18px !important; } body.single-job_listing .block-type-details .wp-editor-content{ text-align:left !important; justify-self:start !important; } } /* Si WhatsApp absent, on force la disparition propre */ body.single-job_listing.mgp-no-whatsapp .mgp-btn.wa, body.single-job_listing.mgp-no-whatsapp .mgp-mobile-sticky .mgp-btn.wa, body.single-job_listing.mgp-no-whatsapp a[href*="wa.me"], body.single-job_listing.mgp-no-whatsapp a[href*="whatsapp"]{ display:none !important; } body.single-job_listing.mgp-no-whatsapp .mgp-mobile-sticky-inner{ grid-template-columns:1fr !important; } body.single-job_listing.mgp-no-whatsapp .mgp-mobile-sticky .mgp-btn.call{ grid-column:1 / -1 !important; } (function(){ 'use strict'; var HAS_WHATSAPP = true; function one(sel, root){ return (root || document).querySelector(sel); } function all(sel, root){ return Array.prototype.slice.call((root || document).querySelectorAll(sel)); } function fixWhatsapp(){ if (HAS_WHATSAPP) return; document.body.classList.add('mgp-no-whatsapp'); all('.mgp-btn.wa, .mgp-mobile-sticky .mgp-btn.wa').forEach(function(el){ el.remove(); }); all('a[href*="wa.me"], a[href*="whatsapp"]').forEach(function(a){ var inPremium = a.closest('.mgp-contact') || a.closest('.mgp-mobile-sticky') || a.closest('.quick-listing-actions'); if (inPremium) { var li = a.closest('li'); if (li) { li.style.display = 'none'; } a.style.display = 'none'; } }); var stickyInner = one('.mgp-mobile-sticky-inner'); if (stickyInner && stickyInner.children.length === 1) { stickyInner.children[0].classList.add('only-one'); } } function moveDescriptionUnderIdentityDesktop(){ if (window.innerWidth < 992) return; var top = one('.mgp-top'); var identity = one('.mgp-identity'); var contact = one('.mgp-contact'); var desc = one('.block-field-job_description, .block-type-text.block-field-job_description'); if (!top || !identity || !contact || !desc) return; if (one('.mgp-left-stack')) return; var stack = document.createElement('div'); stack.className = 'mgp-left-stack'; top.insertBefore(stack, identity); stack.appendChild(identity); stack.appendChild(desc); if (contact.parentNode !== top) { top.appendChild(contact); } } function fixTablesAlignment(){ all('.extra-details li').forEach(function(li){ li.style.display = 'grid'; li.style.gridTemplateColumns = window.innerWidth >= 992 ? '38% 1fr' : '1fr'; li.style.alignItems = 'center'; }); } function run(){ fixWhatsapp(); moveDescriptionUnderIdentityDesktop(); fixTablesAlignment(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); } window.addEventListener('load', function(){ run(); setTimeout(run, 400); setTimeout(run, 1200); }); window.addEventListener('resize', function(){ setTimeout(run, 180); }); })(); @media (min-width: 992px){ body.single-job_listing .mgp-shell{ max-width:1460px !important; padding-left:18px !important; padding-right:18px !important; } body.single-job_listing .mgp-top{ grid-template-columns:minmax(0, 1fr) 360px !important; gap:24px !important; max-width:1460px !important; margin-left:auto !important; margin-right:auto !important; } body.single-job_listing .mgp-left-stack{ width:100% !important; max-width:none !important; } body.single-job_listing .mgp-identity{ width:100% !important; max-width:none !important; min-height:0 !important; padding:28px 30px 30px !important; } body.single-job_listing .mgp-title{ font-size:clamp(42px, 4.2vw, 68px) !important; line-height:.92 !important; letter-spacing:-.065em !important; max-width:980px !important; } body.single-job_listing .mgp-tagline{ font-size:clamp(21px, 2vw, 30px) !important; max-width:900px !important; } body.single-job_listing .mgp-chip-grid{ max-width:980px !important; } body.single-job_listing .mgp-contact{ width:360px !important; max-width:360px !important; padding:18px !important; } body.single-job_listing .mgp-contact-title{ font-size:21px !important; } body.single-job_listing .mgp-contact-card{ padding:11px !important; } body.single-job_listing .mgp-btn{ min-height:49px !important; } body.single-job_listing .tab-template-two-columns > .row{ max-width:1320px !important; } body.single-job_listing .cts-main-column, body.single-job_listing .cts-side-column, body.single-job_listing .cts-column-wrapper, body.single-job_listing .cts-main-column > div, body.single-job_listing .cts-side-column > div, body.single-job_listing .block-type-gallery, body.single-job_listing .block-type-general_repeater, body.single-job_listing .block-type-location, body.single-job_listing .block-type-details, body.single-job_listing .block-type-table, body.single-job_listing .block-type-text, body.single-job_listing .block-type-tags, body.single-job_listing .block-type-categories{ max-width:1320px !important; } } @media (min-width: 1400px){ body.single-job_listing .mgp-shell{ max-width:1540px !important; } body.single-job_listing .mgp-top{ grid-template-columns:minmax(0, 1fr) 370px !important; max-width:1540px !important; } body.single-job_listing .mgp-contact{ width:370px !important; max-width:370px !important; } body.single-job_listing .mgp-title{ max-width:1080px !important; } body.single-job_listing .mgp-tagline, body.single-job_listing .mgp-chip-grid{ max-width:1040px !important; } } @media (max-width: 991px) { body.single-job_listing .mgp-contact .mgp-actions { display: none !important; } body.single-job_listing .mgp-mobile-bottom-actions { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; max-width: 680px !important; margin: 18px auto 92px !important; padding: 0 10px !important; } body.single-job_listing .mgp-mobile-bottom-actions .mgp-btn { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 46px !important; border-radius: 16px !important; background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.14) !important; color: #ffffff !important; font-size: 13px !important; font-weight: 900 !important; text-decoration: none !important; } } @media (min-width: 992px) { body.single-job_listing .mgp-mobile-bottom-actions { display: none !important; } } (function(){ 'use strict'; function one(sel, root){ return (root || document).querySelector(sel); } function buildBottomActions(){ if (window.innerWidth > 991) return; if (one('.mgp-mobile-bottom-actions')) return; var share = one('#mgp-share-btn'); var report = one('#mgp-report-btn'); if (!share && !report) return; var wrap = document.createElement('div'); wrap.className = 'mgp-mobile-bottom-actions'; if (share) { var shareClone = share.cloneNode(true); shareClone.removeAttribute('id'); shareClone.addEventListener('click', function(e){ e.preventDefault(); share.click(); }); wrap.appendChild(shareClone); } if (report) { var reportClone = report.cloneNode(true); reportClone.removeAttribute('id'); reportClone.addEventListener('click', function(e){ e.preventDefault(); report.click(); }); wrap.appendChild(reportClone); } var target = one('.listing-tabs') || one('#c27-single-listing') || document.body; target.parentNode.insertBefore(wrap, target.nextSibling); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', buildBottomActions); } else { buildBottomActions(); } window.addEventListener('load', function(){ buildBottomActions(); setTimeout(buildBottomActions, 500); }); })(); @media (max-width: 991px) { body.single-job_listing .mg-slider-hint-v4 { position: fixed !important; left: 50% !important; top: 96px !important; transform: translateX(-50%) translateY(-8px) !important; z-index: 999999 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; padding: 9px 14px !important; border-radius: 999px !important; background: rgba(15, 11, 16, .82) !important; border: 1px solid rgba(255,255,255,.24) !important; color: #ffffff !important; font-size: 12px !important; font-weight: 850 !important; line-height: 1 !important; white-space: nowrap !important; box-shadow: 0 12px 30px rgba(0,0,0,.35) !important; backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important; pointer-events: none !important; opacity: 0 !important; transition: opacity .35s ease, transform .35s ease !important; } body.single-job_listing .mg-slider-hint-v4.is-visible { opacity: 1 !important; transform: translateX(-50%) translateY(0) !important; } body.single-job_listing .mg-slider-hint-v4-icon { color: #f67675 !important; font-size: 15px !important; line-height: 1 !important; animation: mgSliderHintV4Move 1.1s ease-in-out infinite !important; } @keyframes mgSliderHintV4Move { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } } } @media (min-width: 992px) { body.single-job_listing .mg-slider-hint-v4 { display: none !important; } } (function() { 'use strict'; var hintText = "Glisser pour voir les photos"; function isMobile() { return window.innerWidth <= 991; } function hasGallery() { return document.querySelector('.header-gallery-carousel') || document.querySelector('.profile-cover-gallery') || document.querySelector('.featured-section-gallery') || document.querySelector('.profile-cover'); } function removeOldHints() { document.querySelectorAll( '.mg-hero-slider-hint, .mg-hero-slider-hint-v2, .mg-hero-slider-hint-v3, .mg-slider-hint-v4' ).forEach(function(el) { el.remove(); }); } function initHint() { if (!isMobile()) return; if (!hasGallery()) return; removeOldHints(); var hint = document.createElement('div'); hint.className = 'mg-slider-hint-v4'; hint.innerHTML = '<span class="mg-slider-hint-v4-icon">↔</span>' + '<span>' + hintText + '</span>'; document.body.appendChild(hint); setTimeout(function() { hint.classList.add('is-visible'); }, 600); setTimeout(function() { hint.classList.remove('is-visible'); }, 5200); setTimeout(function() { if (hint && hint.parentNode) { hint.parentNode.removeChild(hint); } }, 6200); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initHint); } else { initHint(); } window.addEventListener('load', function() { setTimeout(initHint, 500); }); })(); /* Masquer le bloc spécialités natif : déjà affiché dans le bloc premium */ body.single-job_listing .block-type-tags { display: none !important; } /* Anti débordement global */ body.single-job_listing, body.single-job_listing html, body.single-job_listing #c27-single-listing, body.single-job_listing .single-job-listing { overflow-x: hidden !important; max-width: 100vw !important; } @media (max-width: 991px) { body.single-job_listing { width: 100% !important; max-width: 100vw !important; overflow-x: hidden !important; touch-action: pan-y !important; } body.single-job_listing .mgp-shell, body.single-job_listing .listing-tabs, body.single-job_listing .tab-template-two-columns, body.single-job_listing .tab-template-two-columns > .row, body.single-job_listing .cts-main-column, body.single-job_listing .cts-side-column, body.single-job_listing .cts-column-wrapper { width: 100% !important; max-width: 100vw !important; overflow-x: hidden !important; } /* Stabilise les galeries MyListing */ body.single-job_listing .gallerySlider, body.single-job_listing .galleryPreview, body.single-job_listing .galleryPreview .owl-stage-outer, body.single-job_listing .gallery-thumb, body.single-job_listing .gallery-thumb .owl-stage-outer, body.single-job_listing .header-gallery-carousel, body.single-job_listing .header-gallery-carousel .owl-stage-outer { overflow: hidden !important; max-width: 100% !important; transform: none !important; will-change: auto !important; } body.single-job_listing .galleryPreview .owl-stage, body.single-job_listing .gallery-thumb .owl-stage, body.single-job_listing .header-gallery-carousel .owl-stage { will-change: auto !important; } body.single-job_listing .galleryPreview .owl-item, body.single-job_listing .gallery-thumb .owl-item, body.single-job_listing .header-gallery-carousel .owl-item { overflow: hidden !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; } body.single-job_listing img, body.single-job_listing .lf-background, body.single-job_listing .item, body.single-job_listing .photoswipe-item { max-width: 100% !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; } /* Similar listings : éviter les déplacements Isotope pendant scroll */ body.single-job_listing .similar-listings .section-body.grid { position: relative !important; height: auto !important; overflow: hidden !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; margin: 0 !important; } body.single-job_listing .similar-listings .grid-item { position: relative !important; left: auto !important; top: auto !important; float: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; transform: none !important; } body.single-job_listing .similar-listings .lf-item-container { width: 100% !important; max-width: 100% !important; overflow: hidden !important; transform: none !important; } body.single-job_listing .similar-listings .lf-item { overflow: hidden !important; transform: none !important; } body.single-job_listing .similar-listings .lf-item > a { overflow: hidden !important; } } (function(){ 'use strict'; function isMobile(){ return window.innerWidth <= 991; } function all(sel, root){ return Array.prototype.slice.call((root || document).querySelectorAll(sel)); } function hideSpecialtiesBlock(){ all('.block-type-tags').forEach(function(block){ block.style.display = 'none'; }); } function fixSimilarListingsMobile(){ if (!isMobile()) return; var grid = document.querySelector('.similar-listings .section-body.grid'); if (!grid) return; grid.style.setProperty('position', 'relative', 'important'); grid.style.setProperty('height', 'auto', 'important'); grid.style.setProperty('overflow', 'hidden', 'important'); grid.style.setProperty('display', 'grid', 'important'); grid.style.setProperty('grid-template-columns', 'repeat(2, minmax(0, 1fr))', 'important'); grid.style.setProperty('gap', '8px', 'important'); all('.similar-listings .grid-item').forEach(function(item){ item.style.setProperty('position', 'relative', 'important'); item.style.setProperty('left', 'auto', 'important'); item.style.setProperty('top', 'auto', 'important'); item.style.setProperty('float', 'none', 'important'); item.style.setProperty('width', '100%', 'important'); item.style.setProperty('padding', '0', 'important'); item.style.setProperty('margin', '0', 'important'); item.style.setProperty('transform', 'none', 'important'); }); } function fixOverflow(){ document.documentElement.style.setProperty('overflow-x', 'hidden', 'important'); document.body.style.setProperty('overflow-x', 'hidden', 'important'); all('.mgp-shell, .listing-tabs, .tab-template-two-columns, .cts-main-column, .cts-side-column').forEach(function(el){ el.style.setProperty('max-width', '100%', 'important'); el.style.setProperty('overflow-x', 'hidden', 'important'); }); } function run(){ hideSpecialtiesBlock(); fixOverflow(); fixSimilarListingsMobile(); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); } window.addEventListener('load', function(){ run(); setTimeout(run, 400); setTimeout(run, 1200); }); window.addEventListener('scroll', function(){ if (!isMobile()) return; window.requestAnimationFrame(fixSimilarListingsMobile); }, { passive: true }); window.addEventListener('resize', function(){ setTimeout(run, 150); }); })(); @media (max-width: 991px) { html, body { overflow-x: hidden !important; max-width: 100vw !important; } .lf-item-container.listing-preview, .lf-item-container.listing-preview .lf-item, .lf-item-container.listing-preview .lf-item > a { overflow: hidden !important; max-width: 100% !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; transform: none !important; transition: none !important; will-change: auto !important; isolation: isolate !important; contain: paint !important; } .lf-item-container.listing-preview .lf-item > a { position: relative !important; clip-path: inset(0 round 14px) !important; } .lf-item-container.listing-preview .lf-background { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: 100% !important; background-size: cover !important; background-position: center center !important; background-repeat: no-repeat !important; background-attachment: scroll !important; transform: none !important; transition: none !important; will-change: auto !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; } .lf-item-container.listing-preview .overlay { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; transform: none !important; transition: none !important; will-change: auto !important; pointer-events: none !important; } .results-view.grid, .section-body.grid, .similar-listings .section-body.grid { overflow: hidden !important; max-width: 100% !important; } .grid-item { max-width: 100% !important; backface-visibility: hidden !important; -webkit-backface-visibility: hidden !important; transform: none !important; transition: none !important; will-change: auto !important; } body.mg-mobile-is-scrolling .lf-item-container.listing-preview, body.mg-mobile-is-scrolling .lf-item-container.listing-preview .lf-item, body.mg-mobile-is-scrolling .lf-item-container.listing-preview .lf-background, body.mg-mobile-is-scrolling .lf-item-container.listing-preview .overlay, body.mg-mobile-is-scrolling .grid-item { transform: none !important; transition: none !important; will-change: auto !important; } } (function(){ 'use strict'; var timer = null; function isMobile(){ return window.innerWidth <= 991; } function stabilizeCards(){ if (!isMobile()) return; document.querySelectorAll('.lf-item-container.listing-preview .lf-background').forEach(function(bg){ bg.style.setProperty('transform', 'none', 'important'); bg.style.setProperty('transition', 'none', 'important'); bg.style.setProperty('will-change', 'auto', 'important'); bg.style.setProperty('background-attachment', 'scroll', 'important'); }); document.querySelectorAll('.lf-item-container.listing-preview, .lf-item-container.listing-preview .lf-item, .lf-item-container.listing-preview .lf-item > a').forEach(function(el){ el.style.setProperty('overflow', 'hidden', 'important'); el.style.setProperty('transform', 'none', 'important'); el.style.setProperty('transition', 'none', 'important'); el.style.setProperty('will-change', 'auto', 'important'); }); } function onScroll(){ if (!isMobile()) return; document.body.classList.add('mg-mobile-is-scrolling'); if (timer) { clearTimeout(timer); } timer = setTimeout(function(){ document.body.classList.remove('mg-mobile-is-scrolling'); stabilizeCards(); }, 180); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', stabilizeCards); } else { stabilizeCards(); } window.addEventListener('load', function(){ stabilizeCards(); setTimeout(stabilizeCards, 500); setTimeout(stabilizeCards, 1500); }); window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', function(){ setTimeout(stabilizeCards, 200); }); })(); window.lazyLoadOptions = [{ elements_selector: "img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]", data_src: "lazy-src", data_srcset: "lazy-srcset", data_sizes: "lazy-sizes", class_loading: "lazyloading", class_loaded: "lazyloaded", threshold: 300, callback_loaded: function(element) { if ( element.tagName === "IFRAME" && element.dataset.rocketLazyload == "fitvidscompatible" ) { if (element.classList.contains("lazyloaded") ) { if (typeof window.jQuery != "undefined") { if (jQuery.fn.fitVids) { jQuery(element).parent().fitVids(); } } } } }},{ elements_selector: ".rocket-lazyload", data_src: "lazy-src", data_srcset: "lazy-srcset", data_sizes: "lazy-sizes", class_loading: "lazyloading", class_loaded: "lazyloaded", threshold: 300, }]; window.addEventListener('LazyLoad::Initialized', function (e) { var lazyLoadInstance = e.detail.instance; if (window.MutationObserver) { var observer = new MutationObserver(function(mutations) { var image_count = 0; var iframe_count = 0; var rocketlazy_count = 0; mutations.forEach(function(mutation) { for (var i = 0; i < mutation.addedNodes.length; i++) { if (typeof mutation.addedNodes[i].getElementsByTagName !== 'function') { continue; } if (typeof mutation.addedNodes[i].getElementsByClassName !== 'function') { continue; } images = mutation.addedNodes[i].getElementsByTagName('img'); is_image = mutation.addedNodes[i].tagName == "IMG"; iframes = mutation.addedNodes[i].getElementsByTagName('iframe'); is_iframe = mutation.addedNodes[i].tagName == "IFRAME"; rocket_lazy = mutation.addedNodes[i].getElementsByClassName('rocket-lazyload'); image_count += images.length; iframe_count += iframes.length; rocketlazy_count += rocket_lazy.length; if(is_image){ image_count += 1; } if(is_iframe){ iframe_count += 1; } } } ); if(image_count > 0 || iframe_count > 0 || rocketlazy_count > 0){ lazyLoadInstance.update(); } } ); var b = document.getElementsByTagName("body")[0]; var config = { childList: true, subtree: true }; observer.observe(b, config); } }, false);function lazyLoadThumb(e,alt){var t='<img loading="lazy" src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360">',a='<button class="play" aria-label="play Youtube video"></button>';t=t.replace('alt=""','alt="'+alt+'"');return t.replace("ID",e)+a}function lazyLoadYoutubeIframe(){var e=document.createElement("iframe"),t="ID?autoplay=1";t+=0===this.parentNode.dataset.query.length?'':'&'+this.parentNode.dataset.query;e.setAttribute("src",t.replace("ID",this.parentNode.dataset.src)),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","1"),e.setAttribute("allow", "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"),this.parentNode.parentNode.replaceChild(e,this.parentNode)}document.addEventListener("DOMContentLoaded",function(){var e,t,p,a=document.getElementsByClassName("rll-youtube-player");for(t=0;t<a.length;t++)e=document.createElement("div"),e.setAttribute("data-id",a[t].dataset.id),e.setAttribute("data-query", a[t].dataset.query),e.setAttribute("data-src", a[t].dataset.src),e.innerHTML=lazyLoadThumb(a[t].dataset.id,a[t].dataset.alt),a[t].appendChild(e),p=e.querySelector('.play'),p.onclick=lazyLoadYoutubeIframe}); ׋› 📞 Appeler🟢 WhatsApp Age vérification + de 18 ansVous certifiez avoir atteint l'âge de majorité légale de votre pays de résidence. En cliquant sur "Entrer" vous acceptez les [CGU] et vous confirmez avoir plus de 18 ans.Entrer var snp_bld_open4614=function(){_snp_bld_open(4614);}; var snp_bld_close4614=function(){_snp_bld_close(4614);}; .snp-pop-4614 .snp-bld-step-cont-1 {}.snp-pop-4614 .snp-bld-step-1 {width: 500px;height: 600px;background-position: center center;background-repeat: repeat;}.snp-pop-4614 .bld-step-1-el-0 { border: 1px solid transparent;width: 501px;height: 599px;top: -0.9375px;left: -1px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-0 .bld-el,.snp-pop-4614 .bld-step-1-el-0 .bld-el p,.snp-pop-4614 .bld-step-1-el-0 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-0 .bld-el:active,.snp-pop-4614 .bld-step-1-el-0 .bld-el:hover{outline: 0;border-width: 0px;background-color: #7f012b !important;background-position: center center;background-repeat: repeat;}.snp-pop-4614 .bld-step-1-el-1 { border: 1px solid transparent;width: 316px;height: 35px;top: 170.0625px;left: 116px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-1 .bld-el,.snp-pop-4614 .bld-step-1-el-1 .bld-el p,.snp-pop-4614 .bld-step-1-el-1 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-1 .bld-el:active,.snp-pop-4614 .bld-step-1-el-1 .bld-el:hover{outline: 0;font-family: 'Roboto';border-width: 0px;background-position: center center;background-repeat: repeat;}.snp-pop-4614 .bld-step-1-el-2 { border: 1px solid transparent;width: 387px;height: 78px;top: 210.0625px;left: 54px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-2 .bld-el,.snp-pop-4614 .bld-step-1-el-2 .bld-el p,.snp-pop-4614 .bld-step-1-el-2 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-2 .bld-el:active,.snp-pop-4614 .bld-step-1-el-2 .bld-el:hover{outline: 0;font-family: 'Open Sans';border-width: 0px;background-position: center center;background-repeat: repeat;}.snp-pop-4614 .bld-step-1-el-3 { border: 1px solid transparent;width: 200px;height: 50px;top: 295px;left: 143px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-3 .bld-el,.snp-pop-4614 .bld-step-1-el-3 .bld-el p,.snp-pop-4614 .bld-step-1-el-3 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-3 .bld-el:active,.snp-pop-4614 .bld-step-1-el-3 .bld-el:hover{outline: 0;color: #ffffff;font-family: 'Roboto';font-size: 17px;font-weight: bold;border-style: none;border-width: 8px;border-radius: 8px;background-color: #f67675 !important;background-position: center center;background-repeat: repeat;padding-left: 10px;}.snp-pop-4614 .bld-step-1-el-4 { border: 1px solid transparent;width: 112.078px;height: 117px;top: 37px;left: 196px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-4 .bld-el,.snp-pop-4614 .bld-step-1-el-4 .bld-el p,.snp-pop-4614 .bld-step-1-el-4 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-4 .bld-el:active,.snp-pop-4614 .bld-step-1-el-4 .bld-el:hover{outline: 0;}.snp-pop-4614 .bld-step-1-el-5 { border: 1px solid transparent;width: 99px;height: 72px;top: 381px;left: 52px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-5 .bld-el,.snp-pop-4614 .bld-step-1-el-5 .bld-el p,.snp-pop-4614 .bld-step-1-el-5 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-5 .bld-el:active,.snp-pop-4614 .bld-step-1-el-5 .bld-el:hover{outline: 0;}.snp-pop-4614 .bld-step-1-el-6 { border: 1px solid transparent;width: 99px;height: 72px;top: 380px;left: 190px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-6 .bld-el,.snp-pop-4614 .bld-step-1-el-6 .bld-el p,.snp-pop-4614 .bld-step-1-el-6 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-6 .bld-el:active,.snp-pop-4614 .bld-step-1-el-6 .bld-el:hover{outline: 0;}.snp-pop-4614 .bld-step-1-el-7 { border: 1px solid transparent;width: 99px;height: 72px;top: 379px;left: 336px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-7 .bld-el,.snp-pop-4614 .bld-step-1-el-7 .bld-el p,.snp-pop-4614 .bld-step-1-el-7 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-7 .bld-el:active,.snp-pop-4614 .bld-step-1-el-7 .bld-el:hover{outline: 0;}.snp-pop-4614 .bld-step-1-el-8 { border: 1px solid transparent;width: 99px;height: 72px;top: 480px;left: 190px;z-index: 100;}.snp-pop-4614 .bld-step-1-el-8 .bld-el,.snp-pop-4614 .bld-step-1-el-8 .bld-el p,.snp-pop-4614 .bld-step-1-el-8 .bld-el:focus,.snp-pop-4614 .bld-step-1-el-8 .bld-el:active,.snp-pop-4614 .bld-step-1-el-8 .bld-el:hover{outline: 0;}#snp-pop-4614-overlay {opacity: 0.8;background-color: #5A5757;} snp_f['snppopup-welcome-open']=snp_bld_open4614; snp_f['snppopup-welcome-close']=snp_bld_close4614;
Club Delicious

Contact Methods

+41227840787
WhatsApp Sms Telegram
Back to gallery

Availability

Switzerland

{}

Location

Switzerland

Switzerland

Call WhatsApp