{"id":8504,"date":"2025-07-01T16:48:17","date_gmt":"2025-07-01T14:48:17","guid":{"rendered":"https:\/\/www.mbs-industry.com\/?page_id=8504"},"modified":"2026-07-08T16:07:49","modified_gmt":"2026-07-08T14:07:49","slug":"lenrouleur-motorise-cami","status":"publish","type":"page","link":"https:\/\/www.mbs-industry.com\/en\/motorized-autobelay-cami\/","title":{"rendered":"CAMI Motorized Auto-Belay"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8504\" class=\"elementor elementor-8504\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d498d96 e-flex e-con-boxed e-con e-parent\" data-id=\"d498d96\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-f280605 e-con-full e-flex e-con e-child\" data-id=\"f280605\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3247475 elementor-widget elementor-widget-image\" data-id=\"3247475\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1250\" height=\"1250\" src=\"https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971.webp\" class=\"attachment-full size-full wp-image-9630\" alt=\"CAMI\" srcset=\"https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971.webp 1250w, https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971-600x600.webp 600w, https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971-100x100.webp 100w, https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971-1200x1200.webp 1200w, https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971-300x300.webp 300w, https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971-1024x1024.webp 1024w, https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971-150x150.webp 150w, https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971-768x768.webp 768w, https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/10\/fv1-e1770379069971-700x700.webp 700w\" sizes=\"(max-width: 1250px) 100vw, 1250px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-065777b e-con-full e-flex e-con e-child\" data-id=\"065777b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3cc85b5 elementor-widget elementor-widget-heading\" data-id=\"3cc85b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">C.A.M.I. \u2013 the <span style=\"color: #faa94a\">first motorized auto-belay.<\/span><br> \nCLIMBING accessible to everyone.<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2102cd elementor-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"c2102cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Assiste les grimpeurs en les d\u00e9lestant jusqu'\u00e0 95% de leur poids. C'est ce qu'on appelle <span style=\"color: #faa94a\">le Footing Vertical\u2122.<\/span><\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Fonctionne aussi comme un enrouleur \"classique\" sans assistance<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Permet aux s\u00e9niors, aux personnes en situation de handicap et de toutes morphologies de pratiquer l'escalade<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Tout le monde peut grimper en toute autonomie et en s\u00e9curit\u00e9. C'est le \"v\u00e9lo \u00e9lectrique de l'escalade\".<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11139cd elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"11139cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">THE \"E-BIKE OF CLIMBING\"<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8246476 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"8246476\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">THE \"E-BIKE OF CLIMBING\"<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af1af17 elementor-align-left elementor-button-warning elementor-invisible elementor-widget elementor-widget-button\" data-id=\"af1af17\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm elementor-animation-float\" href=\"https:\/\/www.mbs-industry.com\/en\/footing-vertical-private-gyms\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">THE BENEFITS FOR MY GYM<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-57bf626 e-flex e-con-boxed e-con e-parent\" data-id=\"57bf626\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e97aa41 elementor-widget elementor-widget-heading\" data-id=\"e97aa41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How it works<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-22ebeca elementor-widget elementor-widget-video\" data-id=\"22ebeca\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;vimeo&quot;,&quot;mute&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;yt_privacy&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<iframe class=\"elementor-video-iframe\" allowfullscreen allow=\"clipboard-write\" title=\"youtube Video Player\" src=\"https:\/\/www.youtube.com\/embed\/nCa9Q8muZqk?feature=oembed&amp;color&amp;autopause=0&amp;dnt=true&amp;loop=1&amp;muted=1&amp;title=1&amp;portrait=1&amp;byline=1\"><\/iframe>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fac4f07 e-flex e-con-boxed e-con e-parent\" data-id=\"fac4f07\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-91c973f elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"91c973f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How it works<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4f5adb elementor-align-start elementor-widget__width-inherit elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"c4f5adb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">D\u00e9tachez l'enrouleur motoris\u00e9 du boitier de s\u00e9curit\u00e9 BASS et l'attacher au baudrier ou au harnais CHAS<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Asseyez-vous dans le baudrier, appuyez sur la t\u00e9l\u00e9commande ou l'application mobile, et laissez l'enrouleur motoris\u00e9 vous peser.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">En quelques secondes, vous \u00eates pr\u00eats \u00e0 grimper.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Une fois en haut de la voie, appuyez sur la t\u00e9l\u00e9commande pour \u00eatre redescendu doucement au sol.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1f2d063 e-con-full e-flex e-con e-child\" data-id=\"1f2d063\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-616a6e1 e-con-full e-flex e-con e-child\" data-id=\"616a6e1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bd38711 elementor-widget elementor-widget-video\" data-id=\"bd38711\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;vimeo&quot;,&quot;mute&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;yt_privacy&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<iframe class=\"elementor-video-iframe\" allowfullscreen allow=\"clipboard-write\" title=\"youtube Video Player\" src=\"https:\/\/www.youtube.com\/embed\/ytfLaXVrBl4?feature=oembed&amp;color&amp;autopause=0&amp;dnt=true&amp;loop=1&amp;muted=1&amp;title=1&amp;portrait=1&amp;byline=1\"><\/iframe>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9ec53e8 e-con-full e-flex e-con e-child\" data-id=\"9ec53e8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aa22ac7 elementor-widget elementor-widget-image\" data-id=\"aa22ac7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"58\" height=\"71\" src=\"https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2025\/05\/Fichier-17.svg\" class=\"attachment-full size-full wp-image-6736\" alt=\"CAMI\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e660ceb e-transform elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"e660ceb\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_transform_scale_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_laptop&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">How it works<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cd5dd2d e-con-full e-flex e-con e-child\" data-id=\"cd5dd2d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-cb072d4 e-con-full e-flex e-con e-child\" data-id=\"cb072d4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aac570d elementor-widget elementor-widget-video\" data-id=\"aac570d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;vimeo&quot;,&quot;mute&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;yt_privacy&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<iframe class=\"elementor-video-iframe\" allowfullscreen allow=\"clipboard-write\" title=\"youtube Video Player\" src=\"https:\/\/www.youtube.com\/embed\/qi2TU4u5omo?feature=oembed&amp;color&amp;autopause=0&amp;dnt=true&amp;loop=1&amp;muted=1&amp;title=1&amp;portrait=1&amp;byline=1\"><\/iframe>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-08ce6f5 e-con-full e-flex e-con e-child\" data-id=\"08ce6f5\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5e48c3f elementor-widget elementor-widget-image\" data-id=\"5e48c3f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"41\" height=\"50\" src=\"https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2024\/10\/fauroul.svg\" class=\"attachment-full size-full wp-image-487\" alt=\"escalade\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-356de0b e-transform elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"356de0b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_transform_scale_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_laptop&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">How it works<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-537a4cf e-con-full e-flex e-con e-child\" data-id=\"537a4cf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-f1139da e-con-full e-flex e-con e-child\" data-id=\"f1139da\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c85e659 elementor-widget elementor-widget-video\" data-id=\"c85e659\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;vimeo&quot;,&quot;mute&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;yt_privacy&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<iframe class=\"elementor-video-iframe\" allowfullscreen allow=\"clipboard-write\" title=\"youtube Video Player\" src=\"https:\/\/www.youtube.com\/embed\/wab1MQgfxIg?feature=oembed&amp;color&amp;autopause=0&amp;dnt=true&amp;loop=1&amp;muted=1&amp;title=1&amp;portrait=1&amp;byline=1\"><\/iframe>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4a481d0 e-con-full e-flex e-con e-child\" data-id=\"4a481d0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3abd467 elementor-widget elementor-widget-image\" data-id=\"3abd467\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"56\" height=\"50\" src=\"https:\/\/www.mbs-industry.com\/wp-content\/uploads\/2024\/10\/muscleee.svg\" class=\"attachment-full size-full wp-image-1509\" alt=\"\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21e6f08 e-transform elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"21e6f08\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_transform_scale_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_laptop&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">How it works<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-71ddc41 e-flex e-con-boxed e-con e-parent\" data-id=\"71ddc41\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-588ad05 e-con-full e-flex e-con e-child\" data-id=\"588ad05\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8bb805c elementor-widget elementor-widget-heading\" data-id=\"8bb805c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Several French climbing gyms are already equipped with the world's first motorized auto-belay device and are accessible to everyone.<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-03249e5 e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"03249e5\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;zoomIn&quot;,&quot;animation_delay&quot;:300}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2f3e768 elementor-widget elementor-widget-html\" data-id=\"2f3e768\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- MBS Industry \u2014 Carte interactive des installations CAMI -->\n<!-- Coller ce code dans un widget HTML Elementor -->\n\n<script src=\"https:\/\/d3js.org\/d3.v7.min.js\"><\/script>\n<script src=\"https:\/\/d3js.org\/topojson.v3.min.js\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/papaparse@5.4.1\/papaparse.min.js\"><\/script>\n\n<style>\n  #mbs-map { margin: 0; padding: 0; box-sizing: border-box; }\n  #mbs-map *, #mbs-map *::before, #mbs-map *::after { box-sizing: border-box; }\n\n  #mbs-map .map-container {\n    position: relative;\n    width: 100%;\n    max-width: 100%;\n    margin: 0 auto;\n    background: #000;\n    border: 1px solid #222;\n    border-radius: 20px;\n    padding: 1px 1px 20px 1px;\n    box-shadow: 0 1px 3px rgba(256,256,256,0.1), 0 0 10px 5px rgba(0,0,0,0.25);\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  }\n\n  #mbs-map .map-wrapper {\n    position: relative;\n    width: 100%;\n    max-height: 700px;\n    overflow: hidden;\n    border-radius: 18px;\n    border: 0px solid #000000;\n    cursor: grab;\n  }\n\n  #mbs-map .map-wrapper:active { cursor: grabbing; }\n\n  #mbs-map .map-wrapper svg {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  #mbs-map .country {\n    fill: #222222;\n    stroke: #FAA94A;\n    stroke-width: 0;\n    pointer-events: none;\n  }\n\n  #mbs-map .water { fill: #000; }\n\n  #mbs-map .graticule {\n    fill: none;\n    stroke: #000;\n    stroke-width: 0.5;\n  }\n\n  #mbs-map .country-border {\n    fill: none;\n    stroke: #444;\n    stroke-width: 0.5;\n    stroke-linejoin: round;\n  }\n\n  #mbs-map .marker { cursor: pointer; }\n  #mbs-map .marker-dot { transition: r 0.15s ease; }\n  #mbs-map .marker-cami .marker-dot { fill: #F9A949; }\n\n\n  #mbs-map .tooltip {\n    position: absolute;\n    pointer-events: none;\n    background: #111;\n    color: #fff;\n    padding: 15px;\n    border-radius: 10px;\n    font-size: 0.82rem;\n    line-height: 1.5;\n    opacity: 0;\n    transform: translateY(4px);\n    transition: opacity 0.15s, transform 0.15s;\n    z-index: 100;\n    white-space: nowrap;\n    box-shadow: 0 4px 20px rgba(0,0,0,0.2);\n  }\n\n  #mbs-map .tooltip.visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  #mbs-map .tooltip-name {\n    font-weight: 700;\n    font-size: 0.92rem;\n    margin-bottom: 2px;\n  }\n\n  #mbs-map .tooltip-location {\n    color: #fff;\n    font-size: 0.78rem;\n  }\n\n  #mbs-map .tooltip-products {\n    margin-top: 8px;\n    display: flex;\n    gap: 6px;\n    flex-wrap: wrap;\n  }\n\n  #mbs-map .tooltip-badge {\n    display: inline-block;\n    padding: 3px 10px;\n    border-radius: 5px;\n    font-size: 0.72rem;\n    font-weight: 600;\n    letter-spacing: 0.03em;\n  }\n\n  #mbs-map .tooltip-badge.cami {\n    background: rgba(249,169,73,0.15);\n    color: #F9A949;\n  }\n\n  #mbs-map .zoom-controls {\n    position: absolute;\n    top: 12px;\n    right: 12px;\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n    z-index: 50;\n  }\n\n  #mbs-map .zoom-btn {\n    width: 32px;\n    height: 32px;\n    border: 1px solid #000;\n    background: #FAA94A;\n    border-radius: 8px;\n    font-size: 1.1rem;\n    color: #000;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: background 0.15s, color 0.15s;\n    box-shadow: 0 1px 3px rgba(0,0,0,0.06);\n  }\n\n  #mbs-map .zoom-btn:hover {\n    background: #fff;\n    color: #000;\n    border-color: #111;\n  }\n\n  #mbs-map .zoom-hint {\n    position: absolute;\n    bottom: 10px;\n    left: 50%;\n    transform: translateX(-50%);\n    font-size: 0.7rem;\n    color: #fff;\n    z-index: 50;\n    pointer-events: none;\n    transition: opacity 0.3s;\n  }\n\n  #mbs-map .legend {\n    display: flex;\n    justify-content: center;\n    gap: 20px;\n    margin-top: 20px;\n    flex-wrap: wrap;\n  }\n\n  #mbs-map .legend-item {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    font-family: Poppins;\n    font-size: 0.8rem;\n    color: #fff;\n    font-weight: 500;\n  }\n\n  #mbs-map .legend-dot {\n    width: 10px;\n    height: 10px;\n    border-radius: 50%;\n    flex-shrink: 0;\n  }\n\n  #mbs-map .legend-dot.cami { background: #F9A949; }\n\n  #mbs-map .stats {\n    display: flex;\n    justify-content: center;\n    gap: 32px;\n    margin-top: 16px;\n    padding-top: 16px;\n    border-top: 1px solid #222;\n    flex-wrap: wrap;\n  }\n\n  #mbs-map .stat { text-align: center; }\n\n  #mbs-map .stat-number {\n    font-size: 30px;\n    font-family: Poppins;\n    font-weight: 700;\n    color: #ffffff;\n  }\n\n  #mbs-map .stat-label {\n    font-size: 14px;\n    font-family: Poppins;\n    color: #fff;\n    text-transform: uppercase;\n    letter-spacing: 0.06em;\n    margin-top: 2px;\n  }\n\n  @media (max-width: 600px) {\n    #mbs-map .map-container { padding: 20px 12px 16px; border-radius: 12px; }\n    #mbs-map .legend { gap: 12px; }\n    #mbs-map .stats { gap: 16px; }\n    #mbs-map .stat-number { font-size: 1.2rem; }\n    #mbs-map .tooltip { white-space: normal; max-width: calc(100% - 16px); }\n  }\n<\/style>\n\n<div id=\"mbs-map\">\n  <div class=\"map-container\">\n    <div class=\"map-wrapper\" id=\"mbs-map-wrapper\">\n      <div class=\"zoom-controls\">\n        <button class=\"zoom-btn\" id=\"mbs-zoom-in\" title=\"Zoom avant\">+<\/button>\n        <button class=\"zoom-btn\" id=\"mbs-zoom-out\" title=\"Zoom arri\u00e8re\">&minus;<\/button>\n        <button class=\"zoom-btn\" id=\"mbs-zoom-reset\" title=\"R\u00e9initialiser\" style=\"font-size:0.75rem;\">&#8634;<\/button>\n      <\/div>\n      <div class=\"zoom-hint\" id=\"mbs-zoom-hint\"><\/div>\n\n      <div class=\"tooltip\" id=\"mbs-tooltip\">\n        <div class=\"tooltip-name\" id=\"mbs-tooltip-name\"><\/div>\n        <div class=\"tooltip-location\" id=\"mbs-tooltip-location\"><\/div>\n        <div class=\"tooltip-products\" id=\"mbs-tooltip-products\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"legend\">\n      <div class=\"legend-item\">\n        <div class=\"legend-dot cami\"><\/div>\n        <span id=\"mbs-legend-cami\">CAMI \u2014 Footing Vertical&trade;<\/span>\n      <\/div>\n    <\/div>\n\n    <div class=\"stats\">\n      <div class=\"stat\">\n        <div class=\"stat-number\" id=\"mbs-stat-total\">&mdash;<\/div>\n        <div class=\"stat-label\" id=\"mbs-label-gyms\">Salles<\/div>\n      <\/div>\n      <div class=\"stat\">\n        <div class=\"stat-number\" id=\"mbs-stat-countries\">&mdash;<\/div>\n        <div class=\"stat-label\" id=\"mbs-label-countries\">Pays<\/div>\n      <\/div>\n      <div class=\"stat\">\n        <div class=\"stat-number\" id=\"mbs-stat-cami\">&mdash;<\/div>\n        <div class=\"stat-label\">CAMI<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  \/\/ --- i18n : d\u00e9tection de langue + dictionnaires (contournement Falang payant) ---\n  var LANG = (function () {\n    var l = (document.documentElement.lang || '').toLowerCase().slice(0, 2);\n    if (l === 'fr' || l === 'en') return l;\n    var m = location.pathname.match(\/\\\/(fr|en)\\\/\/);\n    return m ? m[1] : 'fr';\n  })();\n\n  var T = {\n    fr: {\n      zoomIn: 'Zoom avant', zoomOut: 'Zoom arri\u00e8re', zoomReset: 'R\u00e9initialiser',\n      hintTouch: 'Pincez pour zoomer', hintMouse: 'Scroll pour zoomer',\n      statGyms: 'Salles', statCountries: 'Pays',\n      legendCami: 'CAMI \u2014 Footing Vertical\u2122',\n      legendBass: 'BASS \u2014 Enrouleurs s\u00e9curis\u00e9s',\n      error: 'Erreur de chargement de la carte.'\n    },\n    en: {\n      zoomIn: 'Zoom in', zoomOut: 'Zoom out', zoomReset: 'Reset',\n      hintTouch: 'Pinch to zoom', hintMouse: 'Scroll to zoom',\n      statGyms: 'Gyms', statCountries: 'Countries',\n      legendCami: 'CAMI \u2014 Footing Vertical\u2122',\n      legendBass: 'BASS \u2014 Secured auto-belays',\n      error: 'Failed to load the map.'\n    }\n  };\n  var t = T[LANG] || T.fr;\n\n  var COUNTRY_EN = {\n    'France': 'France', 'Allemagne': 'Germany', 'Belgique': 'Belgium',\n    'Suisse': 'Switzerland', 'Espagne': 'Spain', 'Italie': 'Italy',\n    'Pays-Bas': 'Netherlands', 'Royaume-Uni': 'United Kingdom',\n    'Autriche': 'Austria', 'Luxembourg': 'Luxembourg', 'Portugal': 'Portugal',\n    'Pologne': 'Poland', 'R\u00e9publique tch\u00e8que': 'Czechia', 'Danemark': 'Denmark',\n    'Su\u00e8de': 'Sweden', 'Norv\u00e8ge': 'Norway', 'Finlande': 'Finland',\n    'Irlande': 'Ireland', 'Slov\u00e9nie': 'Slovenia', 'Croatie': 'Croatia'\n  };\n  function tCountry(c) { return (LANG === 'en' && COUNTRY_EN[c]) || c; }\n\n  \/\/ Application des cha\u00eenes statiques\n  document.getElementById('mbs-zoom-in').title = t.zoomIn;\n  document.getElementById('mbs-zoom-out').title = t.zoomOut;\n  document.getElementById('mbs-zoom-reset').title = t.zoomReset;\n  var I18N_LABELS = {\n    'mbs-label-gyms': t.statGyms,\n    'mbs-label-countries': t.statCountries,\n    'mbs-legend-cami': t.legendCami,\n    'mbs-legend-bass': t.legendBass\n  };\n  Object.keys(I18N_LABELS).forEach(function (id) {\n    var el = document.getElementById(id);\n    if (el) el.textContent = I18N_LABELS[id];\n  });\n\n  const SHEET_CSV_URL = 'https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vSXPEjAJyq0sRJGqd53q3MTnv2lH_4NFjfg2SSXon8bpNgrY_kSuejK9ldEWa8p-HxC5Ok_3tP2qrTE\/pub?gid=0&single=true&output=csv';\n\n  function loadInstallations() {\n    return new Promise(function(resolve, reject) {\n      Papa.parse(SHEET_CSV_URL, {\n        download: true,\n        header: true,\n        skipEmptyLines: true,\n        complete: function(results) {\n          var installations = results.data.map(function(row) {\n            return {\n              name: row.Nom,\n              city: row.Ville,\n              country: row.Pays,\n              lat: parseFloat(row.Latitude),\n              lon: parseFloat(row.Longitude),\n              nb_cami: parseInt(row.Nb_CAMI) || 0\n            };\n          }).filter(function(d) { return !isNaN(d.lat) && !isNaN(d.lon) && d.nb_cami > 0; });\n          resolve(installations);\n        },\n        error: function(err) { reject(err); }\n      });\n    });\n  }\n\n  var wrapper = document.getElementById('mbs-map-wrapper');\n  var width = 900;\n  var height = 560;\n\n  \/\/ Dynamic base radius: compensates for SVG shrink on small screens\n  var baseRadius = 4;\n  function updateBaseRadius() {\n    var containerWidth = wrapper.getBoundingClientRect().width;\n    if (containerWidth > 0) {\n      baseRadius = Math.min(4 * (width \/ containerWidth), 12);\n    }\n  }\n  updateBaseRadius();\n\n  \/\/ Recalculate on resize\n  if (typeof ResizeObserver !== 'undefined') {\n    new ResizeObserver(function() {\n      updateBaseRadius();\n      g.selectAll('.marker-dot').attr('r', baseRadius \/ currentScale);\n    }).observe(wrapper);\n  }\n\n  var projection = d3.geoMercator()\n    .center([2, 47])\n    .scale(600)\n    .translate([width \/ 2, height \/ 2]);\n\n  var path = d3.geoPath().projection(projection);\n\n  var svg = d3.select('#mbs-map-wrapper')\n    .append('svg')\n    .attr('viewBox', '0 0 ' + width + ' ' + height)\n    .attr('preserveAspectRatio', 'xMidYMid meet');\n\n  var g = svg.append('g');\n\n  var currentScale = 1;\n\n  var zoom = d3.zoom()\n    .scaleExtent([1, 12])\n    .on('zoom', function(event) {\n      g.attr('transform', event.transform);\n      currentScale = event.transform.k;\n      g.selectAll('.marker-dot').attr('r', baseRadius \/ currentScale);\n      d3.select('#mbs-zoom-hint').style('opacity', 0);\n    });\n\n  svg.call(zoom);\n\n  \/\/ Set zoom hint text based on device\n  var isTouchDevice = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0);\n  document.getElementById('mbs-zoom-hint').textContent = isTouchDevice ? t.hintTouch : t.hintMouse;\n\n  d3.select('#mbs-zoom-in').on('click', function() { svg.transition().duration(300).call(zoom.scaleBy, 1.5); });\n  d3.select('#mbs-zoom-out').on('click', function() { svg.transition().duration(300).call(zoom.scaleBy, 0.67); });\n  d3.select('#mbs-zoom-reset').on('click', function() { svg.transition().duration(400).call(zoom.transform, d3.zoomIdentity); });\n\n  var worldUrl = 'https:\/\/cdn.jsdelivr.net\/npm\/world-atlas@2\/countries-110m.json';\n\n  Promise.all([\n    d3.json(worldUrl),\n    loadInstallations()\n  ]).then(function(results) {\n    var world = results[0];\n    var installations = results[1];\n    var countries = topojson.feature(world, world.objects.countries);\n    var borders = topojson.mesh(world, world.objects.countries, function(a, b) { return a !== b; });\n\n    g.append('rect')\n      .attr('class', 'water')\n      .attr('width', width)\n      .attr('height', height);\n\n    g.selectAll('.country')\n      .data(countries.features)\n      .enter()\n      .append('path')\n      .attr('class', 'country')\n      .attr('d', path);\n\n    g.append('path')\n      .datum(borders)\n      .attr('class', 'country-border')\n      .attr('d', path);\n\n    var markerGroups = g.selectAll('.marker')\n      .data(installations)\n      .enter()\n      .append('g')\n      .attr('class', 'marker marker-cami')\n      .attr('transform', function(d) {\n        var coords = projection([d.lon, d.lat]);\n        return 'translate(' + coords[0] + ',' + coords[1] + ')';\n      });\n\n    markerGroups.append('circle')\n      .attr('class', 'marker-dot')\n      .attr('cx', 0)\n      .attr('cy', 0)\n      .attr('r', baseRadius)\n      .attr('shape-rendering', 'geometricPrecision');\n\n    var tooltip = document.getElementById('mbs-tooltip');\n    var tooltipName = document.getElementById('mbs-tooltip-name');\n    var tooltipLocation = document.getElementById('mbs-tooltip-location');\n    var tooltipProducts = document.getElementById('mbs-tooltip-products');\n\n    function buildProductBadges(d) {\n      return '<span class=\"tooltip-badge cami\">Footing Vertical\u2122<\/span>';\n    }\n\n    markerGroups\n      .on('mouseenter', function(event, d) {\n        d3.select(this).select('.marker-dot').attr('r', (baseRadius * 1.35) \/ currentScale);\n        tooltipName.textContent = d.name;\n        tooltipLocation.textContent = d.city + ', ' + tCountry(d.country);\n        tooltipProducts.innerHTML = buildProductBadges(d);\n        tooltip.classList.add('visible');\n      })\n      .on('mousemove', function(event) {\n        var rect = wrapper.getBoundingClientRect();\n        var x = event.clientX - rect.left + 16;\n        var y = event.clientY - rect.top - 12;\n        var tw = tooltip.offsetWidth;\n        var th = tooltip.offsetHeight;\n        if (x + tw > rect.width - 8) x = x - tw - 32;\n        if (y + th > rect.height - 8) y = rect.height - th - 8;\n        if (y < 8) y = 8;\n        tooltip.style.left = x + 'px';\n        tooltip.style.top = y + 'px';\n      })\n      .on('mouseleave', function() {\n        d3.select(this).select('.marker-dot').attr('r', baseRadius \/ currentScale);\n        tooltip.classList.remove('visible');\n      });\n\n    markerGroups\n      .on('touchstart', function(event, d) {\n        event.preventDefault();\n        event.stopPropagation();\n        tooltipName.textContent = d.name;\n        tooltipLocation.textContent = d.city + ', ' + tCountry(d.country);\n        tooltipProducts.innerHTML = buildProductBadges(d);\n\n        \/\/ Placer \u00e0 0,0 et rendre visible pour forcer le layout avant mesure\n        tooltip.style.left = '0px';\n        tooltip.style.top = '0px';\n        tooltip.classList.add('visible');\n\n        var rect = wrapper.getBoundingClientRect();\n        var tw = tooltip.offsetWidth;\n        var th = tooltip.offsetHeight;\n        var touch = event.touches[0];\n\n        \/\/ Position initiale : centr\u00e9 au-dessus du doigt\n        var x = touch.clientX - rect.left - tw \/ 2;\n        var y = touch.clientY - rect.top - th - 16;\n\n        \/\/ Clamping horizontal\n        if (x < 8) x = 8;\n        if (x + tw > rect.width - 8) x = rect.width - tw - 8;\n\n        \/\/ Si d\u00e9passe en haut \u2192 basculer en dessous du doigt\n        if (y < 8) y = touch.clientY - rect.top + 24;\n\n        \/\/ Clamping vertical bas\n        if (y + th > rect.height - 8) y = rect.height - th - 8;\n\n        tooltip.style.left = x + 'px';\n        tooltip.style.top = y + 'px';\n      });\n\n    document.addEventListener('touchstart', function(e) {\n      if (!e.target.closest('.marker')) tooltip.classList.remove('visible');\n    });\n\n    document.getElementById('mbs-stat-total').textContent = installations.length;\n    document.getElementById('mbs-stat-countries').textContent = new Set(installations.map(function(i) { return i.country; })).size;\n    document.getElementById('mbs-stat-cami').textContent = installations.reduce(function(sum, i) { return sum + i.nb_cami; }, 0);\n\n  }).catch(function(err) {\n    console.error('MBS Map error:', err);\n    document.getElementById('mbs-map-wrapper').innerHTML = '<p style=\"padding:40px;text-align:center;color:#999;\">' + t.error + '<\/p>';\n  });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d965f8 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"6d965f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">THE \"E-BIKE OF CLIMBING\"<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c31fc32 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"c31fc32\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">THE \"E-BIKE OF CLIMBING\"<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d2f93af elementor-align-left elementor-button-warning elementor-invisible elementor-widget elementor-widget-button\" data-id=\"d2f93af\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm elementor-animation-float\" href=\"https:\/\/www.mbs-industry.com\/en\/footing-vertical-private-gyms\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">THE BENEFITS FOR MY GYM<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-adc1233 elementor-hidden-desktop elementor-hidden-laptop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"adc1233\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Your gym could be the next to be equipped and enjoy all the benefits of having a motorized auto-belay.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>CAMI &#8211; le premier enrouleur motoris\u00e9 au monde. L&#8217;ESCALADE accessible \u00e0 tous. Assiste les grimpeurs en les d\u00e9lestant jusqu&#8217;\u00e0 95% de leur poids. C&#8217;est ce qu&#8217;on appelle le Footing Vertical\u2122. Fonctionne aussi comme un enrouleur &#8220;classique&#8221; sans assistance Permet aux s\u00e9niors, aux personnes en situation de handicap et de toutes morphologies de pratiquer l&#8217;escalade Tout [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-8504","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.mbs-industry.com\/en\/wp-json\/wp\/v2\/pages\/8504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mbs-industry.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mbs-industry.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mbs-industry.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mbs-industry.com\/en\/wp-json\/wp\/v2\/comments?post=8504"}],"version-history":[{"count":5,"href":"https:\/\/www.mbs-industry.com\/en\/wp-json\/wp\/v2\/pages\/8504\/revisions"}],"predecessor-version":[{"id":17084,"href":"https:\/\/www.mbs-industry.com\/en\/wp-json\/wp\/v2\/pages\/8504\/revisions\/17084"}],"wp:attachment":[{"href":"https:\/\/www.mbs-industry.com\/en\/wp-json\/wp\/v2\/media?parent=8504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}