{"id":2371,"date":"2026-07-13T07:45:15","date_gmt":"2026-07-13T07:45:15","guid":{"rendered":"https:\/\/sci-bme.fr\/?page_id=2371"},"modified":"2026-07-30T09:43:21","modified_gmt":"2026-07-30T09:43:21","slug":"travaux-de-mise-en-conformite","status":"publish","type":"page","link":"https:\/\/sci-bme.fr\/index.php\/travaux-de-mise-en-conformite\/","title":{"rendered":"Travaux de mise en conformit\u00e9"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2371\" class=\"elementor elementor-2371\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4204418 e-con-full e-flex e-con e-parent\" data-id=\"4204418\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-33f6ced elementor-widget elementor-widget-html\" data-id=\"33f6ced\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n    <meta charset=\"UTF-8\" \/>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes\" \/>\r\n    <title>Remplacement canalisation pas cher \u2013 BT Plus \u00cele-de-France<\/title>\r\n    <meta name=\"description\" content=\"BT Plus : entreprise de remplacement de canalisation en \u00cele-de-France. Devis gratuit, pose de tuyaux PVC, cuivre, PER. R\u00e9novation canalisation eau potable, assainissement, chauffage.\" \/>\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n    <style>\r\n        \/* ===== variables & reset ===== *\/\r\n        :root {\r\n            --blue-900: #07294a;\r\n            --blue-800: #0a3666;\r\n            --blue-700: #0d4f8b;\r\n            --blue-500: #1c7ec9;\r\n            --blue-300: #7cc0ee;\r\n            --blue-100: #d6ebfb;\r\n            --blue-50: #eef6fc;\r\n            --orange: #f4a61a;\r\n            --orange-dark: #d98a0c;\r\n            --ink: #0c2238;\r\n            --slate: #48637d;\r\n            --paper: #ffffff;\r\n\r\n            --font-display: \"Sora\", sans-serif;\r\n            --font-body: \"Inter\", sans-serif;\r\n\r\n            --shadow-sm: 0 2px 10px rgba(7, 41, 74, .06);\r\n            --shadow-md: 0 18px 40px -16px rgba(7, 41, 74, .30);\r\n        }\r\n\r\n        * {\r\n            box-sizing: border-box;\r\n            margin: 0;\r\n            padding: 0;\r\n        }\r\n        html {\r\n            scroll-behavior: smooth;\r\n        }\r\n        body {\r\n            font-family: var(--font-body);\r\n            color: var(--ink);\r\n            background: var(--paper);\r\n            -webkit-font-smoothing: antialiased;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        \/* ===== HERO ===== *\/\r\n        .hero {\r\n            position: relative;\r\n            overflow: hidden;\r\n            background:\r\n                radial-gradient(1100px 520px at 78% -8%, var(--blue-100), transparent 60%),\r\n                linear-gradient(180deg, #fbfdff 0%, var(--blue-50) 100%);\r\n        }\r\n        .hero-inner {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 40px 24px 150px;\r\n            display: grid;\r\n            grid-template-columns: 1.05fr .95fr;\r\n            gap: 50px;\r\n            align-items: center;\r\n            position: relative;\r\n        }\r\n        @media(max-width:940px) {\r\n            .hero-inner {\r\n                grid-template-columns: 1fr;\r\n                padding: 28px 24px 130px;\r\n                gap: 34px;\r\n            }\r\n        }\r\n\r\n        \/* ===== BADGE 24\/24 ===== *\/\r\n        .badge-247 {\r\n            position: absolute;\r\n            top: 20px;\r\n            right: 24px;\r\n            background: #ffffff;\r\n            border-radius: 14px;\r\n            padding: 12px 16px;\r\n            box-shadow: var(--shadow-md);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            z-index: 10;\r\n            border: 1px solid var(--blue-100);\r\n            animation: floaty 6s ease-in-out infinite;\r\n            animation-delay: 0.3s;\r\n        }\r\n        .badge-247 .fic {\r\n            width: 38px;\r\n            height: 38px;\r\n            border-radius: 10px;\r\n            display: grid;\r\n            place-items: center;\r\n            flex-shrink: 0;\r\n            background: var(--blue-50);\r\n            color: var(--blue-700);\r\n        }\r\n        .badge-247 .fic svg {\r\n            width: 20px;\r\n            height: 20px;\r\n        }\r\n        .badge-247 b {\r\n            font-family: var(--font-display);\r\n            display: block;\r\n            font-size: 1.05rem;\r\n            color: var(--blue-900);\r\n            line-height: 1.1;\r\n        }\r\n        .badge-247 small {\r\n            color: var(--slate);\r\n            font-size: .74rem;\r\n        }\r\n        @keyframes floaty {\r\n            0%, 100% { transform: translateY(0); }\r\n            50% { transform: translateY(-12px); }\r\n        }\r\n        @media(max-width:600px) {\r\n            .badge-247 {\r\n                top: 12px;\r\n                right: 12px;\r\n                padding: 8px 12px;\r\n                gap: 8px;\r\n                max-width: calc(100% - 24px);\r\n            }\r\n            .badge-247 .fic {\r\n                width: 30px;\r\n                height: 30px;\r\n            }\r\n            .badge-247 .fic svg {\r\n                width: 16px;\r\n                height: 16px;\r\n            }\r\n            .badge-247 b {\r\n                font-size: .8rem;\r\n            }\r\n            .badge-247 small {\r\n                font-size: .6rem;\r\n            }\r\n        }\r\n\r\n        \/* ===== CONTENU TEXTE ===== *\/\r\n        h1 {\r\n            font-family: var(--font-display);\r\n            font-weight: 800;\r\n            font-size: clamp(1.8rem, 4.2vw, 2.8rem); \/* \u2190 TITRE R\u00c9DUIT *\/\r\n            line-height: 1.06;\r\n            letter-spacing: -.025em;\r\n            color: var(--blue-900);\r\n            margin: 18px 0 0;\r\n        }\r\n        h1 .accent {\r\n            color: var(--orange);\r\n            position: relative;\r\n            white-space: nowrap;\r\n        }\r\n        h1 .accent::after {\r\n            content: \"\";\r\n            position: absolute;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: .06em;\r\n            height: .16em;\r\n            background: rgba(244, 166, 26, .28);\r\n            border-radius: 4px;\r\n            z-index: -1;\r\n            transform: scaleX(0);\r\n            transform-origin: left;\r\n            animation: underline 1s .8s ease forwards;\r\n        }\r\n        @keyframes underline {\r\n            to { transform: scaleX(1); }\r\n        }\r\n\r\n        .lead {\r\n            margin-top: 18px;\r\n            font-size: 1.08rem;\r\n            color: var(--slate);\r\n            max-width: 520px;\r\n        }\r\n\r\n        \/* chips *\/\r\n        .chips {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 9px;\r\n            margin-top: 24px;\r\n        }\r\n        .chip {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 7px;\r\n            background: #fff;\r\n            border: 1px solid var(--blue-100);\r\n            padding: 8px 13px;\r\n            border-radius: 11px;\r\n            font-size: .86rem;\r\n            font-weight: 600;\r\n            color: var(--blue-800);\r\n            box-shadow: var(--shadow-sm);\r\n            transition: transform .2s, box-shadow .2s, border-color .2s;\r\n        }\r\n        .chip svg {\r\n            width: 16px;\r\n            height: 16px;\r\n            color: var(--blue-500);\r\n        }\r\n        .chip:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-md);\r\n            border-color: var(--blue-300);\r\n        }\r\n\r\n        \/* trust *\/\r\n        .trust {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 22px;\r\n            margin-top: 32px;\r\n        }\r\n        .trust div {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            font-size: .86rem;\r\n            color: var(--slate);\r\n            font-weight: 500;\r\n        }\r\n        .trust svg {\r\n            width: 18px;\r\n            height: 18px;\r\n            color: #1faa6b;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        \/* ===== VISUAL ===== *\/\r\n        .visual {\r\n            position: relative;\r\n            display: grid;\r\n            place-items: center;\r\n            min-height: 380px;\r\n        }\r\n        .disc {\r\n            position: relative;\r\n            width: min(420px, 90%);\r\n            aspect-ratio: 1;\r\n            border-radius: 50%;\r\n            overflow: hidden;\r\n            box-shadow: 0 40px 70px -25px rgba(13, 79, 139, .7);\r\n            display: grid;\r\n            place-items: center;\r\n            background: #0a3666; \/* couleur de secours *\/\r\n        }\r\n        .disc img {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            z-index: 1;\r\n        }\r\n        .disc .overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(7, 41, 74, 0.30);\r\n            z-index: 2;\r\n            border-radius: 50%;\r\n        }\r\n        .ring {\r\n            position: absolute;\r\n            border: 2px solid rgba(255, 255, 255, 0.5);\r\n            border-radius: 50%;\r\n            inset: 0;\r\n            opacity: 0;\r\n            z-index: 3;\r\n            animation: ripple 4s linear infinite;\r\n            pointer-events: none;\r\n        }\r\n        .ring:nth-child(3) { animation-delay: 1.3s; }\r\n        .ring:nth-child(4) { animation-delay: 2.6s; }\r\n        @keyframes ripple {\r\n            0%   { transform: scale(.55); opacity: .6; }\r\n            80%  { opacity: 0; }\r\n            100% { transform: scale(1.18); opacity: 0; }\r\n        }\r\n\r\n        .disc-content {\r\n            position: relative;\r\n            z-index: 4;\r\n            text-align: center;\r\n            color: #ffffff;\r\n            padding: 20px;\r\n        }\r\n        .disc-content .icon-badge {\r\n            display: inline-block;\r\n            background: rgba(255, 255, 255, 0.15);\r\n            backdrop-filter: blur(6px);\r\n            padding: 6px 16px;\r\n            border-radius: 100px;\r\n            font-family: var(--font-display);\r\n            font-weight: 700;\r\n            font-size: .7rem;\r\n            letter-spacing: .06em;\r\n            text-transform: uppercase;\r\n            color: #fff;\r\n            border: 1px solid rgba(255, 255, 255, 0.2);\r\n            margin-bottom: 10px;\r\n        }\r\n        .disc-content .big-number {\r\n            font-family: var(--font-display);\r\n            font-weight: 800;\r\n            font-size: 3.8rem;\r\n            line-height: 1;\r\n            color: #fff;\r\n            text-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);\r\n        }\r\n        .disc-content .big-number span {\r\n            font-size: 1.4rem;\r\n            font-weight: 500;\r\n            opacity: 0.8;\r\n        }\r\n        .disc-content .desc {\r\n            font-family: var(--font-body);\r\n            font-weight: 500;\r\n            font-size: .95rem;\r\n            color: rgba(255, 255, 255, 0.9);\r\n            margin-top: 4px;\r\n        }\r\n\r\n        \/* ===== FLOATING CARDS ===== *\/\r\n        .float {\r\n            position: absolute;\r\n            background: #fff;\r\n            border-radius: 14px;\r\n            padding: 12px 15px;\r\n            box-shadow: var(--shadow-md);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 11px;\r\n            font-size: .85rem;\r\n            animation: floaty 6s ease-in-out infinite;\r\n            z-index: 10;\r\n        }\r\n        .float .fic {\r\n            width: 38px;\r\n            height: 38px;\r\n            border-radius: 10px;\r\n            display: grid;\r\n            place-items: center;\r\n            flex-shrink: 0;\r\n        }\r\n        .float b {\r\n            font-family: var(--font-display);\r\n            display: block;\r\n            font-size: 1.05rem;\r\n            color: var(--blue-900);\r\n            line-height: 1.1;\r\n        }\r\n        .float small {\r\n            color: var(--slate);\r\n            font-size: .74rem;\r\n        }\r\n        .float.one {\r\n            top: 6%;\r\n            left: -4%;\r\n            animation-delay: .2s;\r\n        }\r\n        .float.one .fic {\r\n            background: #fff3df;\r\n            color: var(--orange-dark);\r\n        }\r\n        .float.two {\r\n            bottom: 10%;\r\n            right: -6%;\r\n            animation-delay: 1.6s;\r\n        }\r\n        .float.two .fic {\r\n            background: var(--blue-50);\r\n            color: var(--blue-700);\r\n        }\r\n\r\n        \/* ===== WAVES ===== *\/\r\n        .waves {\r\n            position: absolute;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            line-height: 0;\r\n            z-index: 1;\r\n            pointer-events: none;\r\n        }\r\n        .waves svg {\r\n            display: block;\r\n            width: 100%;\r\n            height: 120px;\r\n        }\r\n        .wave-back use { animation: wavemove 11s linear infinite; opacity: .55; }\r\n        .wave-mid use { animation: wavemove 8s linear infinite reverse; opacity: .8; }\r\n        .wave-front use { animation: wavemove 6s linear infinite; }\r\n        @keyframes wavemove {\r\n            0%   { transform: translateX(0); }\r\n            100% { transform: translateX(-50%); }\r\n        }\r\n\r\n        \/* ===== REVEAL ===== *\/\r\n        .reveal {\r\n            opacity: 0;\r\n            transform: translateY(22px);\r\n            animation: rise .7s cubic-bezier(.2, .7, .3, 1) forwards;\r\n        }\r\n        .d1 { animation-delay: .05s; }\r\n        .d2 { animation-delay: .16s; }\r\n        .d3 { animation-delay: .27s; }\r\n        .d4 { animation-delay: .38s; }\r\n        .d5 { animation-delay: .49s; }\r\n        .reveal-r {\r\n            opacity: 0;\r\n            transform: scale(.94);\r\n            animation: pop .8s .3s cubic-bezier(.2, .7, .3, 1) forwards;\r\n        }\r\n        @keyframes rise {\r\n            to { opacity: 1; transform: translateY(0); }\r\n        }\r\n        @keyframes pop {\r\n            to { opacity: 1; transform: scale(1); }\r\n        }\r\n        @media(prefers-reduced-motion:reduce) {\r\n            * { animation: none !important; transition: none !important; }\r\n            .reveal, .reveal-r { opacity: 1; transform: none; }\r\n            h1 .accent::after { transform: scaleX(1); }\r\n        }\r\n\r\n        \/* ============================================================\r\n           RESPONSIVE \u2014 EXACTEMENT LA M\u00caME TAILLE QUE LA VERSION VALID\u00c9E\r\n           ============================================================ *\/\r\n        @media(max-width:768px) {\r\n            .hero-inner { padding: 20px 16px 130px; gap: 28px; }\r\n            .disc { width: min(340px, 85%); }\r\n            .disc-content .big-number { font-size: 2.8rem; }\r\n            .disc-content .big-number span { font-size: 1.1rem; }\r\n            .disc-content .desc { font-size: .8rem; }\r\n            .disc-content .icon-badge { font-size: .6rem; padding: 4px 12px; }\r\n            .float.one { top: 4%; left: -2%; }\r\n            .float.two { bottom: 8%; right: -2%; }\r\n            .float .fic { width: 32px; height: 32px; }\r\n            .float b { font-size: .9rem; }\r\n            .float small { font-size: .65rem; }\r\n        }\r\n\r\n        @media(max-width:480px) {\r\n            .hero-inner { padding: 16px 12px 120px; gap: 20px; }\r\n            .disc { width: min(280px, 85%); }\r\n            .disc-content .big-number { font-size: 2.2rem; }\r\n            .disc-content .big-number span { font-size: .9rem; }\r\n            .disc-content .desc { font-size: .7rem; }\r\n            .disc-content .icon-badge { font-size: .5rem; padding: 3px 10px; }\r\n            h1 { font-size: clamp(1.6rem, 5vw, 2.2rem); } \/* titre encore plus petit sur mobile *\/\r\n            .lead { font-size: .95rem; }\r\n            .chip { font-size: .75rem; padding: 6px 10px; }\r\n            .trust div { font-size: .75rem; gap: 5px; }\r\n            .float.one { top: 2%; left: 0; padding: 8px 12px; }\r\n            .float.two { bottom: 4%; right: 0; padding: 8px 12px; }\r\n            .float .fic { width: 28px; height: 28px; }\r\n            .float b { font-size: .8rem; }\r\n            .float small { font-size: .6rem; }\r\n            .badge-247 { padding: 6px 10px; gap: 6px; }\r\n            .badge-247 b { font-size: .7rem; }\r\n            .badge-247 small { font-size: .55rem; }\r\n            .waves svg { height: 60px; }\r\n        }\r\n\r\n        @media(max-width:380px) {\r\n            .disc { width: min(220px, 80%); } \/* tr\u00e8s petits \u00e9crans (iPhone SE) *\/\r\n            .disc-content .big-number { font-size: 1.8rem; }\r\n            .disc-content .big-number span { font-size: .8rem; }\r\n            .disc-content .desc { font-size: .6rem; }\r\n            .float.one, .float.two { padding: 6px 10px; gap: 6px; }\r\n            .float b { font-size: .7rem; }\r\n            .float small { font-size: .55rem; }\r\n            .float .fic { width: 24px; height: 24px; }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n    <!-- ==========================================================\r\n    HERO \u2013 Remplacement de canalisation (titre r\u00e9duit + photo calibr\u00e9e)\r\n    ========================================================== -->\r\n    <header class=\"hero\">\r\n        <div class=\"hero-inner\">\r\n\r\n            <!-- ===== BADGE : Plombier urgence 24h\/24 ===== -->\r\n            <div class=\"badge-247\">\r\n                <span class=\"fic\">\r\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                        <circle cx=\"12\" cy=\"12\" r=\"9\"\/>\r\n                        <path d=\"M12 7v5l3 2\"\/>\r\n                    <\/svg>\r\n                <\/span>\r\n                <span>\r\n                    <b>Plombier urgence 24h\/24<\/b>\r\n                    <small>Remplacement canalisation IDF<\/small>\r\n                <\/span>\r\n            <\/div>\r\n\r\n            <!-- ===== CONTENU GAUCHE ===== -->\r\n            <div class=\"content\">\r\n                <h1 class=\"reveal d2\">\r\n                    <strong>Remplacement canalisation<\/strong><br \/>\r\n                    <span class=\"accent\">R\u00e9novation compl\u00e8te<\/span> en \u00cele-de-France\r\n                <\/h1>\r\n\r\n                <p class=\"lead reveal d3\">\r\n                    <strong>Plombier professionnel<\/strong> \u00e0 Paris et en \u00cele-de-France.\r\n                    <strong>Remplacement canalisation eau<\/strong>, assainissement, chauffage.\r\n                    <strong>Pose de tuyaux PVC, cuivre, PER<\/strong> et <strong>r\u00e9novation sans tranch\u00e9e<\/strong>.\r\n                    <strong>Devis gratuit<\/strong> et <strong>intervention rapide<\/strong>.\r\n                <\/p>\r\n\r\n                <!-- CHIPS -->\r\n                <div class=\"chips reveal d4\">\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        R\u00e9novation canalisation eau potable\r\n                    <\/span>\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        Remplacement tuyaux PVC \/ cuivre\r\n                    <\/span>\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        Canalisation assainissement \/ eaux us\u00e9es\r\n                    <\/span>\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        <strong>Technique sans tranch\u00e9e<\/strong>\r\n                    <\/span>\r\n                <\/div>\r\n\r\n                <!-- TRUST -->\r\n                <div class=\"trust reveal d5\">\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><strong>Devis gratuit<\/strong><\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><strong>Intervention 24h\/24 \u2013 7j\/7<\/strong><\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg>Garantie 5 ans<\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg>Mat\u00e9riaux certifi\u00e9s<\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- ===== VISUEL DROIT ===== -->\r\n            <div class=\"visual reveal-r\">\r\n                <div class=\"disc\">\r\n                    <img decoding=\"async\"\r\n                        src=\"http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-24-at-18.54.26-10-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E.jpeg\"\r\n                        alt=\"Remplacement de canalisation par un plombier professionnel en \u00cele-de-France\"\r\n                        loading=\"lazy\"\r\n                    \/>\r\n                    <div class=\"overlay\"><\/div>\r\n\r\n                    <span class=\"ring\"><\/span>\r\n                    <span class=\"ring\"><\/span>\r\n                    <span class=\"ring\"><\/span>\r\n\r\n                    <div class=\"disc-content\">\r\n                        <span class=\"icon-badge\">\r\n                            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:middle;margin-right:6px;\">\r\n                                <path d=\"M12 2v4M12 22v-4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83\"\/>\r\n                            <\/svg>\r\n                            R\u00e9novation canalisation\r\n                        <\/span>\r\n                        <div class=\"big-number\">\r\n                            <strong>10+<\/strong> <span>ans d\u2019exp\u00e9rience<\/span>\r\n                        <\/div>\r\n                        <div class=\"desc\"><strong>Remplacement canalisation<\/strong> pour particuliers et pros<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- FLOATING CARDS -->\r\n                <div class=\"float one\">\r\n                    <span class=\"fic\">\r\n                        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3 2\"\/><\/svg>\r\n                    <\/span>\r\n                    <span><b>\u2248 2h<\/b><small>d\u00e9lai d'intervention<\/small><\/span>\r\n                <\/div>\r\n\r\n                <div class=\"float two\">\r\n                    <span class=\"fic\">\r\n                        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 12l2 2 4-4\"\/><path d=\"M21 12a9 9 0 1 1-9-9c2.5 0 4.8 1 6.4 2.6\"\/><\/svg>\r\n                    <\/span>\r\n                    <span><b>800+<\/b><small>chantiers r\u00e9alis\u00e9s<\/small><\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- Vagues -->\r\n        <div class=\"waves\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n                <defs>\r\n                    <path id=\"w\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/>\r\n                <\/defs>\r\n                <g class=\"wave-back\"><use href=\"#w\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#w\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n                <g class=\"wave-mid\"><use href=\"#w\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#w\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n                <g class=\"wave-front\"><use href=\"#w\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#w\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n            <\/svg>\r\n        <\/div>\r\n    <\/header>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-41910a7 e-con-full e-flex e-con e-parent\" data-id=\"41910a7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b732d56 elementor-widget elementor-widget-html\" data-id=\"b732d56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     BT PLUS \u2014 Service Mise en conformit\u00e9 (SEO optimis\u00e9)\r\n     ============================================================ -->\r\n\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n\r\n<style>\r\n.btp-conformite {\r\n  --b900:#07294a; --b800:#0a3666; --b700:#0d4f8b; --b500:#1c7ec9; --b300:#7cc0ee; --b100:#d6ebfb; --b50:#eef6fc;\r\n  --or:#f4a61a; --or-d:#d98a0c; --ink:#0c2238; --slate:#48637d; --line:#e4ecf4;\r\n  --green:#10b981; --green-bg:#d1fae5; --red:#ef4444; --red-bg:#fee2e2;\r\n  --fd:\"Sora\",sans-serif; --fb:\"Inter\",sans-serif; --fm:\"JetBrains Mono\",monospace;\r\n  --ease:cubic-bezier(.2,.8,.2,1);\r\n\r\n  position:relative; overflow:hidden; width:100%;\r\n  padding:80px 0 100px;\r\n  font-family:var(--fb); color:var(--ink); line-height:1.5;\r\n  background:\r\n    radial-gradient(820px 480px at 92% -12%, rgba(244,166,26,.05), transparent 60%),\r\n    radial-gradient(760px 460px at -6% 110%, rgba(28,126,201,.05), transparent 55%),\r\n    linear-gradient(180deg, var(--b50) 0%, #ffffff 100%);\r\n}\r\n.btp-conformite *,.btp-conformite *::before,.btp-conformite *::after{box-sizing:border-box}\r\n.btp-conformite h2,.btp-conformite h3,.btp-conformite h4,.btp-conformite p{margin:0}\r\n.btp-conformite .wrap{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:2}\r\n\r\n\/* ---------- en-t\u00eate ---------- *\/\r\n.btp-conformite .hd{text-align:center;margin-bottom:48px}\r\n.btp-conformite .pill{display:inline-flex;align-items:center;gap:9px;font-family:var(--fm);font-weight:700;\r\n  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--or-d);\r\n  background:#fff;border:1px solid #f6e3bf;padding:6px 14px 6px 10px;border-radius:999px}\r\n.btp-conformite .pill .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(16,185,129,.55);animation:srvPulse 1.8s infinite}\r\n@keyframes srvPulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.55)}70%{box-shadow:0 0 0 9px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}\r\n.btp-conformite .hd h2{font-family:var(--fd);font-weight:800;letter-spacing:-.025em;line-height:1.08;\r\n  font-size:clamp(2rem,4.8vw,3.4rem);color:var(--b900);margin:14px 0 0}\r\n.btp-conformite .hd h2 em{font-style:normal;color:var(--or)}\r\n.btp-conformite .hd .lead{margin-top:14px;font-size:1.05rem;color:var(--slate);max-width:620px;margin-left:auto;margin-right:auto}\r\n.btp-conformite .hd .lead strong{color:var(--b700);font-weight:600}\r\n\r\n\/* ---------- KPI mini ---------- *\/\r\n.btp-conformite .kpi-row{\r\n  display:grid;\r\n  grid-template-columns: repeat(4, 1fr);\r\n  gap:12px;\r\n  margin:28px 0 40px;\r\n}\r\n@media(max-width:640px){.btp-conformite .kpi-row{grid-template-columns:1fr 1fr}}\r\n.btp-conformite .kpi-item{\r\n  background:#fff;\r\n  border-radius:12px;\r\n  padding:14px 18px;\r\n  border:1px solid var(--line);\r\n  text-align:center;\r\n}\r\n.btp-conformite .kpi-item .num{\r\n  font-family:var(--fd);\r\n  font-weight:800;\r\n  font-size:1.6rem;\r\n  color:var(--b900);\r\n  line-height:1;\r\n}\r\n.btp-conformite .kpi-item .num small{font-size:.9rem;font-weight:600;color:var(--slate)}\r\n.btp-conformite .kpi-item .label{\r\n  font-family:var(--fm);\r\n  font-size:.58rem;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  color:var(--slate);\r\n  margin-top:4px;\r\n}\r\n\r\n\/* ---------- grille 2 colonnes ---------- *\/\r\n.btp-conformite .grid{\r\n  display:grid;\r\n  grid-template-columns:1fr 1fr;\r\n  gap:20px;\r\n}\r\n@media(max-width:640px){.btp-conformite .grid{grid-template-columns:1fr}}\r\n\r\n.btp-conformite .card{\r\n  background:#fff;\r\n  border-radius:16px;\r\n  border:1px solid var(--line);\r\n  padding:24px 26px;\r\n  transition:all .3s var(--ease);\r\n  cursor:pointer;\r\n  box-shadow:0 2px 8px rgba(0,0,0,.02);\r\n}\r\n.btp-conformite .card:hover,\r\n.btp-conformite .card.active{\r\n  border-color:var(--or);\r\n  box-shadow:0 8px 24px rgba(7,41,74,.08);\r\n  transform:translateY(-2px);\r\n}\r\n\r\n.btp-conformite .card-title{\r\n  font-family:var(--fd);\r\n  font-weight:700;\r\n  font-size:1.1rem;\r\n  color:var(--b900);\r\n  margin-bottom:4px;\r\n}\r\n.btp-conformite .card-badge{\r\n  font-family:var(--fm);\r\n  font-size:.5rem;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  padding:2px 12px;\r\n  border-radius:999px;\r\n  display:inline-block;\r\n}\r\n.btp-conformite .card-badge.green{background:var(--green-bg);color:#065f46}\r\n.btp-conformite .card-badge.red{background:var(--red-bg);color:#991b1b}\r\n.btp-conformite .card-badge.orange{background:#fef3c7;color:#b45309}\r\n.btp-conformite .card-badge.gray{background:#f3f4f6;color:#6b7280}\r\n\r\n.btp-conformite .card-desc{\r\n  font-size:.85rem;\r\n  color:var(--slate);\r\n  line-height:1.6;\r\n  margin:6px 0 10px;\r\n}\r\n.btp-conformite .card-desc strong{color:var(--b700);font-weight:600}\r\n\r\n.btp-conformite .card-tags{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap:6px;\r\n  margin-top:4px;\r\n}\r\n.btp-conformite .card-tags span{\r\n  font-family:var(--fm);\r\n  font-size:.55rem;\r\n  color:var(--slate);\r\n  background:var(--b50);\r\n  padding:2px 12px;\r\n  border-radius:999px;\r\n}\r\n\r\n\/* ---------- CTA ROUGE avec num\u00e9ro en blanc ---------- *\/\r\n.btp-conformite .cta-red{\r\n  display:flex;\r\n  justify-content:center;\r\n  margin-top:44px;\r\n}\r\n.btp-conformite .btn-urgence{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:12px;\r\n  background:#d32f2f;\r\n  color:#ffffff !important;\r\n  font-family:var(--fd);\r\n  font-weight:700;\r\n  font-size:1.2rem;\r\n  padding:14px 36px;\r\n  border-radius:60px;\r\n  text-decoration:none;\r\n  box-shadow:0 6px 24px rgba(211,47,47,0.3);\r\n  transition:all .3s var(--ease);\r\n  border:none;\r\n  cursor:pointer;\r\n}\r\n.btp-conformite .btn-urgence:hover{\r\n  background:#b71c1c;\r\n  transform:translateY(-3px);\r\n  box-shadow:0 10px 36px rgba(211,47,47,0.35);\r\n  color:#ffffff !important;\r\n}\r\n.btp-conformite .btn-urgence .label{\r\n  font-size:.65rem;\r\n  font-weight:400;\r\n  opacity:.85;\r\n  display:block;\r\n  margin-top:-2px;\r\n}\r\n\r\n\/* ---------- vagues ---------- *\/\r\n.btp-conformite .waves{\r\n  position:absolute;\r\n  left:0;\r\n  right:0;\r\n  bottom:0;\r\n  line-height:0;\r\n  z-index:1;\r\n  pointer-events:none;\r\n}\r\n.btp-conformite .waves svg{display:block;width:100%;height:90px}\r\n.btp-conformite .w-back use{animation:srvWave 12s linear infinite;opacity:.5}\r\n.btp-conformite .w-mid use{animation:srvWave 9s linear infinite reverse;opacity:.8}\r\n.btp-conformite .w-front use{animation:srvWave 6s linear infinite}\r\n@keyframes srvWave{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}\r\n\r\n\/* ---------- r\u00e9v\u00e9lation ---------- *\/\r\n.btp-conformite .rv{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}\r\n.btp-conformite .rv.shown{opacity:1;transform:none}\r\n\r\n@media(prefers-reduced-motion:reduce){\r\n  .btp-conformite *{animation:none!important;transition:none!important}\r\n  .btp-conformite .rv{opacity:1;transform:none}\r\n}\r\n<\/style>\r\n\r\n<section class=\"btp-conformite\">\r\n  <div class=\"wrap\">\r\n\r\n    <!-- ==========================================================\r\n         EN-T\u00caTE \u2014 SEO enrichi (Mise en conformit\u00e9)\r\n         ========================================================== -->\r\n    <header class=\"hd\">\r\n      <span class=\"pill rv\"><span class=\"dot\"><\/span><strong>Entreprise de mise en conformit\u00e9 agr\u00e9\u00e9e<\/strong> Urgence 24h\/24<\/span>\r\n      <h2 class=\"rv\"><strong>Mise en conformit\u00e9<\/strong> &amp; <strong>diagnostic plomberie<\/strong> \u2013 <em>notre expertise<\/em><\/h2>\r\n      <p class=\"lead rv\">\r\n        <strong>Mise en conformit\u00e9 plomberie<\/strong> et <strong>diagnostic r\u00e9seau IDF<\/strong>\r\n        pour tous types d'installations : assainissement, eau potable, chauffage. <strong>Entreprise de mise aux normes agr\u00e9\u00e9e<\/strong> en <strong>\u00cele-de-France<\/strong>,\r\n        nous r\u00e9alisons <strong>diagnostic avant vente \/ location<\/strong>, <strong>mise en conformit\u00e9 assainissement<\/strong>\r\n        et <strong>mise aux normes DTU<\/strong> pour <strong>particuliers<\/strong>, <strong>copropri\u00e9t\u00e9s<\/strong>,\r\n        <strong>restaurants<\/strong>, <strong>h\u00f4tels<\/strong>, <strong>immeubles<\/strong> et <strong>bureaux<\/strong>.\r\n        <strong>Devis diagnostic gratuit<\/strong> \u2013 <strong>intervention 24h\/24<\/strong>.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- ==========================================================\r\n         KPI \u2014 Chiffres cl\u00e9s (adapt\u00e9s \u00e0 la mise en conformit\u00e9)\r\n         ========================================================== -->\r\n    <div class=\"kpi-row rv\">\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">48 <small>h<\/small><\/div>\r\n        <div class=\"label\">D\u00e9lai de diagnostic<\/div>\r\n      <\/div>\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">0 <small>\u20ac<\/small><\/div>\r\n        <div class=\"label\">Devis diagnostic gratuit<\/div>\r\n      <\/div>\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">100 <small>%<\/small><\/div>\r\n        <div class=\"label\">Conformit\u00e9 garantie<\/div>\r\n      <\/div>\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">500 <small>+<\/small><\/div>\r\n        <div class=\"label\">Diagnostics r\u00e9alis\u00e9s<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ==========================================================\r\n         GRILLE SERVICES \u2014 4 cartes (SEO enrichi)\r\n         ========================================================== -->\r\n    <div class=\"grid rv\">\r\n\r\n      <!-- 1. R\u00f4le de la mise en conformit\u00e9 -->\r\n      <div class=\"card active\">\r\n        <div class=\"card-title\">R\u00f4le de la <strong style=\"color:var(--or);\">mise en conformit\u00e9<\/strong><\/div>\r\n        <span class=\"card-badge green\">Diagnostic professionnel<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>La mise en conformit\u00e9<\/strong> vise \u00e0 v\u00e9rifier et corriger les installations de plomberie et d'assainissement pour les rendre conformes aux normes en vigueur (DTU, r\u00e9glementation sanitaire). Nos techniciens sp\u00e9cialis\u00e9s dans le <strong>diagnostic de mise en conformit\u00e9 en \u00cele-de-France<\/strong> interviennent pour identifier les non-conformit\u00e9s et proposer des solutions adapt\u00e9es (remplacement, r\u00e9paration, mise aux normes). <strong>Entreprise agr\u00e9\u00e9e<\/strong> \u2013 <strong>diagnostic fiable<\/strong> et conforme aux exigences l\u00e9gales.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Diagnostic professionnel<\/strong><\/span>\r\n          <span><strong>Conformit\u00e9 DTU<\/strong><\/span>\r\n          <span>Normes sanitaires<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 2. Signes de non-conformit\u00e9 -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\">Signes de non-conformit\u00e9 \u2013 <strong style=\"color:var(--or);\">diagnostic r\u00e9seau<\/strong><\/div>\r\n        <span class=\"card-badge red\">\u00c0 corriger<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Les principaux signes de non-conformit\u00e9 :<\/strong> absence de siphon, mauvaise ventilation, r\u00e9seau d'assainissement non conforme, tuyaux en plomb, diam\u00e8tre insuffisant, absence de clapets anti-retour. Ces non-conformit\u00e9s peuvent entra\u00eener des risques sanitaires, des d\u00e9sordres structurels ou un refus de vente. Un <strong>diagnostic r\u00e9seau<\/strong> pr\u00e9cis permet de lister les points \u00e0 corriger et de prioriser les travaux de <strong>mise aux normes<\/strong>.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span>Absence de siphon<\/span>\r\n          <span>Tuyaux en plomb<\/span>\r\n          <span>Diam\u00e8tre insuffisant<\/span>\r\n          <span>Ventilation<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 3. Diagnostic \/ urgence -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">Diagnostic &amp; mise aux normes<\/strong> \u2013 24h\/24<\/div>\r\n        <span class=\"card-badge red\">Urgence 24h\/24<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Intervention rapide pour diagnostiquer et corriger les non-conformit\u00e9s.<\/strong> Notre \u00e9quipe se d\u00e9place chez vous sous 1h pour r\u00e9aliser un <strong>diagnostic complet<\/strong> de vos installations. Nous vous proposons un <strong>plan de mise en conformit\u00e9<\/strong> avec des solutions adapt\u00e9es (remplacement, r\u00e9paration, mise aux normes). <strong>Plombier urgence 24h\/24<\/strong> disponible pour vos diagnostics urgents.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Diagnostic urgence<\/strong><\/span>\r\n          <span>Intervention rapide<\/span>\r\n          <span>24h\/24 \u2013 7j\/7<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 4. Diagnostic avant vente \/ location -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">Diagnostic avant vente<\/strong> \u2013 location<\/div>\r\n        <span class=\"card-badge orange\">Diagnostic obligatoire<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Anticipez les obligations l\u00e9gales.<\/strong> Le <strong>diagnostic de mise en conformit\u00e9<\/strong> est souvent requis avant une vente ou une location. Nous r\u00e9alisons un <strong>diagnostic complet<\/strong> de vos r\u00e9seaux (eau potable, assainissement, chauffage) et vous fournissons un <strong>rapport d\u00e9taill\u00e9<\/strong> des non-conformit\u00e9s et des travaux \u00e0 r\u00e9aliser. Id\u00e9al pour <strong>particuliers<\/strong>, <strong>copropri\u00e9t\u00e9s<\/strong> et <strong>professionnels<\/strong>.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Diagnostic avant vente<\/strong><\/span>\r\n          <span><strong>Diagnostic location<\/strong><\/span>\r\n          <span>Rapport d\u00e9taill\u00e9<\/span>\r\n          <span>Conforme<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- ==========================================================\r\n         CTA ROUGE AVEC NUM\u00c9RO EN BLANC\r\n         ========================================================== -->\r\n    <div class=\"cta-red rv\">\r\n      <a href=\"tel:0186957777\" class=\"btn-urgence\">\r\n        <span>\r\n          01 86 95 77 77\r\n          <span class=\"label\">Urgence 24h\/24 \u2013 7j\/7<\/span>\r\n        <\/span>\r\n      <\/a>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <!-- Vagues -->\r\n  <div class=\"waves\" aria-hidden=\"true\">\r\n    <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n      <defs><path id=\"srvWaveP\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\"\/><\/defs>\r\n      <g class=\"w-back\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n      <g class=\"w-mid\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n      <g class=\"w-front\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n    <\/svg>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  const section = document.querySelector('.btp-conformite');\r\n  if (!section) return;\r\n\r\n  const cards = section.querySelectorAll('.card');\r\n  cards.forEach(card => {\r\n    const activate = () => {\r\n      cards.forEach(c => c.classList.remove('active'));\r\n      card.classList.add('active');\r\n    };\r\n    card.addEventListener('mouseenter', activate);\r\n    card.addEventListener('focus', activate);\r\n    card.setAttribute('tabindex', '0');\r\n  });\r\n\r\n  const rv = section.querySelectorAll('.rv');\r\n  const reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n  if ('IntersectionObserver' in window && !reduce) {\r\n    const io = new IntersectionObserver((entries) => {\r\n      entries.forEach(e => {\r\n        if (e.isIntersecting) {\r\n          e.target.classList.add('shown');\r\n          io.unobserve(e.target);\r\n        }\r\n      });\r\n    }, { threshold: 0.15 });\r\n    rv.forEach(el => io.observe(el));\r\n  } else {\r\n    rv.forEach(el => el.classList.add('shown'));\r\n  }\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-49b5a27 e-con-full e-flex e-con e-parent\" data-id=\"49b5a27\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f408585 elementor-widget elementor-widget-html\" data-id=\"f408585\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<title>BT Plus \u2014 Mise en conformit\u00e9 assainissement<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Sora:wght@700;800&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n<\/head>\r\n<body style=\"margin:0;background:#fff;\">\r\n\r\n<!-- ============================================================\r\n     BT PLUS \u2014 Section immersive \"Mise en conformit\u00e9 assainissement\"\r\n     Version 2 \u2014 parcours toujours lisible + l\u00e9gendes permanentes + mobile agrandi\r\n     ============================================================ -->\r\n\r\n<style>\r\n.bt-mise-conformite * { margin:0; padding:0; box-sizing:border-box; }\r\n.bt-mise-conformite { font-family:'Inter',sans-serif; background:#fff; color:#0a1a2b; line-height:1.6; overflow-x:hidden; }\r\n.bt-mise-conformite .wrapper {\r\n  padding: 3rem 5% 5rem; position: relative;\r\n  background: radial-gradient(1100px 520px at 78% -8%, #d6ebfb, transparent 60%),\r\n              linear-gradient(180deg, #fbfdff 0%, #eef6fc 100%);\r\n  overflow: hidden; isolation: isolate;\r\n}\r\n.bt-mise-conformite .waves { position:absolute; left:0; right:0; bottom:0; line-height:0; z-index:0; pointer-events:none; }\r\n.bt-mise-conformite .waves svg { display:block; width:100%; height:100px; }\r\n.bt-mise-conformite .waves .wave-back use { animation: bt-wavemove 11s linear infinite; opacity:.55; }\r\n.bt-mise-conformite .waves .wave-mid use { animation: bt-wavemove 8s linear infinite reverse; opacity:.8; }\r\n.bt-mise-conformite .waves .wave-front use { animation: bt-wavemove 6s linear infinite; }\r\n@keyframes bt-wavemove { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }\r\n\r\n.bt-mise-conformite .container { max-width:1200px; width:100%; margin:0 auto; padding:0 20px; position:relative; z-index:10; }\r\n\r\n.bt-mise-conformite .header { text-align:center; max-width:900px; margin:0 auto 2.5rem; }\r\n.bt-mise-conformite .badge {\r\n  display:inline-flex; align-items:center; gap:.8rem; font-family:'Sora',sans-serif; font-weight:700;\r\n  font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; padding:.5rem 1.8rem .5rem 1rem;\r\n  border-radius:2rem; background:rgba(28,126,201,.07); color:#1c7ec9; border:1px solid rgba(28,126,201,.12); margin-bottom:1rem;\r\n}\r\n.bt-mise-conformite .badge .dot { width:8px; height:8px; border-radius:50%; background:#1c7ec9; animation:bt-pulseDot 2s ease-in-out infinite; }\r\n@keyframes bt-pulseDot { 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.3; transform:scale(.6);} }\r\n.bt-mise-conformite .title { font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(2.1rem,4vw,3.2rem); letter-spacing:-.03em; color:#07294a; line-height:1.1; margin-bottom:.6rem; }\r\n.bt-mise-conformite .title .highlight { background:linear-gradient(135deg,#f4a61a 0%,#d98a0c 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }\r\n.bt-mise-conformite .subtitle { font-weight:400; font-size:clamp(1rem,1.2vw,1.1rem); color:#6b7f94; max-width:780px; margin:0 auto; line-height:1.7; }\r\n.bt-mise-conformite .subtitle strong { color:#07294a; font-weight:600; }\r\n\r\n.bt-mise-conformite .scene {\r\n  width:100%; max-width:1160px; margin:0 auto; position:relative; background:rgba(255,255,255,.6);\r\n  border-radius:32px; padding:24px 20px 8px; backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.5);\r\n  box-shadow:0 12px 60px rgba(7,41,74,.06); transition:box-shadow .4s ease;\r\n}\r\n.bt-mise-conformite .scene:hover { box-shadow:0 16px 80px rgba(7,41,74,.10); }\r\n.bt-mise-conformite .scene svg { display:block; width:100%; height:auto; max-height:640px; overflow:visible; }\r\n.bt-mise-conformite .scene-scroll { width:100%; }\r\n.bt-mise-conformite .scroll-hint { display:none; text-align:center; font-size:.72rem; color:#6b7f94; margin-top:6px; }\r\n\r\n.bt-mise-conformite .step-zone { cursor:pointer; transition:filter .3s ease; }\r\n.bt-mise-conformite .step-zone:hover { filter:drop-shadow(0 0 24px rgba(244,166,26,.45)); }\r\n.bt-mise-conformite .step-zone.active { filter:drop-shadow(0 0 34px rgba(244,166,26,.65)); }\r\n.bt-mise-conformite .step-zone .step-num { transition: transform .3s ease; }\r\n.bt-mise-conformite .step-zone.active .step-num,\r\n.bt-mise-conformite .step-zone:hover .step-num { transform: scale(1.12); }\r\n\r\n.bt-mise-conformite .particle { animation: particleFall 3.5s ease-in infinite; }\r\n@keyframes particleFall { 0%{opacity:.7; transform:translateY(0);} 100%{opacity:0; transform:translateY(80px);} }\r\n.bt-mise-conformite .arrow-move { animation: arrowFlow 5s ease-in-out infinite; }\r\n@keyframes arrowFlow { 0%{opacity:0;} 15%{opacity:1;} 85%{opacity:1;} 100%{opacity:0;} }\r\n\r\n.bt-mise-conformite .step-caption { font-family:'Inter',sans-serif; pointer-events:none; }\r\n.bt-mise-conformite .step-caption .cap-title { font-weight:700; font-family:'Sora',sans-serif; }\r\n\r\n.bt-mise-conformite .tooltip {\r\n  position:absolute; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); color:#07294a;\r\n  padding:16px 22px; border-radius:16px; font-size:.95rem; max-width:290px; line-height:1.55;\r\n  box-shadow:0 16px 48px rgba(0,0,0,.14); border:1px solid rgba(255,255,255,.4); pointer-events:none;\r\n  opacity:0; transform:translateY(8px) scale(.96); transition:opacity .25s ease, transform .25s ease;\r\n  z-index:20; font-weight:500; display:none;\r\n}\r\n.bt-mise-conformite .tooltip.visible { opacity:1; transform:translateY(0) scale(1); display:block; }\r\n.bt-mise-conformite .tooltip strong { color:#f4a61a; display:block; font-size:1.05rem; margin-bottom:4px; font-family:'Sora',sans-serif; }\r\n\r\n.bt-mise-conformite .steps-bar { display:flex; justify-content:center; gap:14px; margin-top:20px; flex-wrap:wrap; }\r\n.bt-mise-conformite .step-dot { width:16px; height:16px; border-radius:50%; background:rgba(7,41,74,.10); border:2px solid transparent; transition:all .3s ease; cursor:pointer; }\r\n.bt-mise-conformite .step-dot.active { background:#f4a61a; border-color:#fff; box-shadow:0 0 30px rgba(244,166,26,.35); transform:scale(1.25); }\r\n.bt-mise-conformite .step-dot.done { background:#1c7ec9; opacity:.5; }\r\n.bt-mise-conformite .step-dot:hover { transform:scale(1.15); background:rgba(244,166,26,.3); }\r\n\r\n.bt-mise-conformite .recap { max-width:1120px; margin:2.2rem auto 0; display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }\r\n.bt-mise-conformite .recap .card {\r\n  background:rgba(255,255,255,.7); border:1px solid rgba(7,41,74,.08); border-radius:14px; padding:10px 6px;\r\n  text-align:center; transition:transform .25s ease, box-shadow .25s ease; cursor:pointer;\r\n}\r\n.bt-mise-conformite .recap .card:hover, .bt-mise-conformite .recap .card.active {\r\n  transform:translateY(-4px); box-shadow:0 10px 28px rgba(7,41,74,.10); border-color:rgba(244,166,26,.4);\r\n}\r\n.bt-mise-conformite .recap .card .n {\r\n  width:23px; height:23px; border-radius:50%; background:#f4a61a; color:#fff; font-family:'Sora',sans-serif;\r\n  font-weight:800; font-size:.72rem; display:flex; align-items:center; justify-content:center; margin:0 auto 5px;\r\n}\r\n.bt-mise-conformite .recap .card .t { font-family:'Sora',sans-serif; font-weight:700; font-size:.66rem; color:#07294a; line-height:1.15; }\r\n\r\n@media (max-width:992px){\r\n  .bt-mise-conformite .wrapper{padding:2rem 3% 3rem;}\r\n  .bt-mise-conformite .recap{grid-template-columns:repeat(4,1fr);}\r\n}\r\n@media (max-width:768px){\r\n  .bt-mise-conformite .wrapper{padding:1.25rem 0 2.5rem;}\r\n  .bt-mise-conformite .scene{padding:10px 0;border-radius:20px;}\r\n  .bt-mise-conformite .title{font-size:24px;padding:0 1.25rem;}\r\n  .bt-mise-conformite .subtitle{font-size:14px;padding:0 1.25rem;}\r\n  .bt-mise-conformite .badge{font-size:.65rem;padding:.3rem 1.2rem .3rem .8rem;}\r\n  .bt-mise-conformite .step-dot{width:13px;height:13px;}\r\n  .bt-mise-conformite .tooltip{max-width:210px;font-size:.85rem;padding:12px 16px;}\r\n\r\n  \/* le dessin (7 \u00e9tapes) est trop large pour tenir en entier et rester lisible :\r\n     on l'affiche \u00e0 une taille fixe plus grande et on laisse d\u00e9filer horizontalement *\/\r\n  .bt-mise-conformite .scene-scroll{\r\n    overflow-x:auto; -webkit-overflow-scrolling:touch; padding:0 12px;\r\n    scroll-snap-type:x proximity;\r\n  }\r\n  .bt-mise-conformite .scene svg{ width:1000px; max-width:none; flex-shrink:0; }\r\n  .bt-mise-conformite .scroll-hint{ display:block; }\r\n  .bt-mise-conformite .recap{grid-template-columns:repeat(4,1fr); padding:0 1.25rem;}\r\n}\r\n@media (max-width:480px){\r\n  .bt-mise-conformite .recap{grid-template-columns:repeat(2,1fr);}\r\n}\r\n<\/style>\r\n\r\n<section class=\"bt-mise-conformite\">\r\n  <div class=\"wrapper\">\r\n    <div class=\"container\">\r\n      <div class=\"header\">\r\n        <span class=\"badge\"><span class=\"dot\"><\/span> Mise en conformit\u00e9 assainissement<\/span>\r\n        <h2 class=\"title\">Comprendre les <span class=\"highlight\">travaux de mise en conformit\u00e9<\/span><\/h2>\r\n        <p class=\"subtitle\">\r\n          De l'<strong>analyse du rapport de diagnostic<\/strong> au <strong>contr\u00f4le de conformit\u00e9 final<\/strong>,\r\n          d\u00e9couvrez les 7 \u00e9tapes de nos interventions apr\u00e8s diagnostic \u2014 cliquez sur un rep\u00e8re ou faites\r\n          d\u00e9filer la molette.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"scene\" id=\"sceneContainer\">\r\n       <div class=\"scene-scroll\">\r\n        <svg id=\"sceneSvg\" viewBox=\"0 0 1160 400\" preserveAspectRatio=\"xMidYMid meet\">\r\n          <defs>\r\n            <linearGradient id=\"skyGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n              <stop offset=\"0%\" stop-color=\"#eef6fc\" \/><stop offset=\"100%\" stop-color=\"#d6ebfb\" \/>\r\n            <\/linearGradient>\r\n            <linearGradient id=\"groundGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n              <stop offset=\"0%\" stop-color=\"#8a9a6a\" stop-opacity=\"0.15\" \/><stop offset=\"100%\" stop-color=\"#4a5a3a\" stop-opacity=\"0.3\" \/>\r\n            <\/linearGradient>\r\n            <filter id=\"glow\"><feGaussianBlur stdDeviation=\"4\" result=\"blur\" \/><feMerge><feMergeNode in=\"blur\" \/><feMergeNode in=\"SourceGraphic\" \/><\/feMerge><\/filter>\r\n          <\/defs>\r\n\r\n          <rect width=\"1160\" height=\"400\" fill=\"url(#skyGrad)\" \/>\r\n          <rect x=\"0\" y=\"255\" width=\"1160\" height=\"145\" fill=\"url(#groundGrad)\" \/>\r\n\r\n          <!-- ligne de parcours continue reliant les 7 \u00e9tapes -->\r\n          <path d=\"M80 315 L1080 315\" stroke=\"#c7d6e2\" stroke-width=\"3\" stroke-dasharray=\"2 8\" stroke-linecap=\"round\" \/>\r\n\r\n          <!-- zone commune -->\r\n          <rect x=\"260\" y=\"270\" width=\"740\" height=\"55\" fill=\"#6a5a3a\" opacity=\".22\" rx=\"8\" \/>\r\n\r\n          <!-- ===== \u00c9TAPE 1 : ANALYSE RAPPORT (x=90) ===== -->\r\n          <g class=\"step-zone\" data-step=\"1\">\r\n            <rect x=\"35\" y=\"130\" width=\"90\" height=\"80\" fill=\"#e2d9c5\" stroke=\"#b09a80\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <polygon points=\"22,130 80,72 138,130\" fill=\"#b04a3a\" stroke=\"#8a3a2a\" stroke-width=\"2\" \/>\r\n            <rect x=\"60\" y=\"165\" width=\"26\" height=\"45\" fill=\"#7a5a3a\" stroke=\"#5a3a2a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <rect x=\"160\" y=\"150\" width=\"36\" height=\"26\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <line x1=\"168\" y1=\"157\" x2=\"188\" y2=\"157\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <line x1=\"168\" y1=\"163\" x2=\"188\" y2=\"163\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <circle cx=\"90\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"90\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"90\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">1<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 2 : VISITE TECHNIQUE (x=225) ===== -->\r\n          <g class=\"step-zone\" data-step=\"2\">\r\n            <circle cx=\"225\" cy=\"185\" r=\"14\" fill=\"#d4c8b0\" stroke=\"#b09a80\" stroke-width=\"1.5\" \/>\r\n            <rect x=\"213\" y=\"198\" width=\"24\" height=\"26\" fill=\"#4a6a8a\" stroke=\"#2a4a6a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <rect x=\"215\" y=\"200\" width=\"20\" height=\"5\" fill=\"#f4a61a\" rx=\"2\" \/>\r\n            <rect x=\"228\" y=\"207\" width=\"16\" height=\"20\" fill=\"#6a7a5a\" stroke=\"#4a5a3a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <circle cx=\"225\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"225\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"225\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">2<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 3 : TRAVAUX (x=370) ===== -->\r\n          <g class=\"step-zone\" data-step=\"3\">\r\n            <rect x=\"348\" y=\"188\" width=\"42\" height=\"34\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"369\" cy=\"231\" r=\"15\" fill=\"#2a2a2a\" \/><circle cx=\"369\" cy=\"231\" r=\"9\" fill=\"#4a4a4a\" \/>\r\n            <rect x=\"362\" y=\"166\" width=\"14\" height=\"20\" fill=\"#2a2a2a\" rx=\"3\" \/>\r\n            <path d=\"M376 166 L392 196 L384 204 L372 184 Z\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" \/>\r\n            <path d=\"M330 285 L370 285 L395 292 L420 285\" stroke=\"#6a5a4a\" stroke-width=\"6\" fill=\"none\" stroke-dasharray=\"6 4\" \/>\r\n            <path d=\"M330 297 L370 297 L400 305 L420 297\" stroke=\"#1c7ec9\" stroke-width=\"6\" fill=\"none\" stroke-linecap=\"round\" \/>\r\n            <circle class=\"particle\" cx=\"375\" cy=\"255\" r=\"4\" fill=\"#6a4a2a\" opacity=\".6\">\r\n              <animate attributeName=\"cy\" from=\"255\" to=\"300\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\".6\" to=\"0\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"375\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"375\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"375\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">3<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 4 : \u00c9QUIPEMENTS (x=515) ===== -->\r\n          <g class=\"step-zone\" data-step=\"4\">\r\n            <rect x=\"490\" y=\"290\" width=\"26\" height=\"20\" fill=\"#6a7a5a\" stroke=\"#4a5a3a\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"503\" cy=\"298\" r=\"4.5\" fill=\"#4ac0e0\" opacity=\".6\" \/>\r\n            <rect x=\"524\" y=\"293\" width=\"15\" height=\"18\" fill=\"#4a6a8a\" stroke=\"#2a4a6a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <circle cx=\"531\" cy=\"299\" r=\"5\" fill=\"#6ac0e0\" opacity=\".5\" \/>\r\n            <polygon points=\"548,300 555,305 555,295\" fill=\"#f4a61a\" opacity=\".8\" \/>\r\n            <circle cx=\"520\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"520\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"520\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">4<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 5 : CONTR\u00d4LES (x=660) ===== -->\r\n          <g class=\"step-zone\" data-step=\"5\">\r\n            <rect x=\"628\" y=\"282\" width=\"36\" height=\"28\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"2\" rx=\"5\" \/>\r\n            <path d=\"M638 296 l6 6 12 -13\" stroke=\"#1c7ec9\" stroke-width=\"3\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\r\n            <rect x=\"675\" y=\"288\" width=\"13\" height=\"13\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <line x1=\"681\" y1=\"288\" x2=\"681\" y2=\"278\" stroke=\"#2a3a4a\" stroke-width=\"2\" \/>\r\n            <circle cx=\"681\" cy=\"294\" r=\"3\" fill=\"#4ac0e0\" opacity=\".8\" \/>\r\n            <circle cx=\"660\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"660\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"660\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">5<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 6 : REMBLAI (x=805) ===== -->\r\n          <g class=\"step-zone\" data-step=\"6\">\r\n            <rect x=\"735\" y=\"325\" width=\"140\" height=\"10\" fill=\"#8a7a5a\" opacity=\".5\" rx=\"3\" \/>\r\n            <rect x=\"735\" y=\"337\" width=\"140\" height=\"10\" fill=\"#7a6a4a\" opacity=\".4\" rx=\"3\" \/>\r\n            <path d=\"M735 325 Q760 313 785 325 Q810 313 835 325 Q860 313 875 325 L875 335 L735 335 Z\" fill=\"#6a9a4a\" opacity=\".5\" \/>\r\n            <circle cx=\"805\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"805\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"805\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">6<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 7 : CONTR\u00d4LE FINAL (x=945) ===== -->\r\n          <g class=\"step-zone\" data-step=\"7\">\r\n            <rect x=\"920\" y=\"270\" width=\"50\" height=\"38\" fill=\"#fff\" stroke=\"#f4a61a\" stroke-width=\"2\" rx=\"5\" \/>\r\n            <path d=\"M934 290 l6 6 14 -14\" stroke=\"#f4a61a\" stroke-width=\"3\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\r\n            <circle cx=\"945\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"945\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"945\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">7<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== L\u00c9GENDES TOUJOURS VISIBLES ===== -->\r\n          <g class=\"step-caption\" fill=\"#07294a\" text-anchor=\"middle\">\r\n            <text x=\"90\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Analyse rapport<\/text>\r\n            <text x=\"90\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Diagnostic, non-conformit\u00e9s<\/text>\r\n\r\n            <text x=\"225\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Visite technique<\/text>\r\n            <text x=\"225\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Acc\u00e8s, trac\u00e9, r\u00e9seaux<\/text>\r\n\r\n            <text x=\"375\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Travaux<\/text>\r\n            <text x=\"375\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">D\u00e9pose, nouveaux r\u00e9seaux<\/text>\r\n\r\n            <text x=\"520\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">\u00c9quipements<\/text>\r\n            <text x=\"520\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Regards, clapets, pompe<\/text>\r\n\r\n            <text x=\"660\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Contr\u00f4les<\/text>\r\n            <text x=\"660\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Pentes, \u00e9tanch\u00e9it\u00e9<\/text>\r\n\r\n            <text x=\"805\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Remblai<\/text>\r\n            <text x=\"805\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Remise en \u00e9tat<\/text>\r\n\r\n            <text x=\"945\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Contr\u00f4le final<\/text>\r\n            <text x=\"945\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Attestation de conformit\u00e9<\/text>\r\n          <\/g>\r\n        <\/svg>\r\n       <\/div>\r\n        <p class=\"scroll-hint\">\u2190 Faites glisser pour voir toutes les \u00e9tapes \u2192<\/p>\r\n        <div class=\"tooltip\" id=\"tooltip\"><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"steps-bar\" id=\"stepsBar\">\r\n        <span class=\"step-dot active\" data-step=\"1\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"2\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"3\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"4\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"5\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"6\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"7\"><\/span>\r\n      <\/div>\r\n\r\n      <div class=\"recap\" id=\"recap\">\r\n        <div class=\"card\" data-step=\"1\"><div class=\"n\">1<\/div><div class=\"t\">Analyse<\/div><\/div>\r\n        <div class=\"card\" data-step=\"2\"><div class=\"n\">2<\/div><div class=\"t\">Visite<\/div><\/div>\r\n        <div class=\"card\" data-step=\"3\"><div class=\"n\">3<\/div><div class=\"t\">Travaux<\/div><\/div>\r\n        <div class=\"card\" data-step=\"4\"><div class=\"n\">4<\/div><div class=\"t\">\u00c9quipements<\/div><\/div>\r\n        <div class=\"card\" data-step=\"5\"><div class=\"n\">5<\/div><div class=\"t\">Contr\u00f4les<\/div><\/div>\r\n        <div class=\"card\" data-step=\"6\"><div class=\"n\">6<\/div><div class=\"t\">Remblai<\/div><\/div>\r\n        <div class=\"card\" data-step=\"7\"><div class=\"n\">7<\/div><div class=\"t\">Contr\u00f4le final<\/div><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"waves\" aria-hidden=\"true\">\r\n      <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n        <defs>\r\n          <path id=\"bt-w4\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/>\r\n        <\/defs>\r\n        <g class=\"wave-back\"><use href=\"#bt-w4\" x=\"0\" fill=\"#d6ebfb\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#d6ebfb\" \/><\/g>\r\n        <g class=\"wave-mid\"><use href=\"#bt-w4\" x=\"0\" fill=\"#a9d4f3\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#a9d4f3\" \/><\/g>\r\n        <g class=\"wave-front\"><use href=\"#bt-w4\" x=\"0\" fill=\"#ffffff\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#ffffff\" \/><\/g>\r\n      <\/svg>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n  const container = document.getElementById('sceneContainer');\r\n  const tooltip = document.getElementById('tooltip');\r\n  const dots = document.querySelectorAll('.step-dot');\r\n  const zones = document.querySelectorAll('.step-zone');\r\n  const cards = document.querySelectorAll('.recap .card');\r\n\r\n  const STEPS = [\r\n    { id:1, label:'Analyse rapport', desc:\"\u00c9tude du rapport de diagnostic, des photos, des non-conformit\u00e9s et des pr\u00e9conisations pour d\u00e9finir les travaux.\" },\r\n    { id:2, label:'Visite technique', desc:\"D\u00e9placement sur site pour v\u00e9rifier les acc\u00e8s, le trac\u00e9, l'\u00e9tat des r\u00e9seaux et anticiper les difficult\u00e9s.\" },\r\n    { id:3, label:'Travaux', desc:\"Ouverture des tranch\u00e9es, d\u00e9pose des anciennes canalisations, s\u00e9paration des r\u00e9seaux, pose de nouveaux \u00e9quipements.\" },\r\n    { id:4, label:'\u00c9quipements', desc:\"Installation de regards, de clapets anti-retour, pompe de relevage si besoin, et raccordement au r\u00e9seau public.\" },\r\n    { id:5, label:'Contr\u00f4les', desc:\"V\u00e9rification des pentes, de l'\u00e9tanch\u00e9it\u00e9, de l'\u00e9coulement et du bon fonctionnement des \u00e9quipements.\" },\r\n    { id:6, label:'Remblai \/ remise en \u00e9tat', desc:\"Enrobage des canalisations, remblai par couches compact\u00e9es, remise en \u00e9tat des surfaces (terre, pav\u00e9s, enrob\u00e9).\" },\r\n    { id:7, label:'Contr\u00f4le final', desc:\"V\u00e9rification par l'organisme comp\u00e9tent ou le service d'assainissement. D\u00e9livrance d'une attestation de conformit\u00e9.\" }\r\n  ];\r\n\r\n  let activeStep = 1, tooltipTimeout = null;\r\n\r\n  function setActive(stepId) {\r\n    activeStep = stepId;\r\n    dots.forEach(d => { const id = +d.dataset.step; d.classList.toggle('active', id===stepId); d.classList.toggle('done', id<stepId); });\r\n    zones.forEach(z => z.classList.toggle('active', +z.dataset.step === stepId));\r\n    cards.forEach(c => c.classList.toggle('active', +c.dataset.step === stepId));\r\n  }\r\n\r\n  function triggerStep(stepId, evt) {\r\n    setActive(stepId);\r\n    const step = STEPS.find(s => s.id === stepId);\r\n    if (!step) return;\r\n    const rect = container.getBoundingClientRect();\r\n    let x, y;\r\n    if (evt && evt.clientX) { x = evt.clientX - rect.left + 16; y = evt.clientY - rect.top - 10; }\r\n    else { x = rect.width\/2 - 130; y = 20; }\r\n    tooltip.innerHTML = `<strong>${step.label}<\/strong>${step.desc}`;\r\n    tooltip.style.left = x + 'px';\r\n    tooltip.style.top = y + 'px';\r\n    tooltip.classList.add('visible');\r\n    clearTimeout(tooltipTimeout);\r\n    tooltipTimeout = setTimeout(() => tooltip.classList.remove('visible'), 4200);\r\n  }\r\n\r\n  zones.forEach(el => {\r\n    el.addEventListener('mouseenter', e => triggerStep(+el.dataset.step, e));\r\n    el.addEventListener('mousemove', e => {\r\n      const rect = container.getBoundingClientRect();\r\n      tooltip.style.left = (e.clientX - rect.left + 16) + 'px';\r\n      tooltip.style.top = (e.clientY - rect.top - 10) + 'px';\r\n    });\r\n    el.addEventListener('mouseleave', () => tooltip.classList.remove('visible'));\r\n    el.addEventListener('click', e => triggerStep(+el.dataset.step, e));\r\n  });\r\n  dots.forEach(d => d.addEventListener('click', () => triggerStep(+d.dataset.step)));\r\n  cards.forEach(c => c.addEventListener('click', () => triggerStep(+c.dataset.step)));\r\n\r\n  let wheelLock = false;\r\n  window.addEventListener('wheel', e => {\r\n    if (wheelLock) return;\r\n    wheelLock = true;\r\n    setTimeout(() => wheelLock = false, 700);\r\n    const dir = e.deltaY > 0 ? 1 : -1;\r\n    const next = Math.min(Math.max(activeStep + dir, 1), STEPS.length);\r\n    if (next !== activeStep) triggerStep(next);\r\n  }, { passive: true });\r\n\r\n  setActive(1);\r\n\r\n  document.addEventListener('click', e => {\r\n    if (!container.contains(e.target) && !e.target.closest('.step-dot') && !e.target.closest('.recap .card')) {\r\n      tooltip.classList.remove('visible');\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ccde800 e-con-full e-flex e-con e-parent\" data-id=\"ccde800\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c0eab0f elementor-widget elementor-widget-html\" data-id=\"c0eab0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     BT PLUS \u2014 Galerie \"Carrousel Continu\"\r\n     D\u00e9filement automatique en boucle\r\n     ============================================================ -->\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0-beta3\/css\/all.min.css\">\r\n\r\n<style>\r\n.galerie-carrousel {\r\n    --b900: #07294a;\r\n    --or: #f4a61a;\r\n    --slate: #48637d;\r\n    --line: #eef2f5;\r\n    \r\n    width: 100%;\r\n    padding: 80px 0 100px;\r\n    background: linear-gradient(180deg, #eef6fc 0%, #ffffff 100%);\r\n    font-family: 'Inter', sans-serif;\r\n    position: relative;\r\n    overflow: hidden;\r\n}\r\n\r\n\/* Vague d\u00e9corative *\/\r\n.galerie-carrousel::after {\r\n    content: '';\r\n    position: absolute;\r\n    bottom: 0;\r\n    left: 0;\r\n    right: 0;\r\n    height: 80px;\r\n    background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C300,80 600,0 900,40 C1050,60 1150,40 1200,40 L1200,80 L0,80 Z' fill='%23d6ebfb' opacity='0.3'\/%3E%3C\/svg%3E\") no-repeat bottom \/ 100% 100%;\r\n    pointer-events: none;\r\n}\r\n\r\n.galerie-carrousel .container {\r\n    max-width: 1400px;\r\n    margin: 0 auto;\r\n    padding: 0 40px;\r\n    position: relative;\r\n    z-index: 2;\r\n}\r\n\r\n\/* HEADER *\/\r\n.galerie-carrousel .header {\r\n    text-align: center;\r\n    margin-bottom: 44px;\r\n}\r\n\r\n.galerie-carrousel .pill {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    font-weight: 700;\r\n    font-size: 0.7rem;\r\n    letter-spacing: 0.1em;\r\n    text-transform: uppercase;\r\n    color: #d98a0c;\r\n    background: #fff;\r\n    border: 1px solid #f6e3bf;\r\n    padding: 6px 16px 6px 12px;\r\n    border-radius: 999px;\r\n    margin-bottom: 16px;\r\n}\r\n\r\n.galerie-carrousel .pill .dot {\r\n    width: 8px;\r\n    height: 8px;\r\n    border-radius: 50%;\r\n    background: #f4a61a;\r\n    animation: pulse-dot 1.8s infinite;\r\n}\r\n\r\n@keyframes pulse-dot {\r\n    0% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0.55); }\r\n    70% { box-shadow: 0 0 0 9px rgba(244, 166, 26, 0); }\r\n    100% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0); }\r\n}\r\n\r\n.galerie-carrousel .title {\r\n    font-family: 'Sora', sans-serif;\r\n    font-size: clamp(2rem, 4.2vw, 3.4rem);\r\n    font-weight: 800;\r\n    letter-spacing: -0.025em;\r\n    color: #07294a;\r\n    line-height: 1.1;\r\n}\r\n\r\n.galerie-carrousel .title span {\r\n    color: #f4a61a;\r\n}\r\n\r\n.galerie-carrousel .subtitle {\r\n    font-size: 1.05rem;\r\n    color: #48637d;\r\n    max-width: 620px;\r\n    margin: 12px auto 0;\r\n    line-height: 1.6;\r\n}\r\n\r\n\/* ============================================================\r\n   CARROUSEL CONTINU\r\n   ============================================================ *\/\r\n.galerie-carrousel .carousel-wrapper {\r\n    position: relative;\r\n    overflow: hidden;\r\n    border-radius: 20px;\r\n}\r\n\r\n.galerie-carrousel .carousel-track {\r\n    display: flex;\r\n    gap: 16px;\r\n    animation: scrollCarousel 30s linear infinite;\r\n    will-change: transform;\r\n    width: max-content;\r\n}\r\n\r\n.galerie-carrousel .carousel-track:hover {\r\n    animation-play-state: paused;\r\n}\r\n\r\n@keyframes scrollCarousel {\r\n    0% { transform: translateX(0); }\r\n    100% { transform: translateX(-50%); }\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide {\r\n    flex: 0 0 220px;\r\n    aspect-ratio: 1\/1;\r\n    border-radius: 16px;\r\n    overflow: hidden;\r\n    position: relative;\r\n    background: #07294a;\r\n    cursor: pointer;\r\n    transition: all 0.3s ease;\r\n    box-shadow: 0 4px 16px rgba(7, 41, 74, 0.06);\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide:hover {\r\n    transform: scale(1.05);\r\n    box-shadow: 0 12px 40px rgba(7, 41, 74, 0.15);\r\n    z-index: 2;\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    display: block;\r\n    transition: transform 0.5s ease;\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide:hover img {\r\n    transform: scale(1.05);\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide .ville {\r\n    position: absolute;\r\n    bottom: 12px;\r\n    left: 12px;\r\n    right: 12px;\r\n    background: rgba(7, 41, 74, 0.75);\r\n    backdrop-filter: blur(4px);\r\n    padding: 6px 14px;\r\n    border-radius: 999px;\r\n    font-size: 0.7rem;\r\n    font-weight: 600;\r\n    color: #fff;\r\n    text-align: center;\r\n    opacity: 0;\r\n    transform: translateY(10px);\r\n    transition: all 0.3s ease;\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide:hover .ville {\r\n    opacity: 1;\r\n    transform: translateY(0);\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide .zoom-icon {\r\n    position: absolute;\r\n    top: 12px;\r\n    right: 12px;\r\n    width: 32px;\r\n    height: 32px;\r\n    border-radius: 50%;\r\n    background: rgba(0, 0, 0, 0.5);\r\n    backdrop-filter: blur(4px);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: #fff;\r\n    font-size: 0.7rem;\r\n    opacity: 0;\r\n    transition: all 0.3s ease;\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide:hover .zoom-icon {\r\n    opacity: 1;\r\n}\r\n\r\n\/* ============================================================\r\n   INDICATEURS\r\n   ============================================================ *\/\r\n.galerie-carrousel .indicators {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 20px;\r\n    margin-top: 28px;\r\n}\r\n\r\n.galerie-carrousel .indicators .dots {\r\n    display: flex;\r\n    gap: 8px;\r\n}\r\n\r\n.galerie-carrousel .indicators .dots .dot {\r\n    width: 8px;\r\n    height: 8px;\r\n    border-radius: 50%;\r\n    background: var(--line);\r\n    transition: all 0.3s ease;\r\n    cursor: pointer;\r\n}\r\n\r\n.galerie-carrousel .indicators .dots .dot.active {\r\n    background: var(--or);\r\n    width: 24px;\r\n    border-radius: 999px;\r\n}\r\n\r\n.galerie-carrousel .indicators .counter {\r\n    font-family: 'Inter', sans-serif;\r\n    font-size: 0.8rem;\r\n    color: var(--slate);\r\n    font-weight: 500;\r\n}\r\n\r\n.galerie-carrousel .indicators .pause-btn {\r\n    background: none;\r\n    border: none;\r\n    color: var(--slate);\r\n    font-size: 1rem;\r\n    cursor: pointer;\r\n    transition: color 0.3s ease;\r\n    padding: 4px 8px;\r\n}\r\n\r\n.galerie-carrousel .indicators .pause-btn:hover {\r\n    color: var(--or);\r\n}\r\n\r\n\/* ============================================================\r\n   MODALE\r\n   ============================================================ *\/\r\n.galerie-carrousel .modal {\r\n    display: none;\r\n    position: fixed;\r\n    inset: 0;\r\n    z-index: 9999;\r\n    background: rgba(7, 41, 74, 0.92);\r\n    backdrop-filter: blur(8px);\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 40px;\r\n    animation: modalFade 0.3s ease;\r\n}\r\n\r\n.galerie-carrousel .modal.open {\r\n    display: flex;\r\n}\r\n\r\n@keyframes modalFade {\r\n    from { opacity: 0; transform: scale(0.95); }\r\n    to { opacity: 1; transform: scale(1); }\r\n}\r\n\r\n.galerie-carrousel .modal .modal-content {\r\n    position: relative;\r\n    max-width: 90vw;\r\n    max-height: 85vh;\r\n    border-radius: 20px;\r\n    overflow: hidden;\r\n    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);\r\n}\r\n\r\n.galerie-carrousel .modal .modal-content img {\r\n    width: 100%;\r\n    height: auto;\r\n    max-height: 85vh;\r\n    object-fit: contain;\r\n    display: block;\r\n}\r\n\r\n.galerie-carrousel .modal .modal-close {\r\n    position: absolute;\r\n    top: -50px;\r\n    right: 0;\r\n    background: none;\r\n    border: none;\r\n    color: #fff;\r\n    font-size: 2rem;\r\n    cursor: pointer;\r\n    transition: transform 0.3s ease;\r\n    opacity: 0.7;\r\n}\r\n\r\n.galerie-carrousel .modal .modal-close:hover {\r\n    transform: rotate(90deg);\r\n    opacity: 1;\r\n}\r\n\r\n.galerie-carrousel .modal .modal-ville {\r\n    position: absolute;\r\n    bottom: 20px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    background: rgba(0, 0, 0, 0.6);\r\n    backdrop-filter: blur(4px);\r\n    padding: 8px 24px;\r\n    border-radius: 999px;\r\n    color: #fff;\r\n    font-size: 0.9rem;\r\n    font-weight: 600;\r\n    white-space: nowrap;\r\n}\r\n\r\n\/* ============================================================\r\n   RESPONSIVE\r\n   ============================================================ *\/\r\n@media (max-width: 992px) {\r\n    .galerie-carrousel .container {\r\n        padding: 0 30px;\r\n    }\r\n    .galerie-carrousel .carousel-track .slide {\r\n        flex: 0 0 180px;\r\n    }\r\n}\r\n\r\n@media (max-width: 640px) {\r\n    .galerie-carrousel {\r\n        padding: 60px 0 80px;\r\n    }\r\n    .galerie-carrousel .container {\r\n        padding: 0 16px;\r\n    }\r\n    .galerie-carrousel .carousel-track {\r\n        gap: 10px;\r\n    }\r\n    .galerie-carrousel .carousel-track .slide {\r\n        flex: 0 0 150px;\r\n        border-radius: 12px;\r\n    }\r\n    .galerie-carrousel .carousel-track .slide .ville {\r\n        font-size: 0.6rem;\r\n        padding: 4px 10px;\r\n        bottom: 8px;\r\n        left: 8px;\r\n        right: 8px;\r\n    }\r\n    .galerie-carrousel .carousel-track .slide .zoom-icon {\r\n        display: none;\r\n    }\r\n    .galerie-carrousel .modal {\r\n        padding: 16px;\r\n    }\r\n    .galerie-carrousel .modal .modal-close {\r\n        top: -40px;\r\n        font-size: 1.5rem;\r\n    }\r\n    .galerie-carrousel .modal .modal-ville {\r\n        font-size: 0.7rem;\r\n        padding: 4px 16px;\r\n        bottom: 12px;\r\n    }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n    .galerie-carrousel .carousel-track .slide {\r\n        flex: 0 0 130px;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<section class=\"galerie-carrousel\">\r\n    <div class=\"container\">\r\n        \r\n        <!-- HEADER -->\r\n        <div class=\"header\">\r\n            <span class=\"pill\">\r\n                <span class=\"dot\"><\/span>\r\n                Galerie BT Plus\r\n            <\/span>\r\n            <h2 class=\"title\">\r\n                NOS INTERVENTIONS <span><br>EN IMAGES<\/span><br\r\n            <\/h2>\r\n            <p class=\"subtitle\">\r\n                D\u00e9couvrez nos chantiers r\u00e9cents : \r\n                Cliquez sur une photo pour l'agrandir.\r\n            <\/p>\r\n        <\/div>\r\n\r\n        <!-- CARROUSEL CONTINU -->\r\n        <div class=\"carousel-wrapper\">\r\n            <div class=\"carousel-track\" id=\"carouselTrack\">\r\n                <!-- Slides g\u00e9n\u00e9r\u00e9s par JavaScript -->\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- INDICATEURS -->\r\n        <div class=\"indicators\">\r\n            <div class=\"dots\" id=\"dotsContainer\"><\/div>\r\n            <span class=\"counter\" id=\"counter\">1 \/ 9<\/span>\r\n            <button class=\"pause-btn\" id=\"pauseBtn\" aria-label=\"Pause \/ Play\">\r\n                <i class=\"fas fa-pause\"><\/i>\r\n            <\/button>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- MODALE -->\r\n    <div class=\"modal\" id=\"modal\">\r\n        <div class=\"modal-content\">\r\n            <button class=\"modal-close\" id=\"modalClose\">&times;<\/button>\r\n            <img decoding=\"async\" id=\"modalImg\" src=\"\" alt=\"Intervention assainissement\">\r\n            <div class=\"modal-ville\" id=\"modalVille\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n    'use strict';\r\n\r\n    \/\/ ============================================================\r\n    \/\/ DONN\u00c9ES \u2014 Photos avec villes\r\n    \/\/ ============================================================\r\n    const photos = [\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-29-at-17.45.08-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Paris 15e'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-29-at-17.45.06-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Boulogne-Billancourt'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-29-at-17.45.05-1-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Nanterre'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-28-at-23.33.07-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Saint-Denis'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-28-at-16.51.17-LAPTOP-MF3UBE4E-LAPTOP-MF3UBE4E-2.jpeg',\r\n            ville: 'Montreuil'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-28-at-16.40.26.jpeg',\r\n            ville: 'Vincennes'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-28-at-14.47.29-LAPTOP-MF3UBE4E-LAPTOP-MF3UBE4E-2.jpeg',\r\n            ville: 'Asni\u00e8res'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-27-at-14.45.13-2-LAPTOP-MF3UBE4E-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Levallois-Perret'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-24-at-18.54.26-10-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Yvelines'\r\n        }\r\n    ];\r\n\r\n    \/\/ ============================================================\r\n    \/\/ \u00c9L\u00c9MENTS\r\n    \/\/ ============================================================\r\n    const track = document.getElementById('carouselTrack');\r\n    const dotsContainer = document.getElementById('dotsContainer');\r\n    const counter = document.getElementById('counter');\r\n    const pauseBtn = document.getElementById('pauseBtn');\r\n    const modal = document.getElementById('modal');\r\n    const modalImg = document.getElementById('modalImg');\r\n    const modalVille = document.getElementById('modalVille');\r\n    const modalClose = document.getElementById('modalClose');\r\n\r\n    let isPaused = false;\r\n    let currentIndex = 0;\r\n    const totalSlides = photos.length;\r\n    const slidesPerView = 5;\r\n\r\n    \/\/ ============================================================\r\n    \/\/ G\u00c9N\u00c9RER LES SLIDES (doubl\u00e9es pour l'effet infini)\r\n    \/\/ ============================================================\r\n    function renderSlides() {\r\n        track.innerHTML = '';\r\n        \/\/ Doubler les photos pour l'effet continu\r\n        const allPhotos = [...photos, ...photos];\r\n        allPhotos.forEach((photo, index) => {\r\n            const slide = document.createElement('div');\r\n            slide.className = 'slide';\r\n            slide.setAttribute('data-index', index % photos.length);\r\n            \r\n            slide.innerHTML = `\r\n                <img decoding=\"async\" src=\"${photo.src}\" alt=\"Intervention assainissement ${photo.ville}\" loading=\"lazy\">\r\n                <div class=\"ville\">${photo.ville}<\/div>\r\n                <div class=\"zoom-icon\"><i class=\"fas fa-expand\"><\/i><\/div>\r\n            `;\r\n            \r\n            slide.addEventListener('click', function() {\r\n                const idx = parseInt(this.getAttribute('data-index'));\r\n                openModal(idx);\r\n            });\r\n            \r\n            track.appendChild(slide);\r\n        });\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ G\u00c9N\u00c9RER LES DOTS\r\n    \/\/ ============================================================\r\n    function renderDots() {\r\n        dotsContainer.innerHTML = '';\r\n        for (let i = 0; i < totalSlides; i++) {\r\n            const dot = document.createElement('span');\r\n            dot.className = 'dot' + (i === 0 ? ' active' : '');\r\n            dot.setAttribute('data-index', i);\r\n            dot.addEventListener('click', function() {\r\n                const idx = parseInt(this.getAttribute('data-index'));\r\n                goToSlide(idx);\r\n            });\r\n            dotsContainer.appendChild(dot);\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ NAVIGATION VERS UNE PHOTO SP\u00c9CIFIQUE\r\n    \/\/ ============================================================\r\n    function goToSlide(index) {\r\n        currentIndex = index;\r\n        const slideWidth = 220 + 16; \/\/ largeur + gap\r\n        const offset = -(index * slideWidth);\r\n        \/\/ Animation manuelle\r\n        track.style.animation = 'none';\r\n        track.style.transform = `translateX(${offset}px)`;\r\n        \/\/ R\u00e9activer l'animation apr\u00e8s un d\u00e9lai\r\n        setTimeout(() => {\r\n            track.style.animation = '';\r\n            track.style.transform = '';\r\n        }, 50);\r\n        updateDots();\r\n        updateCounter();\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ MISE \u00c0 JOUR DES INDICATEURS\r\n    \/\/ ============================================================\r\n    function updateDots() {\r\n        const dots = dotsContainer.querySelectorAll('.dot');\r\n        dots.forEach((dot, i) => {\r\n            dot.classList.toggle('active', i === currentIndex);\r\n        });\r\n    }\r\n\r\n    function updateCounter() {\r\n        counter.textContent = `${currentIndex + 1} \/ ${totalSlides}`;\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ PAUSE \/ PLAY\r\n    \/\/ ============================================================\r\n    function togglePause() {\r\n        isPaused = !isPaused;\r\n        if (isPaused) {\r\n            track.style.animationPlayState = 'paused';\r\n            pauseBtn.innerHTML = '<i class=\"fas fa-play\"><\/i>';\r\n        } else {\r\n            track.style.animationPlayState = 'running';\r\n            pauseBtn.innerHTML = '<i class=\"fas fa-pause\"><\/i>';\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ MODALE\r\n    \/\/ ============================================================\r\n    function openModal(index) {\r\n        const photo = photos[index];\r\n        modalImg.src = photo.src;\r\n        modalImg.alt = `Intervention assainissement ${photo.ville}`;\r\n        modalVille.textContent = photo.ville;\r\n        modal.classList.add('open');\r\n        document.body.style.overflow = 'hidden';\r\n        track.style.animationPlayState = 'paused';\r\n    }\r\n\r\n    function closeModal() {\r\n        modal.classList.remove('open');\r\n        document.body.style.overflow = '';\r\n        if (!isPaused) {\r\n            track.style.animationPlayState = 'running';\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ SYNC DOTS AVEC L'ANIMATION (bas\u00e9 sur la position)\r\n    \/\/ ============================================================\r\n    function syncWithScroll() {\r\n        \/\/ Cette fonction est appel\u00e9e p\u00e9riodiquement pour synchroniser les dots\r\n        \/\/ avec la position actuelle du carrousel\r\n        const slideWidth = 220 + 16;\r\n        const totalWidth = track.scrollWidth \/ 2;\r\n        const scrollPosition = Math.abs(parseFloat(track.style.transform.replace('translateX(', '').replace('px)', ''))) || 0;\r\n        const approxIndex = Math.round(scrollPosition \/ slideWidth) % totalSlides;\r\n        if (approxIndex !== currentIndex) {\r\n            currentIndex = approxIndex;\r\n            updateDots();\r\n            updateCounter();\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ \u00c9V\u00c9NEMENTS\r\n    \/\/ ============================================================\r\n    pauseBtn.addEventListener('click', togglePause);\r\n    modalClose.addEventListener('click', closeModal);\r\n    modal.addEventListener('click', function(e) {\r\n        if (e.target === this) closeModal();\r\n    });\r\n    document.addEventListener('keydown', function(e) {\r\n        if (e.key === 'Escape') closeModal();\r\n    });\r\n\r\n    \/\/ Synchro p\u00e9riodique\r\n    setInterval(syncWithScroll, 2000);\r\n\r\n    \/\/ ============================================================\r\n    \/\/ INITIALISATION\r\n    \/\/ ============================================================\r\n    renderSlides();\r\n    renderDots();\r\n    updateCounter();\r\n\r\n    \/\/ Fallback images\r\n    document.querySelectorAll('img').forEach(img => {\r\n        img.addEventListener('error', function() {\r\n            if (!this.hasAttribute('data-fallback')) {\r\n                this.setAttribute('data-fallback', 'true');\r\n                this.src = 'data:image\/svg+xml,%3Csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"400\" height=\"400\"%3E%3Crect fill=\"%2307294a\" width=\"400\" height=\"400\"\/%3E%3Ctext x=\"200\" y=\"200\" text-anchor=\"middle\" font-family=\"Sora\" font-size=\"24\" fill=\"%23f4a61a\"%3EBT Plus%3C\/text%3E%3C\/svg%3E';\r\n            }\r\n        });\r\n    });\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1f3c47b e-con-full e-flex e-con e-parent\" data-id=\"1f3c47b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f150fd2 elementor-widget elementor-widget-html\" data-id=\"f150fd2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no, viewport-fit=cover\">\r\n    <title>Mise en conformit\u00e9 plomberie \u2013 BT Plus \u00cele-de-France<\/title>\r\n\r\n\r\n    <style>\r\n        \/* ============================================================\r\n           BT PLUS \u2014 MISE EN CONFORMIT\u00c9 (SEO optimis\u00e9)\r\n           ============================================================ *\/\r\n\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        body {\r\n            overflow-x: hidden;\r\n            background: #f5f7fa;\r\n            font-family: 'Inter', sans-serif;\r\n        }\r\n\r\n        \/* ============================================================\r\n           ANIMATIONS (GPU-friendly)\r\n           ============================================================ *\/\r\n        @keyframes fadeUp {\r\n            0% { opacity: 0; transform: translateY(30px); }\r\n            100% { opacity: 1; transform: translateY(0); }\r\n        }\r\n\r\n        @keyframes pulse-dot {\r\n            0% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0.55); }\r\n            70% { box-shadow: 0 0 0 9px rgba(244, 166, 26, 0); }\r\n            100% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0); }\r\n        }\r\n\r\n        .anim-up {\r\n            animation: fadeUp 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1) forwards;\r\n        }\r\n\r\n        .init-hidden {\r\n            opacity: 0;\r\n            transform: translateY(30px);\r\n        }\r\n\r\n        \/* ============================================================\r\n           SECTION DIAGNOSTIC\r\n           ============================================================ *\/\r\n        .btp-diagnostic {\r\n            width: 100%;\r\n            padding: 80px 0 100px;\r\n            background: linear-gradient(180deg, #eef6fc 0%, #ffffff 100%);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        \/* Vague d\u00e9corative *\/\r\n        .btp-diagnostic::after {\r\n            content: '';\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            height: 80px;\r\n            background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C300,80 600,0 900,40 C1050,60 1150,40 1200,40 L1200,80 L0,80 Z' fill='%23d6ebfb' opacity='0.3'\/%3E%3C\/svg%3E\") no-repeat bottom \/ 100% 100%;\r\n            pointer-events: none;\r\n        }\r\n\r\n        .btp-diagnostic .container {\r\n            max-width: 1100px;\r\n            margin: 0 auto;\r\n            padding: 0 40px;\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        \/* ============================================================\r\n           HEADER \u2014 SEO enrichi\r\n           ============================================================ *\/\r\n        .btp-diagnostic .header {\r\n            text-align: center;\r\n            margin-bottom: 50px;\r\n        }\r\n\r\n        .btp-diagnostic .pill {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            font-weight: 700;\r\n            font-size: 0.7rem;\r\n            letter-spacing: 0.1em;\r\n            text-transform: uppercase;\r\n            color: #d98a0c;\r\n            background: #fff;\r\n            border: 1px solid #f6e3bf;\r\n            padding: 6px 16px 6px 12px;\r\n            border-radius: 999px;\r\n            margin-bottom: 16px;\r\n        }\r\n\r\n        .btp-diagnostic .pill .dot {\r\n            width: 8px;\r\n            height: 8px;\r\n            border-radius: 50%;\r\n            background: #f4a61a;\r\n            animation: pulse-dot 1.8s infinite;\r\n        }\r\n\r\n        .btp-diagnostic .title {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: clamp(2rem, 4.2vw, 3.4rem);\r\n            font-weight: 800;\r\n            letter-spacing: -0.025em;\r\n            color: #07294a;\r\n            line-height: 1.1;\r\n        }\r\n\r\n        .btp-diagnostic .title span {\r\n            color: #f4a61a;\r\n        }\r\n\r\n        .btp-diagnostic .subtitle {\r\n            font-size: 1.05rem;\r\n            color: #48637d;\r\n            max-width: 700px;\r\n            margin: 12px auto 0;\r\n            line-height: 1.6;\r\n        }\r\n        .btp-diagnostic .subtitle strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* ============================================================\r\n           DOSSIER PATIENT \u2014 Avant\/Apr\u00e8s (TRAVAUX)\r\n           ============================================================ *\/\r\n        .btp-diagnostic .dossier {\r\n            background: #fff;\r\n            border-radius: 28px;\r\n            padding: 40px 44px;\r\n            border: 1px solid #eef2f5;\r\n            box-shadow: 0 4px 20px rgba(7, 41, 74, 0.04);\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .btp-diagnostic .dossier .dossier-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            margin-bottom: 24px;\r\n            padding-bottom: 16px;\r\n            border-bottom: 2px solid #eef2f5;\r\n        }\r\n\r\n        .btp-diagnostic .dossier .dossier-header .badge-dossier {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 0.65rem;\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.08em;\r\n            color: #1c7ec9;\r\n            background: #eef6fc;\r\n            padding: 4px 14px;\r\n            border-radius: 999px;\r\n        }\r\n\r\n        .btp-diagnostic .dossier .dossier-header .dossier-id {\r\n            font-family: 'Inter', sans-serif;\r\n            font-size: 0.7rem;\r\n            color: #9aaeb8;\r\n            margin-left: auto;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr 1fr;\r\n            gap: 24px;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card {\r\n            border-radius: 20px;\r\n            overflow: hidden;\r\n            background: #f8fafc;\r\n            border: 1px solid #eef2f5;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card:hover {\r\n            transform: translateY(-4px);\r\n            box-shadow: 0 12px 32px rgba(7, 41, 74, 0.06);\r\n            border-color: #d6ebfb;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card img {\r\n            width: 100%;\r\n            height: 220px;\r\n            object-fit: cover;\r\n            display: block;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n            padding: 14px 20px;\r\n            font-weight: 700;\r\n            font-size: 0.85rem;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label .status {\r\n            font-size: 0.6rem;\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.06em;\r\n            padding: 2px 12px;\r\n            border-radius: 999px;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label .status.avant {\r\n            background: #fee2e2;\r\n            color: #dc2626;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label .status.apres {\r\n            background: #d1fae5;\r\n            color: #10b981;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label .label-text {\r\n            color: #07294a;\r\n            font-family: 'Sora', sans-serif;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card.avant {\r\n            border-color: #fca5a5;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card.apres {\r\n            border-color: #6ee7b7;\r\n        }\r\n\r\n        \/* ============================================================\r\n           SYMPT\u00d4MES \u2014 Non-conformit\u00e9s (SEO enrichi)\r\n           ============================================================ *\/\r\n        .btp-diagnostic .section-title {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 1.3rem;\r\n            font-weight: 700;\r\n            color: #07294a;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .btp-diagnostic .symptoms-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr 1fr;\r\n            gap: 20px;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card {\r\n            background: #fff;\r\n            border-radius: 20px;\r\n            padding: 24px 28px;\r\n            border: 1px solid #eef2f5;\r\n            transition: all 0.3s ease;\r\n            box-shadow: 0 2px 8px rgba(7, 41, 74, 0.02);\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card:hover {\r\n            transform: translateY(-3px);\r\n            border-color: #f4a61a;\r\n            box-shadow: 0 8px 24px rgba(7, 41, 74, 0.06);\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card h4 {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 1rem;\r\n            font-weight: 700;\r\n            color: #07294a;\r\n            margin-bottom: 6px;\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card p {\r\n            font-size: 0.85rem;\r\n            color: #48637d;\r\n            line-height: 1.6;\r\n        }\r\n        .btp-diagnostic .symptom-card p strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card .tag-symptom {\r\n            display: inline-block;\r\n            margin-top: 10px;\r\n            font-size: 0.6rem;\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.06em;\r\n            color: #f4a61a;\r\n            background: #fefaf5;\r\n            padding: 2px 14px;\r\n            border-radius: 999px;\r\n            border: 1px solid #f6e3bf;\r\n        }\r\n\r\n        \/* ============================================================\r\n           ORDONNANCE \u2014 Travaux de mise en conformit\u00e9 (SEO enrichie)\r\n           ============================================================ *\/\r\n        .btp-diagnostic .ordonnance {\r\n            background: #fefaf5;\r\n            border-radius: 20px;\r\n            padding: 28px 32px;\r\n            border: 1px solid #f6e3bf;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-title {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 1.1rem;\r\n            font-weight: 700;\r\n            color: #07294a;\r\n            margin-bottom: 4px;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-title span {\r\n            color: #f4a61a;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-desc {\r\n            font-size: 0.9rem;\r\n            color: #48637d;\r\n            line-height: 1.6;\r\n            margin-bottom: 14px;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-list {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 10px;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-list .ord-item {\r\n            display: inline-block;\r\n            background: #fff;\r\n            padding: 6px 18px;\r\n            border-radius: 999px;\r\n            border: 1px solid #eef2f5;\r\n            font-size: 0.8rem;\r\n            font-weight: 500;\r\n            color: #07294a;\r\n            transition: all 0.2s;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-list .ord-item:hover {\r\n            border-color: #f4a61a;\r\n            background: #fff;\r\n        }\r\n\r\n        \/* ============================================================\r\n           RAPPEL URGENCE \u2014 SEO enrichi\r\n           ============================================================ *\/\r\n        .btp-diagnostic .urgence-block {\r\n            margin-top: 10px;\r\n            padding-top: 30px;\r\n            border-top: 2px solid #eef2f5;\r\n            text-align: center;\r\n        }\r\n\r\n        .btp-diagnostic .urgence-block .rappel {\r\n            font-size: 1rem;\r\n            color: #48637d;\r\n            margin-bottom: 16px;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        .btp-diagnostic .urgence-block .rappel strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .btp-diagnostic .urgence-block .rappel .highlight {\r\n            color: #f4a61a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* ============================================================\r\n           CTA ROUGE \u2014 NUM\u00c9RO EN BLANC\r\n           ============================================================ *\/\r\n        .btp-diagnostic .btn-urgence {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 14px;\r\n            background: #d32f2f;\r\n            color: #ffffff !important;\r\n            padding: 16px 40px;\r\n            border-radius: 50px;\r\n            text-decoration: none;\r\n            font-family: 'Sora', sans-serif;\r\n            font-weight: 700;\r\n            font-size: 1.1rem;\r\n            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);\r\n            box-shadow: 0 4px 20px rgba(211, 47, 47, 0.30);\r\n            border: none;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .btp-diagnostic .btn-urgence:hover {\r\n            background: #b71c1c;\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 8px 32px rgba(211, 47, 47, 0.40);\r\n            color: #ffffff !important;\r\n            gap: 18px;\r\n        }\r\n\r\n        .btp-diagnostic .btn-urgence .number {\r\n            font-size: 1.4rem;\r\n            letter-spacing: 0.02em;\r\n            color: #ffffff;\r\n        }\r\n\r\n        .btp-diagnostic .btn-urgence .label {\r\n            font-size: 0.7rem;\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.06em;\r\n            color: rgba(255, 255, 255, 0.7);\r\n            display: block;\r\n            margin-top: 1px;\r\n        }\r\n\r\n        \/* ============================================================\r\n           RESPONSIVE (Mobile-first)\r\n           ============================================================ *\/\r\n        @media (max-width: 992px) {\r\n            .btp-diagnostic .container {\r\n                padding: 0 30px;\r\n            }\r\n\r\n            .btp-diagnostic .dossier {\r\n                padding: 28px 24px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 16px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid .ba-card img {\r\n                height: 180px;\r\n            }\r\n\r\n            .btp-diagnostic .symptoms-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .btp-diagnostic .ordonnance {\r\n                padding: 22px 20px;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 640px) {\r\n            .btp-diagnostic {\r\n                padding: 60px 0 80px;\r\n            }\r\n\r\n            .btp-diagnostic .container {\r\n                padding: 0 20px;\r\n            }\r\n\r\n            .btp-diagnostic .dossier {\r\n                padding: 20px 16px;\r\n                border-radius: 20px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 14px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid .ba-card img {\r\n                height: 160px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid .ba-card .ba-label {\r\n                padding: 10px 16px;\r\n                font-size: 0.75rem;\r\n            }\r\n\r\n            .btp-diagnostic .symptom-card {\r\n                padding: 18px 20px;\r\n            }\r\n\r\n            .btp-diagnostic .symptom-card h4 {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .btp-diagnostic .symptom-card p {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .btp-diagnostic .ordonnance .ord-list .ord-item {\r\n                font-size: 0.7rem;\r\n                padding: 4px 14px;\r\n            }\r\n\r\n            .btp-diagnostic .urgence-block .rappel {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .btp-diagnostic .btn-urgence {\r\n                padding: 12px 28px;\r\n                font-size: 1rem;\r\n                width: 100%;\r\n                flex-direction: column;\r\n                gap: 4px;\r\n                justify-content: center;\r\n            }\r\n\r\n            .btp-diagnostic .btn-urgence .number {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .btp-diagnostic .btn-urgence .label {\r\n                font-size: 0.6rem;\r\n            }\r\n\r\n            .btp-diagnostic .btn-urgence:hover {\r\n                gap: 6px;\r\n            }\r\n\r\n            .btp-diagnostic .dossier .dossier-header .dossier-id {\r\n                display: none;\r\n            }\r\n        }\r\n\r\n        \/* ============================================================\r\n           FALLBACK IMAGES\r\n           ============================================================ *\/\r\n        img.error-fallback {\r\n            object-fit: contain;\r\n            background: #eef6fc;\r\n            padding: 20px;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<!-- ============================================================\r\n     SECTION MISE EN CONFORMIT\u00c9 \u2014 BT PLUS (SEO optimis\u00e9)\r\n     ============================================================ -->\r\n<section class=\"btp-diagnostic\">\r\n    <div class=\"container\">\r\n\r\n        <!-- HEADER \u2014 SEO enrichi -->\r\n        <div class=\"header\">\r\n            <span class=\"pill init-hidden\">\r\n                <span class=\"dot\"><\/span>\r\n                Urgence 24h\/24 \u2013 Devis gratuit\r\n            <\/span>\r\n            <h2 class=\"title init-hidden\">\r\n                Mise en conformit\u00e9 plomberie \u2013 <span>interventions<\/span><br>suite \u00e0 rapport de diagnostic\r\n            <\/h2>\r\n            <p class=\"subtitle init-hidden\">\r\n                <strong>Plombier urgence 24h\/24 en \u00cele-de-France<\/strong> \u2013 Nous intervenons\r\n                <strong>apr\u00e8s la r\u00e9alisation de votre rapport de diagnostic<\/strong> pour effectuer\r\n                les <strong>travaux de mise en conformit\u00e9<\/strong> n\u00e9cessaires.\r\n                <strong>Remplacement de canalisations<\/strong>, <strong>mise aux normes assainissement<\/strong>,\r\n                <strong>r\u00e9novation de r\u00e9seaux<\/strong> \u2013 sur la base des pr\u00e9conisations du diagnostic.\r\n                <strong>Devis gratuit<\/strong> et <strong>intervention rapide<\/strong>.\r\n            <\/p>\r\n        <\/div>\r\n\r\n        <!-- DOSSIER PATIENT \u2014 Avant \/ Apr\u00e8s (TRAVAUX R\u00c9ALIS\u00c9S PAR BT PLUS) -->\r\n        <div class=\"dossier init-hidden\">\r\n            <div class=\"dossier-header\">\r\n                <span class=\"badge-dossier\">Dossier travaux \u2013 Mise en conformit\u00e9<\/span>\r\n                <span class=\"dossier-id\">R\u00e9f. #T-2024-001<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"ba-grid\">\r\n                <!-- AVANT \u2014 \u00e9tat initial (tel que r\u00e9v\u00e9l\u00e9 par le rapport) -->\r\n                <div class=\"ba-card avant\">\r\n                    <img decoding=\"async\" src=\"http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/remplacement-station-relevage_-2.jpg\"\r\n                         alt=\"Installation v\u00e9tuste avant travaux de mise en conformit\u00e9\"\r\n                         onerror=\"this.src='data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 width=%22500%22 height=%22220%22%3E%3Crect fill=%22%23fef2f2%22 width=%22500%22 height=%22220%22\/%3E%3Ctext x=%22250%22 y=%22110%22 text-anchor=%22middle%22 font-family=%22Sora%22 font-size=%2224%22 fill=%22%23dc2626%22%3EINSTALLATION V%C3%89TUSTE%3C\/text%3E%3C\/svg%3E'\">\r\n                    <div class=\"ba-label\">\r\n                        <span class=\"label-text\">Avant \u2013 Installation non conforme<\/span>\r\n                        <span class=\"status avant\">\u00c0 remplacer<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- APR\u00c8S \u2014 travaux r\u00e9alis\u00e9s par BT Plus -->\r\n                <div class=\"ba-card apres\">\r\n                    <img decoding=\"async\" src=\"http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/pose-puisard_3.jpg\"\r\n                         alt=\"Installation neuve apr\u00e8s travaux de mise en conformit\u00e9 par BT Plus\"\r\n                         onerror=\"this.src='data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 width=%22500%22 height=%22220%22%3E%3Crect fill=%22%23ecfdf5%22 width=%22500%22 height=%22220%22\/%3E%3Ctext x=%22250%22 y=%22110%22 text-anchor=%22middle%22 font-family=%22Sora%22 font-size=%2224%22 fill=%22%2310b981%22%3EINSTALLATION NEUVE%3C\/text%3E%3C\/svg%3E'\">\r\n                    <div class=\"ba-label\">\r\n                        <span class=\"label-text\">Apr\u00e8s \u2013 Installation mise aux normes<\/span>\r\n                        <span class=\"status apres\">Conforme &amp; durable<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- SYMPT\u00d4MES \u2014 Signes de non-conformit\u00e9 (SEO enrichi) -->\r\n        <div class=\"section-title init-hidden\">\r\n            Signes d'une installation \u00e0 mettre en conformit\u00e9\r\n        <\/div>\r\n\r\n        <div class=\"symptoms-grid\">\r\n\r\n            <div class=\"symptom-card init-hidden\">\r\n                <h4>Anomalies sanitaires<\/h4>\r\n                <p>\r\n                    Les <strong>installations non conformes<\/strong> pr\u00e9sentent souvent des signes alarmants :\r\n                    <strong>absence de siphon<\/strong> ou siphon inadapt\u00e9, <strong>mauvaise ventilation<\/strong>\r\n                    des r\u00e9seaux, <strong>tuyaux en plomb<\/strong> ou en mat\u00e9riaux d\u00e9grad\u00e9s,\r\n                    <strong>absence de clapets anti-retour<\/strong>. Ces anomalies, d\u00e9tect\u00e9es dans votre\r\n                    <strong>rapport de diagnostic<\/strong>, n\u00e9cessitent des <strong>travaux de mise en conformit\u00e9<\/strong>\r\n                    rapides pour \u00e9viter les <strong>risques sanitaires<\/strong> et les <strong>probl\u00e8mes d'\u00e9vacuation<\/strong>.\r\n                    BT Plus intervient pour r\u00e9aliser ces <strong>travaux de r\u00e9novation<\/strong> sur la base des\r\n                    pr\u00e9conisations du rapport.\r\n                <\/p>\r\n                <span class=\"tag-symptom\">Travaux de mise en conformit\u00e9<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"symptom-card init-hidden\">\r\n                <h4>Probl\u00e8mes r\u00e9glementaires<\/h4>\r\n                <p>\r\n                    Si vos <strong>r\u00e9seaux<\/strong> (eau potable, assainissement, chauffage) ne respectent pas les\r\n                    <strong>normes DTU<\/strong> et la <strong>r\u00e9glementation sanitaire<\/strong>, vous vous exposez \u00e0\r\n                    des <strong>refus de vente<\/strong> ou <strong>de location<\/strong>, des <strong>sanctions<\/strong>\r\n                    ou des <strong>risques de contentieux<\/strong>. Une fois le <strong>rapport de diagnostic<\/strong>\r\n                    \u00e9tabli, BT Plus r\u00e9alise les <strong>travaux de mise aux normes<\/strong> : remplacement des\r\n                    canalisations, installation de dispositifs de s\u00e9curit\u00e9, correction des pentes, etc.\r\n                    <strong>Entreprise de mise en conformit\u00e9 agr\u00e9\u00e9e<\/strong> \u2013 devis gratuit.\r\n                <\/p>\r\n                <span class=\"tag-symptom\">Intervention obligatoire<\/span>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- ORDONNANCE \u2014 Travaux de mise en conformit\u00e9 (SEO enrichie) -->\r\n        <div class=\"ordonnance init-hidden\">\r\n            <div class=\"ord-title\">\r\n                <span>Ordonnance<\/span> \u00b7 Travaux r\u00e9alis\u00e9s par BT Plus suite \u00e0 votre rapport\r\n            <\/div>\r\n            <div class=\"ord-desc\">\r\n                Nos <strong>techniciens qualifi\u00e9s<\/strong> prennent en charge l'int\u00e9gralit\u00e9 des\r\n                <strong>travaux de mise en conformit\u00e9<\/strong> pr\u00e9conis\u00e9s par votre rapport de diagnostic.\r\n                <strong>Entreprise de mise en conformit\u00e9 agr\u00e9\u00e9e<\/strong> \u2013 <strong>devis gratuit<\/strong>.\r\n            <\/div>\r\n            <div class=\"ord-list\">\r\n                <span class=\"ord-item\"><strong>Remplacement de canalisations<\/strong> \u2013 PVC, cuivre, PER<\/span>\r\n                <span class=\"ord-item\"><strong>Mise en conformit\u00e9 assainissement<\/strong> \u2013 eaux us\u00e9es et pluviales<\/span>\r\n                <span class=\"ord-item\"><strong>Mise en conformit\u00e9 eau potable<\/strong> \u2013 r\u00e9seau et compteur<\/span>\r\n                <span class=\"ord-item\"><strong>Mise en conformit\u00e9 chauffage<\/strong> \u2013 normes et s\u00e9curit\u00e9<\/span>\r\n                <span class=\"ord-item\"><strong>Remplacement tuyaux en plomb<\/strong> \u2013 eau potable<\/span>\r\n                <span class=\"ord-item\"><strong>Travaux suite \u00e0 diagnostic avant vente \/ location<\/strong><\/span>\r\n                <span class=\"ord-item\"><strong>Mise en conformit\u00e9 copropri\u00e9t\u00e9<\/strong> \u2013 syndic<\/span>\r\n                <span class=\"ord-item\"><strong>R\u00e9novation compl\u00e8te de plomberie<\/strong><\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- RAPPEL URGENCE + CTA ROUGE (SEO enrichi) -->\r\n        <div class=\"urgence-block init-hidden\">\r\n            <p class=\"rappel\">\r\n                <strong>Rappel :<\/strong> Vous avez re\u00e7u un <strong>rapport de diagnostic<\/strong> ?\r\n                Confiez les <strong>travaux de mise en conformit\u00e9<\/strong> \u00e0 BT Plus.\r\n                Appelez notre <strong>plombier urgence 24h\/24<\/strong>\r\n                <span class=\"highlight\">d\u00e8s maintenant<\/span>.\r\n                <strong>Mise en conformit\u00e9 24h\/24 \u2013 7j\/7<\/strong> \u2013 <strong>devis gratuit<\/strong>.\r\n            <\/p>\r\n            <a href=\"tel:0186957777\" class=\"btn-urgence\">\r\n                <span>\r\n                    <span class=\"number\">01 86 95 77 77<\/span>\r\n                    <span class=\"label\">Appel gratuit \u00b7 Urgence 24h\/24 \u00b7 7j\/7<\/span>\r\n                <\/span>\r\n            <\/a>\r\n        <\/div>\r\n\r\n    <\/div>\r\n<\/section>\r\n\r\n<!-- ============================================================\r\n     SCRIPT \u2014 Animations au scroll + fallback images\r\n     ============================================================ -->\r\n<script>\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n\r\n        const elements = document.querySelectorAll('.init-hidden');\r\n\r\n        if (elements.length > 0 && 'IntersectionObserver' in window) {\r\n            const observer = new IntersectionObserver((entries) => {\r\n                entries.forEach(entry => {\r\n                    if (entry.isIntersecting) {\r\n                        entry.target.classList.add('anim-up');\r\n                        observer.unobserve(entry.target);\r\n                    }\r\n                });\r\n            }, {\r\n                threshold: 0.15,\r\n                rootMargin: '0px 0px -40px 0px'\r\n            });\r\n\r\n            elements.forEach(el => observer.observe(el));\r\n        } else {\r\n            \/\/ Fallback si IntersectionObserver non support\u00e9\r\n            elements.forEach(el => {\r\n                el.classList.remove('init-hidden');\r\n                el.classList.add('anim-up');\r\n            });\r\n        }\r\n\r\n        \/\/ Fallback images\r\n        document.querySelectorAll('img').forEach(img => {\r\n            img.addEventListener('error', function() {\r\n                if (!this.hasAttribute('data-fallback')) {\r\n                    this.setAttribute('data-fallback', 'true');\r\n                    this.classList.add('error-fallback');\r\n                }\r\n            });\r\n        });\r\n\r\n    });\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-29ed05f e-con-full e-flex e-con e-parent\" data-id=\"29ed05f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f047b75 elementor-widget elementor-widget-html\" data-id=\"f047b75\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     BT PLUS \u2014 Services par d\u00e9partement (MISE EN CONFORMIT\u00c9)\r\n     ============================================================ -->\r\n\r\n<style>\r\n.btp-liens{\r\n  --b900:#07294a; --b800:#0a3666; --b700:#0d4f8b; --b500:#1c7ec9; --b300:#7cc0ee; --b100:#d6ebfb; --b50:#eef6fc;\r\n  --or:#f4a61a; --or-d:#d98a0c; --ink:#0c2238; --slate:#48637d; --line:#e4ecf4;\r\n  --green:#10b981; --green-bg:#d1fae5; --red:#ef4444; --red-bg:#fee2e2;\r\n  --fd:\"Sora\",sans-serif; --fb:\"Inter\",sans-serif; --fm:\"JetBrains Mono\",monospace;\r\n  --ease:cubic-bezier(.2,.8,.2,1);\r\n\r\n  position:relative; overflow:hidden; width:100%;\r\n  padding:60px 0 70px;\r\n  font-family:var(--fb); color:var(--ink); line-height:1.5;\r\n  background:#ffffff;\r\n}\r\n.btp-liens *,.btp-liens *::before,.btp-liens *::after{box-sizing:border-box}\r\n.btp-liens h2,.btp-liens h3,.btp-liens p{margin:0}\r\n.btp-liens .wrap{\r\n  max-width:1200px;\r\n  margin:0 auto;\r\n  padding:0 24px;\r\n  position:relative;\r\n  z-index:2;\r\n}\r\n\r\n\/* ---------- en-t\u00eate ---------- *\/\r\n.btp-liens .hd{\r\n  text-align:center;\r\n  margin-bottom:32px;\r\n}\r\n.btp-liens .hd h2{\r\n  font-family:var(--fd);\r\n  font-weight:800;\r\n  letter-spacing:-.025em;\r\n  line-height:1.1;\r\n  font-size:clamp(1.6rem,3.2vw,2.4rem);\r\n  color:var(--b900);\r\n}\r\n.btp-liens .hd h2 em{font-style:normal;color:var(--or)}\r\n.btp-liens .hd p{\r\n  margin-top:8px;\r\n  font-size:.95rem;\r\n  color:var(--slate);\r\n}\r\n\r\n\/* ---------- groupes de services ---------- *\/\r\n.btp-liens .groupe{\r\n  margin-bottom:32px;\r\n}\r\n.btp-liens .groupe:last-child{margin-bottom:0}\r\n\r\n.btp-liens .groupe-titre{\r\n  font-family:var(--fd);\r\n  font-weight:700;\r\n  font-size:1.1rem;\r\n  color:var(--b900);\r\n  margin-bottom:12px;\r\n  padding-bottom:6px;\r\n  border-bottom:2px solid var(--or);\r\n  display:inline-block;\r\n}\r\n.btp-liens .groupe-titre small{\r\n  font-weight:400;\r\n  font-size:.7rem;\r\n  color:var(--slate);\r\n  margin-left:8px;\r\n}\r\n\r\n\/* ---------- grille des services ---------- *\/\r\n.btp-liens .services-grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(4,1fr);\r\n  gap:14px;\r\n}\r\n@media(max-width:820px){\r\n  .btp-liens .services-grid{grid-template-columns:repeat(2,1fr)}\r\n}\r\n@media(max-width:480px){\r\n  .btp-liens .services-grid{grid-template-columns:1fr}\r\n}\r\n\r\n.btp-liens .service-card{\r\n  display:block;\r\n  background:#fff;\r\n  border-radius:12px;\r\n  border:1px solid var(--line);\r\n  padding:16px 20px;\r\n  text-decoration:none;\r\n  color:var(--b900);\r\n  font-family:var(--fd);\r\n  font-weight:600;\r\n  font-size:.9rem;\r\n  transition:all .3s var(--ease);\r\n  text-align:center;\r\n  box-shadow:0 2px 6px rgba(0,0,0,.02);\r\n  position:relative;\r\n}\r\n.btp-liens .service-card:hover{\r\n  border-color:var(--or);\r\n  box-shadow:0 8px 20px rgba(7,41,74,.08);\r\n  transform:translateY(-3px);\r\n  color:var(--b700);\r\n}\r\n.btp-liens .service-card .sous-titre{\r\n  display:block;\r\n  font-family:var(--fm);\r\n  font-weight:400;\r\n  font-size:.55rem;\r\n  letter-spacing:.04em;\r\n  text-transform:uppercase;\r\n  color:var(--slate);\r\n  margin-top:2px;\r\n}\r\n.btp-liens .service-card .badge-service{\r\n  display:inline-block;\r\n  font-family:var(--fm);\r\n  font-size:.45rem;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  padding:2px 10px;\r\n  border-radius:999px;\r\n  background:var(--b50);\r\n  color:var(--b700);\r\n  margin-bottom:4px;\r\n}\r\n\/* badge \"page actuelle\" *\/\r\n.btp-liens .service-card .badge-actuel{\r\n  background:var(--or);\r\n  color:#fff;\r\n}\r\n.btp-liens .service-card.actuel{\r\n  border-color:var(--or);\r\n  background:#fefcf5;\r\n}\r\n<\/style>\r\n\r\n<section class=\"btp-liens\">\r\n  <div class=\"wrap\">\r\n\r\n    <!-- EN-T\u00caTE \u2014 mentionne la mise en conformit\u00e9 -->\r\n    <div class=\"hd\">\r\n      <h2>Nos autres <em>Services<\/em><\/h2>\r\n      <p>Retrouvez l'ensemble de nos prestations d'assainissement, hors mise en conformit\u00e9, en \u00cele\u2011de\u2011France<\/p>\r\n    <\/div>\r\n\r\n    <!-- ===== 1 \u2013 D\u00c9PANNAGE ===== -->\r\n    <div class=\"groupe\">\r\n      <div class=\"groupe-titre\">D\u00e9pannage <small>intervention 24h\/24<\/small><\/div>\r\n      <div class=\"services-grid\">\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/debouchage\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          D\u00e9bouchage\r\n          <span class=\"sous-titre\">Intervention rapide<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/curage\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Curage\r\n          <span class=\"sous-titre\">Hydrocurage haute pression<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/inspection-camera\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Inspection cam\u00e9ra\r\n          <span class=\"sous-titre\">Diagnostic HD 4K<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/pompage\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Pompage\r\n          <span class=\"sous-titre\">Vidange &amp; assainissement<\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ===== 2 \u2013 TRAVAUX NON COLLECTIF ===== -->\r\n    <div class=\"groupe\">\r\n      <div class=\"groupe-titre\">Travaux non collectif <small>ANC &amp; installations priv\u00e9es<\/small><\/div>\r\n      <div class=\"services-grid\">\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/regard\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Regard\r\n          <span class=\"sous-titre\">Regards de visite<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/installation-de-puisard\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Installation de puisard\r\n          <span class=\"sous-titre\">Puits d\u2019infiltration<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/bac-a-graisse\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Bac \u00e0 graisse\r\n          <span class=\"sous-titre\">S\u00e9paration des graisses<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/instalation-pompe-de-relevage\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Installation pompe de relevage\r\n          <span class=\"sous-titre\">Mise en place de pompe<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/station-depuration\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Station d\u2019\u00e9puration\r\n          <span class=\"sous-titre\">Micro\u2011station &amp; filtre<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/separation-des-ep-eu\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          S\u00e9paration des EP\/EU\r\n          <span class=\"sous-titre\">Eaux pluviales \/ eaux us\u00e9es<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/remplacement-de-canalisation\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Remplacement de canalisation\r\n          <span class=\"sous-titre\">R\u00e9novation de r\u00e9seaux<\/span>\r\n        <\/a>\r\n        <!-- page actuelle : mise en conformit\u00e9 -->\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/travaux-de-mise-en-conformite\/\" class=\"service-card actuel\">\r\n          <span class=\"badge-service badge-actuel\">Page actuelle<\/span>\r\n          Mise en conformit\u00e9\r\n          <span class=\"sous-titre\">Mise aux normes du r\u00e9seau<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/travaux-dassainissement-non-collectif\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Assainissement non collectif\r\n          <span class=\"sous-titre\">ANC \u2013 Fosse toutes eaux<\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ===== 3 \u2013 TRAVAUX COLLECTIF ===== -->\r\n    <div class=\"groupe\">\r\n      <div class=\"groupe-titre\">Travaux collectif <small>raccordement au r\u00e9seau public<\/small><\/div>\r\n      <div class=\"services-grid\">\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-tout-a-legout\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement tout\u2011\u00e0\u2011l\u2019\u00e9gout\r\n          <span class=\"sous-titre\">Raccordement au r\u00e9seau public<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-eaux-pluviales\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement eaux pluviales\r\n          <span class=\"sous-titre\">Gestion des eaux de pluie<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-en-gargouille\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement en gargouille\r\n          <span class=\"sous-titre\">Raccordement par gargouille<\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-56b479d e-con-full e-flex e-con e-parent\" data-id=\"56b479d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-12c2b94 elementor-widget elementor-widget-html\" data-id=\"12c2b94\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <title>BT Plus \u2013 Mise en conformit\u00e9 plomberie professionnels<\/title>\r\n\r\n  <!-- POLICES GOOGLE -->\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:opsz,wght@14..32,100..900&family=Sora:wght@100..800&display=swap\" rel=\"stylesheet\">\r\n\r\n  <style>\r\n    \/* ============================================================\r\n       BT PLUS \u2014 Section \"Pour les professionnels\" (Mise en conformit\u00e9)\r\n       ============================================================ *\/\r\n    .btp-pros {\r\n      --b900: #07294a;\r\n      --b800: #0a3666;\r\n      --b700: #0d4f8b;\r\n      --b500: #1c7ec9;\r\n      --b300: #7cc0ee;\r\n      --b100: #d6ebfb;\r\n      --b50: #eef6fc;\r\n      --or: #f4a61a;\r\n      --or-d: #d98a0c;\r\n      --ink: #0c2238;\r\n      --slate: #48637d;\r\n      --line: #e4ecf4;\r\n      --green: #10b981;\r\n      --green-bg: #d1fae5;\r\n      --red: #ef4444;\r\n      --red-bg: #fee2e2;\r\n      --fd: \"Sora\", sans-serif;\r\n      --fb: \"Inter\", sans-serif;\r\n      --fm: \"JetBrains Mono\", monospace;\r\n      --ease: cubic-bezier(0.2, 0.8, 0.2, 1);\r\n\r\n      position: relative;\r\n      overflow: hidden;\r\n      width: 100%;\r\n      padding: 80px 0 90px;\r\n      font-family: var(--fb);\r\n      color: var(--ink);\r\n      line-height: 1.5;\r\n      background:\r\n        radial-gradient(820px 480px at 92% -12%, rgba(244, 166, 26, .05), transparent 60%),\r\n        radial-gradient(760px 460px at -6% 110%, rgba(28, 126, 201, .05), transparent 55%),\r\n        linear-gradient(180deg, var(--b50) 0%, #ffffff 100%);\r\n    }\r\n    .btp-pros *,\r\n    .btp-pros *::before,\r\n    .btp-pros *::after {\r\n      box-sizing: border-box;\r\n    }\r\n    .btp-pros h2,\r\n    .btp-pros h3,\r\n    .btp-pros h4,\r\n    .btp-pros p {\r\n      margin: 0;\r\n    }\r\n    .btp-pros .wrap {\r\n      max-width: 1200px;\r\n      margin: 0 auto;\r\n      padding: 0 24px;\r\n      position: relative;\r\n      z-index: 2;\r\n    }\r\n\r\n    \/* ---------- en-t\u00eate ---------- *\/\r\n    .btp-pros .hd {\r\n      text-align: center;\r\n      margin-bottom: 40px;\r\n    }\r\n    .btp-pros .pill {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 9px;\r\n      font-family: var(--fm);\r\n      font-weight: 700;\r\n      font-size: .7rem;\r\n      letter-spacing: .1em;\r\n      text-transform: uppercase;\r\n      color: var(--or-d);\r\n      background: #fff;\r\n      border: 1px solid #f6e3bf;\r\n      padding: 6px 14px 6px 10px;\r\n      border-radius: 999px;\r\n    }\r\n    .btp-pros .pill .dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--green);\r\n      box-shadow: 0 0 0 0 rgba(16, 185, 129, .55);\r\n      animation: srvPulse 1.8s infinite;\r\n    }\r\n    @keyframes srvPulse {\r\n      0% {\r\n        box-shadow: 0 0 0 0 rgba(16, 185, 129, .55);\r\n      }\r\n      70% {\r\n        box-shadow: 0 0 0 9px rgba(16, 185, 129, 0);\r\n      }\r\n      100% {\r\n        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);\r\n      }\r\n    }\r\n    .btp-pros .hd h2 {\r\n      font-family: var(--fd);\r\n      font-weight: 800;\r\n      letter-spacing: -.025em;\r\n      line-height: 1.08;\r\n      font-size: clamp(2rem, 4.8vw, 3.4rem);\r\n      color: var(--b900);\r\n      margin: 14px 0 0;\r\n    }\r\n    .btp-pros .hd h2 em {\r\n      font-style: normal;\r\n      color: var(--or);\r\n    }\r\n    .btp-pros .hd .lead {\r\n      margin-top: 12px;\r\n      font-size: 1rem;\r\n      color: var(--slate);\r\n      max-width: 720px;\r\n      margin-left: auto;\r\n      margin-right: auto;\r\n    }\r\n    .btp-pros .hd .lead strong {\r\n      color: var(--b700);\r\n      font-weight: 600;\r\n    }\r\n\r\n    \/* ---------- grille des atouts (4 cartes) ---------- *\/\r\n    .btp-pros .grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(4, 1fr);\r\n      gap: 20px;\r\n      margin-top: 8px;\r\n    }\r\n    @media (max-width: 820px) {\r\n      .btp-pros .grid {\r\n        grid-template-columns: 1fr 1fr;\r\n      }\r\n    }\r\n    @media (max-width: 480px) {\r\n      .btp-pros .grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n\r\n    .btp-pros .card {\r\n      background: #fff;\r\n      border-radius: 16px;\r\n      border: 1px solid var(--line);\r\n      padding: 24px 20px;\r\n      transition: all .3s var(--ease);\r\n      box-shadow: 0 2px 8px rgba(0, 0, 0, .02);\r\n      text-align: center;\r\n    }\r\n    .btp-pros .card:hover {\r\n      border-color: var(--or);\r\n      box-shadow: 0 8px 24px rgba(7, 41, 74, .08);\r\n      transform: translateY(-3px);\r\n    }\r\n    .btp-pros .card .num {\r\n      font-family: var(--fd);\r\n      font-weight: 800;\r\n      font-size: 1.6rem;\r\n      color: var(--b700);\r\n      line-height: 1;\r\n      margin-bottom: 4px;\r\n    }\r\n    .btp-pros .card h3 {\r\n      font-family: var(--fd);\r\n      font-weight: 700;\r\n      font-size: 1rem;\r\n      color: var(--b900);\r\n      margin: 0 0 4px;\r\n    }\r\n    .btp-pros .card h3 strong {\r\n      color: var(--or);\r\n      font-weight: 700;\r\n    }\r\n    .btp-pros .card p {\r\n      font-size: .82rem;\r\n      color: var(--slate);\r\n      line-height: 1.5;\r\n    }\r\n    .btp-pros .card p strong {\r\n      color: var(--b700);\r\n      font-weight: 600;\r\n    }\r\n\r\n    \/* ---------- phrase d'accroche ---------- *\/\r\n    .btp-pros .accroche {\r\n      text-align: center;\r\n      font-size: .95rem;\r\n      color: var(--slate);\r\n      background: #fff;\r\n      border-radius: 16px;\r\n      border: 1px solid var(--line);\r\n      padding: 18px 28px;\r\n      margin: 28px 0 34px;\r\n      line-height: 1.7;\r\n    }\r\n    .btp-pros .accroche strong {\r\n      color: var(--b700);\r\n      font-weight: 600;\r\n    }\r\n\r\n    \/* ---------- CTA ROUGE ---------- *\/\r\n    .btp-pros .cta-red {\r\n      display: flex;\r\n      justify-content: center;\r\n      margin-top: 0;\r\n    }\r\n    .btp-pros .btn-urgence {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 12px;\r\n      background: #d32f2f;\r\n      color: #ffffff !important;\r\n      font-family: var(--fd);\r\n      font-weight: 700;\r\n      font-size: 1.2rem;\r\n      padding: 14px 36px;\r\n      border-radius: 60px;\r\n      text-decoration: none;\r\n      box-shadow: 0 6px 24px rgba(211, 47, 47, 0.3);\r\n      transition: all .3s var(--ease);\r\n      border: none;\r\n      cursor: pointer;\r\n    }\r\n    .btp-pros .btn-urgence:hover {\r\n      background: #b71c1c;\r\n      transform: translateY(-3px);\r\n      box-shadow: 0 10px 36px rgba(211, 47, 47, 0.35);\r\n      color: #ffffff !important;\r\n    }\r\n    .btp-pros .btn-urgence .label {\r\n      font-size: .65rem;\r\n      font-weight: 400;\r\n      opacity: .85;\r\n      display: block;\r\n      margin-top: -2px;\r\n    }\r\n\r\n    \/* ---------- vagues ---------- *\/\r\n    .btp-pros .waves {\r\n      position: absolute;\r\n      left: 0;\r\n      right: 0;\r\n      bottom: 0;\r\n      line-height: 0;\r\n      z-index: 1;\r\n      pointer-events: none;\r\n    }\r\n    .btp-pros .waves svg {\r\n      display: block;\r\n      width: 100%;\r\n      height: 90px;\r\n    }\r\n    .btp-pros .w-back use {\r\n      animation: srvWave 12s linear infinite;\r\n      opacity: .5;\r\n    }\r\n    .btp-pros .w-mid use {\r\n      animation: srvWave 9s linear infinite reverse;\r\n      opacity: .8;\r\n    }\r\n    .btp-pros .w-front use {\r\n      animation: srvWave 6s linear infinite;\r\n    }\r\n    @keyframes srvWave {\r\n      0% {\r\n        transform: translateX(0);\r\n      }\r\n      100% {\r\n        transform: translateX(-50%);\r\n      }\r\n    }\r\n\r\n    \/* ---------- r\u00e9v\u00e9lation ---------- *\/\r\n    .btp-pros .rv {\r\n      opacity: 0;\r\n      transform: translateY(20px);\r\n      transition: opacity .6s var(--ease), transform .6s var(--ease);\r\n    }\r\n    .btp-pros .rv.shown {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    @media (prefers-reduced-motion: reduce) {\r\n      .btp-pros * {\r\n        animation: none !important;\r\n        transition: none !important;\r\n      }\r\n      .btp-pros .rv {\r\n        opacity: 1;\r\n        transform: none;\r\n      }\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n\r\n  <!-- ==========================================================\r\n       SECTION \"POUR LES PROFESSIONNELS\" \u2014 MISE EN CONFORMIT\u00c9\r\n       ========================================================== -->\r\n  <section class=\"btp-pros\">\r\n    <div class=\"wrap\">\r\n\r\n      <!-- EN-T\u00caTE -->\r\n      <header class=\"hd\">\r\n        <span class=\"pill rv\"><span class=\"dot\"><\/span>Expert mise en conformit\u00e9<\/span>\r\n        <h2 class=\"rv\">Diagnostic et mise aux normes pour les <em>professionnels<\/em><\/h2>\r\n        <p class=\"lead rv\">\r\n          <strong>BT Plus<\/strong> intervient en <strong>urgence<\/strong> chez les <strong>restaurateurs, h\u00f4teliers, copropri\u00e9t\u00e9s, bureaux et collectivit\u00e9s<\/strong>.\r\n          <strong>Diagnostic mise en conformit\u00e9<\/strong>, <strong>mise aux normes DTU<\/strong> et <strong>inspection cam\u00e9ra<\/strong> pour des <strong>installations conformes<\/strong> et s\u00e9curis\u00e9es en toutes circonstances.\r\n        <\/p>\r\n      <\/header>\r\n\r\n      <!-- 4 ATOUTS (adapt\u00e9s \u00e0 la mise en conformit\u00e9) -->\r\n      <div class=\"grid rv\">\r\n        <div class=\"card\">\r\n          <div class=\"num\">48h<\/div>\r\n          <h3>Diagnostic <strong>sous 48h<\/strong><\/h3>\r\n          <p>D\u00e9placement prioritaire en <strong>\u00cele\u2011de\u2011France<\/strong> pour identifier les non-conformit\u00e9s et proposer un plan de mise aux normes.<\/p>\r\n        <\/div>\r\n        <div class=\"card\">\r\n          <div class=\"num\">\u2714<\/div>\r\n          <h3>Audits &amp; <strong>mise aux normes<\/strong><\/h3>\r\n          <p>Visites programm\u00e9es et <strong>diagnostic complet<\/strong> pour anticiper les non-conformit\u00e9s et garantir la s\u00e9curit\u00e9 de vos installations.<\/p>\r\n        <\/div>\r\n        <div class=\"card\">\r\n          <div class=\"num\">\u20ac<\/div>\r\n          <h3>Devis <strong>gratuit<\/strong><\/h3>\r\n          <p>Diagnostic clair et <strong>devis d\u00e9taill\u00e9 sous 24h<\/strong> pour vos projets de mise en conformit\u00e9 ou vos interventions d'urgence.<\/p>\r\n        <\/div>\r\n        <div class=\"card\">\r\n          <div class=\"num\">\u2699<\/div>\r\n          <h3>Conformit\u00e9 <strong>garantie<\/strong><\/h3>\r\n          <p><strong>Normes DTU et r\u00e9glementation sanitaire<\/strong> \u2013 nous vous accompagnons pour une <strong>installation 100% conforme<\/strong> et s\u00e9curis\u00e9e.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- PHRASE D'ACCROCHE -->\r\n      <div class=\"accroche rv\">\r\n        <strong>BT Plus<\/strong>, votre sp\u00e9cialiste du <strong>diagnostic et de la mise en conformit\u00e9<\/strong> en \u00cele\u2011de\u2011France.\r\n        <strong>Disponibilit\u00e9 24h\/24<\/strong> \u2013 <strong>diagnostic rapide<\/strong> et <strong>garantie 5 ans<\/strong> sur nos prestations de mise aux normes.\r\n      <\/div>\r\n\r\n      <!-- CTA ROUGE -->\r\n      <div class=\"cta-red rv\">\r\n        <a href=\"tel:0186957777\" class=\"btn-urgence\">\r\n          <span>\ud83d\udcde<\/span>\r\n          <span>\r\n            01 86 95 77 77\r\n            <span class=\"label\">Urgence 24h\/24 \u2013 7j\/7<\/span>\r\n          <\/span>\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- Vagues d\u00e9coratives -->\r\n    <div class=\"waves\" aria-hidden=\"true\">\r\n      <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n        <defs>\r\n          <path id=\"prosWave\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/>\r\n        <\/defs>\r\n        <g class=\"w-back\">\r\n          <use href=\"#prosWave\" x=\"0\" fill=\"#d6ebfb\" \/>\r\n          <use href=\"#prosWave\" x=\"176\" fill=\"#d6ebfb\" \/>\r\n        <\/g>\r\n        <g class=\"w-mid\">\r\n          <use href=\"#prosWave\" x=\"0\" fill=\"#a9d4f3\" \/>\r\n          <use href=\"#prosWave\" x=\"176\" fill=\"#a9d4f3\" \/>\r\n        <\/g>\r\n        <g class=\"w-front\">\r\n          <use href=\"#prosWave\" x=\"0\" fill=\"#ffffff\" \/>\r\n          <use href=\"#prosWave\" x=\"176\" fill=\"#ffffff\" \/>\r\n        <\/g>\r\n      <\/svg>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <script>\r\n    (function() {\r\n      'use strict';\r\n      const section = document.querySelector('.btp-pros');\r\n      if (!section) return;\r\n      const rv = section.querySelectorAll('.rv');\r\n      const reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n      if ('IntersectionObserver' in window && !reduce) {\r\n        const io = new IntersectionObserver((entries) => {\r\n          entries.forEach(e => {\r\n            if (e.isIntersecting) {\r\n              e.target.classList.add('shown');\r\n              io.unobserve(e.target);\r\n            }\r\n          });\r\n        }, { threshold: 0.15 });\r\n        rv.forEach(el => io.observe(el));\r\n      } else {\r\n        rv.forEach(el => el.classList.add('shown'));\r\n      }\r\n    })();\r\n  <\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-03346a7 e-con-full e-flex e-con e-parent\" data-id=\"03346a7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e997e55 elementor-widget elementor-widget-html\" data-id=\"e997e55\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     BT PLUS \u2014 FAQ MISE EN CONFORMIT\u00c9\r\n     ============================================================ -->\r\n\r\n<style>.bt-faq *{margin:0;padding:0;box-sizing:border-box}.bt-faq{font-family:'Inter',sans-serif;background-color:#fff;color:#0a1a2b;line-height:1.6;overflow-x:hidden}.bt-faq__section{padding:5rem 5% 6rem;position:relative;min-height:100vh;display:flex;align-items:center;background:radial-gradient(1100px 520px at 78% -8%,#d6ebfb,transparent 60%),linear-gradient(180deg,#fbfdff 0%,#eef6fc 100%);overflow:hidden}.bt-faq__waves{position:absolute;left:0;right:0;bottom:0;line-height:0;z-index:0;pointer-events:none}.bt-faq__waves svg{display:block;width:100%;height:80px}.bt-faq__waves .wave-back use{animation:bt-wavemove 11s linear infinite;opacity:.55}.bt-faq__waves .wave-mid use{animation:bt-wavemove 8s linear infinite reverse;opacity:.8}.bt-faq__waves .wave-front use{animation:bt-wavemove 6s linear infinite}@keyframes bt-wavemove{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.bt-faq__container{max-width:1000px;margin:0 auto;width:100%;position:relative;z-index:1}.bt-faq__header{text-align:center;max-width:780px;margin:0 auto 3.5rem}.bt-faq__badge{display:inline-flex;align-items:center;gap:.6rem;font-family:'Sora',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 1.4rem .4rem 1rem;border-radius:2rem;background:rgba(28,126,201,.07);color:#1c7ec9;border:1px solid rgba(28,126,201,.12);margin-bottom:1.2rem}.bt-faq__badge .dot{width:6px;height:6px;border-radius:50%;background:#1c7ec9;animation:bt-pulseDot 2s ease-in-out infinite}@keyframes bt-pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.bt-faq__title{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-.03em;color:#07294a;line-height:1.1;margin-bottom:.8rem}.bt-faq__title .highlight{background:linear-gradient(135deg,#f4a61a 0%,#d98a0c 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bt-faq__subtitle{font-family:'Inter',sans-serif;font-weight:400;font-size:clamp(1rem,1.1vw,1.15rem);color:#6b7f94;max-width:600px;margin:0 auto;line-height:1.7}.bt-faq__list{display:flex;flex-direction:column;gap:.8rem}.bt-faq__item{background:#fff;border-radius:16px;border:1px solid #eef2f6;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px rgba(7,41,74,.03)}.bt-faq__item:hover{border-color:#d6ebfb;box-shadow:0 4px 20px rgba(7,41,74,.06)}.bt-faq__item--active{border-color:#1c7ec9;box-shadow:0 4px 24px rgba(28,126,201,.06)}.bt-faq__question{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.8rem;cursor:pointer;transition:all .3s ease;user-select:none;gap:1rem}.bt-faq__question:hover{background:#f8fafc}.bt-faq__question h3{font-family:'Sora',sans-serif;font-weight:600;font-size:1rem;color:#07294a;transition:color .3s ease;flex:1}.bt-faq__item--active .bt-faq__question h3{color:#1c7ec9}.bt-faq__icon{width:32px;height:32px;min-width:32px;border-radius:50%;background:#f0f4f8;display:flex;align-items:center;justify-content:center;transition:all .4s ease;flex-shrink:0}.bt-faq__item:hover .bt-faq__icon{background:#e6ecf2}.bt-faq__item--active .bt-faq__icon{background:rgba(28,126,201,.10);transform:rotate(180deg)}.bt-faq__icon svg{width:.75rem;height:.75rem;stroke:#6b7f94;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:all .4s ease}.bt-faq__item--active .bt-faq__icon svg{stroke:#1c7ec9}.bt-faq__answer{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.34,1.56,.64,1);padding:0 1.8rem}.bt-faq__item--active .bt-faq__answer{max-height:300px;padding:0 1.8rem 1.5rem 1.8rem}.bt-faq__answer p{font-family:'Inter',sans-serif;font-weight:400;font-size:.95rem;color:#6b7f94;line-height:1.8;margin:0}.bt-faq__answer p strong{color:#07294a;font-weight:600}.bt-faq__item{opacity:0;animation:bt-fadeInUp .6s ease-out forwards}.bt-faq__item:nth-child(1){animation-delay:.03s}.bt-faq__item:nth-child(2){animation-delay:.06s}.bt-faq__item:nth-child(3){animation-delay:.09s}.bt-faq__item:nth-child(4){animation-delay:.12s}.bt-faq__item:nth-child(5){animation-delay:.15s}.bt-faq__item:nth-child(6){animation-delay:.18s}.bt-faq__item:nth-child(7){animation-delay:.21s}.bt-faq__item:nth-child(8){animation-delay:.24s}.bt-faq__item:nth-child(9){animation-delay:.27s}@keyframes bt-fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bt-faq__item{opacity:1;animation:none}}@media (max-width:768px){.bt-faq__section{padding:3.5rem 1.5rem 4rem;min-height:auto}.bt-faq__question{padding:1rem 1.2rem}.bt-faq__question h3{font-size:.9rem}.bt-faq__item--active .bt-faq__answer{padding:0 1.2rem 1.2rem 1.2rem}.bt-faq__answer p{font-size:.85rem}.bt-faq__icon{width:28px;height:28px;min-width:28px}.bt-faq__icon svg{width:.65rem;height:.65rem}.bt-faq__waves svg{height:40px}}@media (max-width:480px){.bt-faq__question h3{font-size:.82rem}.bt-faq__question{padding:.8rem 1rem}.bt-faq__item--active .bt-faq__answer{padding:0 1rem 1rem 1rem}.bt-faq__answer p{font-size:.8rem}.bt-faq__icon{width:24px;height:24px;min-width:24px}.bt-faq__icon svg{width:.55rem;height:.55rem}}<\/style>\r\n\r\n<div class=\"bt-faq\">\r\n    <section class=\"bt-faq__section\">\r\n        <div class=\"bt-faq__container\">\r\n            <div class=\"bt-faq__header\">\r\n                <span class=\"bt-faq__badge\"><span class=\"dot\"><\/span>Urgence 24h\/24 \u2013 Devis gratuit<\/span>\r\n                <h2 class=\"bt-faq__title\">Questions fr\u00e9quentes sur la <span class=\"highlight\">mise en conformit\u00e9<\/span><\/h2>\r\n                <p class=\"bt-faq__subtitle\">\r\n                    <strong>Diagnostic mise en conformit\u00e9<\/strong>, <strong>mise aux normes DTU<\/strong>, <strong>assainissement<\/strong>, <strong>eau potable<\/strong>\u2026 Retrouvez les r\u00e9ponses \u00e0 vos interrogations sur nos <strong>prestations de mise en conformit\u00e9<\/strong> en \u00cele\u2011de\u2011France.\r\n                <\/p>\r\n            <\/div>\r\n            <div class=\"bt-faq__list\">\r\n\r\n                <!-- QUESTION 1 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>La mise en conformit\u00e9 est\u2011elle obligatoire ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p><strong>Oui<\/strong>, la <strong>mise en conformit\u00e9<\/strong> est souvent obligatoire, notamment pour la <strong>vente<\/strong> ou la <strong>location<\/strong> d\u2019un bien immobilier (diagnostic assainissement, plomb, etc.). Elle est \u00e9galement exig\u00e9e par la <strong>r\u00e9glementation sanitaire<\/strong> et les <strong>normes DTU<\/strong> pour garantir la s\u00e9curit\u00e9 des occupants et la protection de l\u2019environnement. Nous vous aidons \u00e0 identifier et \u00e0 corriger toutes les non-conformit\u00e9s.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 2 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Intervenez\u2011vous en urgence 24h\/24 pour une mise en conformit\u00e9 ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p><strong>Oui<\/strong>, nous assurons des <strong>diagnostics et interventions d'urgence 24h\/24 et 7j\/7<\/strong>, y compris la nuit, les week\u2011ends et les jours f\u00e9ri\u00e9s. En cas de <strong>non-conformit\u00e9 urgente<\/strong> (fuite, plomb, risque sanitaire), un technicien est disponible \u00e0 tout moment en <strong>\u00cele\u2011de\u2011France<\/strong> pour r\u00e9aliser le diagnostic et proposer les travaux correctifs.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 3 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quels sont les principaux points de non-conformit\u00e9 en plomberie ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Les non-conformit\u00e9s les plus fr\u00e9quentes concernent : <strong>l'absence ou la mauvaise ventilation<\/strong> des r\u00e9seaux, <strong>l'absence de siphon<\/strong>, les <strong>tuyaux en plomb<\/strong> (eau potable), les <strong>diam\u00e8tres insuffisants<\/strong>, l'<strong>absence de clapets anti-retour<\/strong>, les <strong>canalisations non \u00e9tanches<\/strong> et les <strong>r\u00e9seaux d'assainissement non conformes<\/strong>. Notre <strong>diagnostic complet<\/strong> identifie toutes ces anomalies et vous propose un plan de correction.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 4 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quels types d'installations mettez\u2011vous en conformit\u00e9 ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Nous intervenons sur <strong>tous types d'installations<\/strong> : <strong>eau potable<\/strong> (r\u00e9seaux, compteurs, tuyaux en plomb), <strong>assainissement<\/strong> (eaux us\u00e9es et eaux pluviales), <strong>chauffage<\/strong> (circuits, chaudi\u00e8res, s\u00e9curit\u00e9), et <strong>r\u00e9seaux industriels<\/strong>. Que ce soit en <strong>maison individuelle<\/strong>, en <strong>copropri\u00e9t\u00e9<\/strong>, en <strong>immeuble<\/strong> ou pour des <strong>professionnels<\/strong>, nous avons la solution adapt\u00e9e.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 5 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quel est le prix d'une mise en conformit\u00e9 ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Le prix d\u00e9pend de la <strong>nature des non-conformit\u00e9s<\/strong>, de la <strong>complexit\u00e9 des travaux<\/strong> (acc\u00e8s, longueur des r\u00e9seaux, mat\u00e9riaux) et des <strong>solutions techniques<\/strong> \u00e0 mettre en \u0153uvre (remplacement, r\u00e9paration, mise aux normes). Nous vous fournissons un <strong>devis gratuit<\/strong> et d\u00e9taill\u00e9 apr\u00e8s un <strong>diagnostic complet sur site<\/strong>.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 6 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Comment savoir si mon installation doit \u00eatre mise en conformit\u00e9 ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Plusieurs signes doivent vous alerter : <strong>remont\u00e9es d'odeurs<\/strong>, <strong>mauvais \u00e9coulement<\/strong>, <strong>fuites r\u00e9currentes<\/strong>, <strong>eau marron ou d\u00e9color\u00e9e<\/strong>, <strong>tuyaux en plomb<\/strong>, <strong>absence de siphon<\/strong>, ou <strong>\u00e2ge des installations<\/strong> (plus de 30 ans). Si vous vendez ou louez, un <strong>diagnostic de mise en conformit\u00e9<\/strong> est souvent exig\u00e9. Nous r\u00e9alisons une <strong>inspection compl\u00e8te<\/strong> pour \u00e9valuer votre installation.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 7 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Intervenez\u2011vous chez les professionnels ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p><strong>Oui<\/strong>, nous sommes sp\u00e9cialistes de la <strong>mise en conformit\u00e9 pour les professionnels<\/strong> : restaurants, h\u00f4tels, copropri\u00e9t\u00e9s, bureaux, collectivit\u00e9s, commerces, \u00e9tablissements recevant du public. Nous assurons des <strong>diagnostics et interventions rapides<\/strong> pour limiter l'impact sur votre activit\u00e9 et proposons des <strong>plans de mise en conformit\u00e9<\/strong> adapt\u00e9s \u00e0 vos besoins.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 8 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quelles normes appliquez\u2011vous pour la mise en conformit\u00e9 ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Nous appliquons les <strong>normes DTU<\/strong> (Documents Techniques Unifi\u00e9s) en vigueur, la <strong>r\u00e9glementation sanitaire<\/strong> (eau potable, assainissement), les <strong>normes NF<\/strong> et les <strong>exigences des assurances<\/strong> et des services des eaux. Tous nos travaux de mise en conformit\u00e9 sont r\u00e9alis\u00e9s dans le respect des <strong>r\u00e8gles de l'art<\/strong> et des <strong>obligations l\u00e9gales<\/strong>.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n               \r\n\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Vagues d\u00e9coratives -->\r\n        <div class=\"bt-faq__waves\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n                <defs><path id=\"bt-w7\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/><\/defs>\r\n                <g class=\"wave-back\"><use href=\"#bt-w7\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n                <g class=\"wave-mid\"><use href=\"#bt-w7\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n                <g class=\"wave-front\"><use href=\"#bt-w7\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n            <\/svg>\r\n        <\/div>\r\n    <\/section>\r\n<\/div>\r\n\r\n<script>\r\n!function(){\r\n    window.btToggleFaq = function(el) {\r\n        var item = el.closest('.bt-faq__item');\r\n        if (!item) return;\r\n        var allItems = document.querySelectorAll('.bt-faq__item');\r\n        for (var i = 0; i < allItems.length; i++) {\r\n            if (allItems[i] !== item && allItems[i].classList.contains('bt-faq__item--active')) {\r\n                allItems[i].classList.remove('bt-faq__item--active');\r\n            }\r\n        }\r\n        item.classList.toggle('bt-faq__item--active');\r\n    };\r\n\r\n    var items = document.querySelectorAll('.bt-faq__item');\r\n    if ('IntersectionObserver' in window) {\r\n        var observer = new IntersectionObserver(function(entries) {\r\n            for (var i = 0; i < entries.length; i++) {\r\n                if (entries[i].isIntersecting) {\r\n                    entries[i].target.style.opacity = '1';\r\n                    entries[i].target.style.transform = 'translateY(0)';\r\n                }\r\n            }\r\n        }, { threshold: .1 });\r\n        for (var i = 0; i < items.length; i++) {\r\n            items[i].style.opacity = '0';\r\n            items[i].style.transform = 'translateY(30px)';\r\n            items[i].style.transition = 'all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1)';\r\n            observer.observe(items[i]);\r\n        }\r\n    } else {\r\n        for (var i = 0; i < items.length; i++) {\r\n            items[i].style.opacity = '1';\r\n            items[i].style.transform = 'translateY(0)';\r\n        }\r\n    }\r\n}();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-801c587 e-con-full e-flex e-con e-parent\" data-id=\"801c587\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dea4562 elementor-widget elementor-widget-html\" data-id=\"dea4562\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     A COLLER DANS LE WIDGET \"HTML\" D'ELEMENTOR\r\n     (ne pas ajouter <html>, <head> ou <body> autour)\r\n     ============================================================ -->\r\n\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\" \/>\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0-beta3\/css\/all.min.css\" \/>\r\n\r\n<style>\r\n.contact { padding: 5rem 5% 6rem; position: relative; min-height: 100vh; display: flex; align-items: center;\r\n  background: radial-gradient(1100px 520px at 78% -8%, #d6ebfb, transparent 60%), linear-gradient(180deg, #fbfdff 0%, #eef6fc 100%);\r\n  overflow: hidden; box-sizing: border-box; }\r\n.contact *, .contact *::before, .contact *::after { box-sizing: border-box; }\r\n.contact__waves { position: absolute; left: 0; right: 0; bottom: 0; line-height: 0; z-index: 0; pointer-events: none; }\r\n.contact__waves svg { display: block; width: 100%; height: 80px; }\r\n.contact__waves .wave-back use { animation: wavemove 11s linear infinite; opacity: 0.55; }\r\n.contact__waves .wave-mid use { animation: wavemove 8s linear infinite reverse; opacity: 0.8; }\r\n.contact__waves .wave-front use { animation: wavemove 6s linear infinite; }\r\n@keyframes wavemove { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }\r\n.contact__container { max-width: 1280px; margin: 0 auto; width: 100%; position: relative; z-index: 1; }\r\n.contact__header { text-align: center; max-width: 780px; margin: 0 auto 3.5rem; }\r\n.contact__badge { display: inline-flex; align-items: center; gap: 0.6rem; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.4rem 1.4rem 0.4rem 1rem; border-radius: 2rem; background: rgba(28, 126, 201, 0.07); color: #1c7ec9; border: 1px solid rgba(28, 126, 201, 0.12); margin-bottom: 1.2rem; }\r\n.contact__badge .dot { width: 6px; height: 6px; border-radius: 50%; background: #1c7ec9; animation: pulseDot 2s ease-in-out infinite; }\r\n@keyframes pulseDot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.3; transform: scale(0.6); } }\r\n.contact__title { font-family: 'Sora', sans-serif; font-weight: 800; font-size: clamp(2rem, 3.6vw, 3.2rem); letter-spacing: -0.03em; color: #07294a; line-height: 1.1; margin-bottom: 0.8rem; }\r\n.contact__title .highlight { background: linear-gradient(135deg, #f4a61a 0%, #d98a0c 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\r\n.contact__subtitle { font-family: 'Inter', sans-serif; font-weight: 400; font-size: clamp(1rem, 1.1vw, 1.15rem); color: #6b7f94; max-width: 600px; margin: 0 auto; line-height: 1.7; }\r\n.contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }\r\n.contact__form { background: #ffffff; border-radius: 24px; padding: 2.5rem; border: 1px solid #eef2f6; box-shadow: 0 2px 12px rgba(7, 41, 74, 0.04); transition: all 0.4s ease; position: relative; }\r\n.contact__form:hover { box-shadow: 0 8px 40px rgba(7, 41, 74, 0.08); border-color: #d6ebfb; }\r\n.contact__form-title { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.3rem; color: #07294a; margin-bottom: 0.3rem; }\r\n.contact__form-subtitle { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.9rem; color: #6b7f94; margin-bottom: 1.5rem; }\r\n.contact__form-group { margin-bottom: 1.2rem; }\r\n.contact__form-group label { display: block; font-family: 'Sora', sans-serif; font-weight: 600; font-size: 0.7rem; color: #6b7f94; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.3rem; }\r\n.contact__form-group label .required { color: #dc2626; }\r\n.contact__form-group input, .contact__form-group select, .contact__form-group textarea { width: 100%; padding: 0.8rem 1rem; border-radius: 12px; border: 1px solid #eef2f6; background: #f8fafc; font-family: 'Inter', sans-serif; font-size: 0.9rem; color: #07294a; transition: all 0.3s ease; outline: none; }\r\n.contact__form-group input:focus, .contact__form-group select:focus, .contact__form-group textarea:focus { border-color: #1c7ec9; background: #ffffff; box-shadow: 0 0 0 4px rgba(28, 126, 201, 0.06); }\r\n.contact__form-group input::placeholder, .contact__form-group textarea::placeholder { color: #b0c0d0; }\r\n.contact__form-group select option { background: #ffffff; color: #07294a; }\r\n.contact__form-group textarea { resize: vertical; min-height: 100px; }\r\n.contact__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }\r\n.contact__form-group--file { position: relative; }\r\n.contact__form-group--file .file-drop-zone { border: 2px dashed #eef2f6; border-radius: 12px; padding: 1.5rem 1rem; text-align: center; cursor: pointer; transition: all 0.3s ease; background: #f8fafc; }\r\n.contact__form-group--file .file-drop-zone:hover { border-color: #1c7ec9; background: #eef6fc; }\r\n.contact__form-group--file .file-drop-zone.dragover { border-color: #f4a61a; background: rgba(244, 166, 26, 0.04); }\r\n.contact__form-group--file .file-drop-zone i { font-size: 2rem; color: #1c7ec9; display: block; margin-bottom: 0.5rem; }\r\n.contact__form-group--file .file-drop-zone p { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.85rem; color: #6b7f94; margin: 0; }\r\n.contact__form-group--file .file-drop-zone .file-types { font-size: 0.7rem; color: #b0c0d0; margin-top: 0.3rem; }\r\n.contact__form-group--file input[type=\"file\"] { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; cursor: pointer; }\r\n.contact__form-group--file .file-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.8rem; }\r\n.contact__form-group--file .file-item { display: inline-flex; align-items: center; gap: 0.5rem; background: #eef6fc; padding: 0.3rem 0.8rem 0.3rem 0.6rem; border-radius: 20px; font-family: 'Inter', sans-serif; font-size: 0.75rem; color: #1c7ec9; border: 1px solid #d6ebfb; }\r\n.contact__form-group--file .file-item i { font-size: 0.8rem; color: #1c7ec9; }\r\n.contact__form-group--file .file-item .file-remove { cursor: pointer; color: #6b7f94; transition: color 0.3s ease; font-size: 0.7rem; }\r\n.contact__form-group--file .file-item .file-remove:hover { color: #dc2626; }\r\n\r\n\/* ---- Consentement RGPD ---- *\/\r\n.contact__consent { display: flex; align-items: flex-start; gap: 0.7rem; margin-bottom: 1.5rem; }\r\n.contact__consent input[type=\"checkbox\"] { width: 18px; height: 18px; min-width: 18px; margin-top: 0.15rem; accent-color: #1c7ec9; cursor: pointer; flex-shrink: 0; }\r\n.contact__consent label { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.8rem; line-height: 1.5; color: #6b7f94; text-transform: none; letter-spacing: 0; margin-bottom: 0; cursor: pointer; }\r\n.contact__consent label .required { color: #dc2626; }\r\n.contact__consent label a { color: #1c7ec9; text-decoration: underline; }\r\n.contact__consent label a:hover { color: #07294a; }\r\n\r\n.btn--contact { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; letter-spacing: 0.02em; text-decoration: none; padding: 0.9rem 2.4rem; border-radius: 3rem; transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); cursor: pointer; border: none; text-align: center; background: linear-gradient(135deg, #f4a61a 0%, #e0960e 100%); box-shadow: 0 4px 16px rgba(244, 166, 26, 0.25); color: #07294a; width: 100%; }\r\n.btn--contact:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(244, 166, 26, 0.40); color: #07294a; }\r\n.btn--contact .btn__icon { transition: transform 0.3s ease; }\r\n.btn--contact:hover .btn__icon { transform: translateX(4px); }\r\n.contact__info { display: flex; flex-direction: column; gap: 1.2rem; }\r\n.contact__info-card { background: #ffffff; border-radius: 16px; padding: 1.5rem 1.8rem; border: 1px solid #eef2f6; transition: all 0.4s ease; display: flex; align-items: center; gap: 1.2rem; box-shadow: 0 2px 8px rgba(7, 41, 74, 0.03); }\r\n.contact__info-card:hover { transform: translateX(6px); border-color: #1c7ec9; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.08); }\r\n.contact__info-icon { width: 50px; height: 50px; border-radius: 14px; background: #f0f4f8; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.3s ease; }\r\n.contact__info-card:hover .contact__info-icon { background: #eef6fc; }\r\n.contact__info-icon i { font-size: 1.3rem; color: #1c7ec9; }\r\n.contact__info-content h4 { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; color: #07294a; margin-bottom: 0.1rem; }\r\n.contact__info-content p, .contact__info-content a { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.9rem; color: #6b7f94; text-decoration: none; transition: color 0.3s ease; }\r\n.contact__info-content a:hover { color: #1c7ec9; }\r\n.contact__hours { background: #ffffff; border-radius: 16px; padding: 1.5rem 1.8rem; border: 1px solid #eef2f6; box-shadow: 0 2px 8px rgba(7, 41, 74, 0.03); transition: all 0.4s ease; }\r\n.contact__hours:hover { border-color: #d6ebfb; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.06); }\r\n.contact__hours-title { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; color: #6b7f94; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.8rem; }\r\n.contact__hours-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 1rem; }\r\n.contact__hours-day { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; color: #6b7f94; }\r\n.contact__hours-time { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; color: #07294a; text-align: right; }\r\n.contact__hours-time .urgent { color: #1c7ec9; font-weight: 700; }\r\n.contact__map { border-radius: 16px; overflow: hidden; border: 1px solid #eef2f6; height: 200px; background: #f8fafc; transition: all 0.4s ease; }\r\n.contact__map:hover { border-color: #d6ebfb; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.06); }\r\n.contact__map iframe { width: 100%; height: 100%; border: none; }\r\n@media (max-width: 992px) {\r\n  .contact__grid { grid-template-columns: 1fr; gap: 2rem; }\r\n  .contact__form { padding: 2rem; }\r\n  .contact__info { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }\r\n  .contact__hours-grid { grid-template-columns: 1fr 1fr; }\r\n  .contact__map { height: 180px; }\r\n}\r\n@media (max-width: 768px) {\r\n  .contact { padding: 3.5rem 1.5rem 4rem; min-height: auto; }\r\n  .contact__form { padding: 1.5rem; border-radius: 16px; }\r\n  .contact__form-row { grid-template-columns: 1fr; gap: 0; }\r\n  .contact__info { grid-template-columns: 1fr; gap: 1rem; }\r\n  .contact__info-card { padding: 1.2rem 1.5rem; }\r\n  .contact__hours { padding: 1.2rem 1.5rem; }\r\n  .contact__hours-grid { grid-template-columns: 1fr 1fr; gap: 0.3rem 0.8rem; }\r\n  .contact__hours-day { font-size: 0.75rem; }\r\n  .contact__hours-time { font-size: 0.75rem; }\r\n  .contact__map { height: 150px; }\r\n  .btn--contact { padding: 0.7rem 1.8rem; font-size: 0.75rem; }\r\n  .contact__form-group--file .file-drop-zone { padding: 1rem; }\r\n  .contact__form-group--file .file-drop-zone i { font-size: 1.5rem; }\r\n  .contact__waves svg { height: 40px; }\r\n}\r\n@media (max-width: 480px) {\r\n  .contact__form { padding: 1rem; }\r\n  .contact__info-card { padding: 1rem; }\r\n  .contact__info-icon { width: 40px; height: 40px; }\r\n  .contact__info-icon i { font-size: 1rem; }\r\n  .contact__hours { padding: 1rem; }\r\n}\r\n<\/style>\r\n\r\n<section class=\"contact\">\r\n  <div class=\"contact__container\">\r\n\r\n    <div class=\"contact__header\">\r\n      <span class=\"contact__badge\"><span class=\"dot\"><\/span> Contactez-nous<\/span>\r\n      <h2 class=\"contact__title\">Pret a <span class=\"highlight\">securiser<\/span> vos reseaux ?<\/h2>\r\n      <p class=\"contact__subtitle\">Une question, un devis, une urgence ? Notre equipe est a votre ecoute 24h\/24 et 7j\/7.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__grid\">\r\n\r\n      <!-- FORMULAIRE -->\r\n      <div class=\"contact__form\">\r\n        <h3 class=\"contact__form-title\">Demandez un diagnostic<\/h3>\r\n        <p class=\"contact__form-subtitle\">Remplissez le formulaire et nous vous recontacterons sous 24h.<\/p>\r\n\r\n        <!-- 1re soumission = FormSubmit envoie un email de confirmation a activer -->\r\n        <form id=\"contactForm\"\r\n              action=\"https:\/\/formsubmit.co\/info-contact@btplus.fr\"\r\n              method=\"POST\"\r\n              enctype=\"multipart\/form-data\">\r\n\r\n          <input type=\"hidden\" name=\"_subject\" value=\"Nouvelle demande de diagnostic - Site BT Plus\">\r\n          <input type=\"hidden\" name=\"_template\" value=\"table\">\r\n          <!-- Copie envoyee a la seconde adresse -->\r\n          <input type=\"hidden\" name=\"_cc\" value=\"marketing@btgroup-france.com\">\r\n          <input type=\"text\" name=\"_honey\" style=\"display:none\">\r\n          <!-- <input type=\"hidden\" name=\"_next\" value=\"https:\/\/votre-site.fr\/merci\"> -->\r\n\r\n          <div class=\"contact__form-row\">\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"nom\">Nom complet <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"text\" id=\"nom\" name=\"Nom complet\" placeholder=\"Jean Dupont\" required \/>\r\n            <\/div>\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"email\">Email <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"email\" id=\"email\" name=\"email\" placeholder=\"jean@exemple.fr\" required \/>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-row\">\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"telephone\">Telephone <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"tel\" id=\"telephone\" name=\"Telephone\" placeholder=\"01 23 45 67 89\" required \/>\r\n            <\/div>\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"cp\">Code postal<\/label>\r\n              <input type=\"text\" id=\"cp\" name=\"Code postal\" placeholder=\"75000\" \/>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"type_batiment\">Type de batiment<\/label>\r\n            <select id=\"type_batiment\" name=\"Type de batiment\">\r\n              <option value=\"\">Selectionnez...<\/option>\r\n              <option value=\"copropriete\">Copropriete<\/option>\r\n              <option value=\"syndic\">Syndic<\/option>\r\n              <option value=\"bailleur\">Bailleur social<\/option>\r\n              <option value=\"erp\">ERP (Etablissement recevant du public)<\/option>\r\n              <option value=\"tertiaire\">Tertiaire (bureau, commerce)<\/option>\r\n              <option value=\"collectivite\">Collectivite<\/option>\r\n              <option value=\"particulier\">Particulier<\/option>\r\n            <\/select>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"type_besoin\">Type de besoin<\/label>\r\n            <select id=\"type_besoin\" name=\"Type de besoin\">\r\n              <option value=\"\">Selectionnez...<\/option>\r\n              <option value=\"urgence\">Urgence (debouchage, curage)<\/option>\r\n              <option value=\"entretien\">Entretien preventif<\/option>\r\n              <option value=\"diagnostic\">Diagnostic \/ Inspection<\/option>\r\n              <option value=\"travaux\">Travaux \/ Renovation<\/option>\r\n              <option value=\"contrat\">Contrat d'entretien<\/option>\r\n              <option value=\"devis\">Demande de devis<\/option>\r\n            <\/select>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"message\">Message<\/label>\r\n            <textarea id=\"message\" name=\"Message\" placeholder=\"Decrivez votre situation...\"><\/textarea>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group contact__form-group--file\">\r\n            <label>Ajouter une photo <span style=\"font-weight:400;text-transform:none;color:#b0c0d0;\">(optionnel - une seule)<\/span><\/label>\r\n            <div class=\"file-drop-zone\" id=\"fileDropZone\">\r\n              <i class=\"fas fa-cloud-upload-alt\"><\/i>\r\n              <p>Glissez une photo ici ou cliquez pour la selectionner<\/p>\r\n              <div class=\"file-types\">JPG, PNG, GIF - une seule photo, 5MB max<\/div>\r\n              <input type=\"file\" id=\"fileInput\" name=\"attachment\" accept=\"image\/*\" \/>\r\n            <\/div>\r\n            <div class=\"file-list\" id=\"fileList\"><\/div>\r\n          <\/div>\r\n\r\n          <!-- ---- Consentement RGPD (obligatoire) ---- -->\r\n          <div class=\"contact__consent\">\r\n            <input type=\"checkbox\" id=\"consent\" name=\"Consentement RGPD\" value=\"J'accepte\" required \/>\r\n            <label for=\"consent\">\r\n              J'accepte que les informations saisies dans ce formulaire soient utilisees par BT Plus\r\n              afin de traiter ma demande et de me recontacter. Conformement au RGPD, je dispose d'un\r\n              droit d'acces, de rectification et de suppression de mes donnees, que je peux exercer en\r\n              ecrivant a <a href=\"mailto:info-contact@btplus.fr\">info-contact@btplus.fr<\/a>.\r\n              <a href=\"\/politique-de-confidentialite\" target=\"_blank\" rel=\"noopener\">En savoir plus<\/a>.\r\n              <span class=\"required\">*<\/span>\r\n            <\/label>\r\n          <\/div>\r\n\r\n          <button type=\"submit\" class=\"btn--contact\">\r\n            Envoyer <span class=\"btn__icon\">&rarr;<\/span>\r\n          <\/button>\r\n        <\/form>\r\n      <\/div>\r\n\r\n      <!-- INFORMATIONS -->\r\n      <div class=\"contact__info\">\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-phone\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Telephone<\/h4><p><a href=\"tel:+331 86 95 77 77\">01 86 95 77 77<\/a><\/p><\/div>\r\n        <\/div>\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-envelope\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Email<\/h4><p><a href=\"mailto:contact@btplus-intervention.fr\">info-contact@btplus.fr<\/a><\/p><\/div>\r\n        <\/div>\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-map-marker-alt\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Adresse<\/h4><p>13 Rue Camille Desmoulins,\r\n92130 Issy-les-Moulineaux<\/p><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"contact__hours\">\r\n          <div class=\"contact__hours-title\">Horaires d'ouverture<\/div>\r\n          <div class=\"contact__hours-grid\">\r\n            <span class=\"contact__hours-day\">Lundi - Vendredi<\/span><span class=\"contact__hours-time\">08:00 - 20:00<\/span>\r\n            <span class=\"contact__hours-day\">Samedi<\/span><span class=\"contact__hours-time\">09:00 - 18:00<\/span>\r\n            <span class=\"contact__hours-day\">Dimanche & jours feries<\/span><span class=\"contact__hours-time\"><span class=\"urgent\">Urgence 24\/7<\/span><\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"contact__map\">\r\n          <iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d2623.5!2d2.366!3d48.916!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47e66e2f8e5c8b3d%3A0x8e5c8b3d47e66e2f!2sAubervilliers!5e0!3m2!1sfr!2sfr!4v1700000000000\" allowfullscreen loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"><\/iframe>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"contact__waves\" aria-hidden=\"true\">\r\n    <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n      <defs><path id=\"w9\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/><\/defs>\r\n      <g class=\"wave-back\"><use href=\"#w9\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#w9\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n      <g class=\"wave-mid\"><use href=\"#w9\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#w9\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n      <g class=\"wave-front\"><use href=\"#w9\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#w9\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n    <\/svg>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n  var fileInput = document.getElementById('fileInput');\r\n  var fileList = document.getElementById('fileList');\r\n  var dropZone = document.getElementById('fileDropZone');\r\n  if (!fileInput || !dropZone) return;\r\n  var perFileMax = 5 * 1024 * 1024;\r\n  var totalMax = 10 * 1024 * 1024;\r\n\r\n  function updateFileList(files) {\r\n    fileList.innerHTML = '';\r\n    Array.from(files).forEach(function (file, index) {\r\n      var item = document.createElement('span');\r\n      item.className = 'file-item';\r\n      var icon = file.type.indexOf('image\/') === 0 ? 'fa-image' : 'fa-file';\r\n      item.innerHTML = '<i class=\"fas ' + icon + '\"><\/i><span>' + file.name + '<\/span><span class=\"file-remove\" data-index=\"' + index + '\"><i class=\"fas fa-times\"><\/i><\/span>';\r\n      fileList.appendChild(item);\r\n    });\r\n    document.querySelectorAll('.file-remove').forEach(function (btn) {\r\n      btn.addEventListener('click', function (e) {\r\n        e.stopPropagation();\r\n        var idx = parseInt(this.dataset.index);\r\n        var dt = new DataTransfer();\r\n        Array.from(fileInput.files).filter(function (_, i) { return i !== idx; }).forEach(function (f) { dt.items.add(f); });\r\n        fileInput.files = dt.files;\r\n        updateFileList(fileInput.files);\r\n      });\r\n    });\r\n  }\r\n\r\n  function applyFiles(candidate) {\r\n    var valid = candidate.filter(function (f) { return f.type.indexOf('image\/') === 0 && f.size <= perFileMax; });\r\n    if (candidate.length > 1) alert('Une seule photo peut etre envoyee. Seule la premiere a ete conservee.');\r\n    else if (valid.length !== candidate.length) alert('Fichier ignore (image uniquement, 5MB max).');\r\n    var dt = new DataTransfer();\r\n    if (valid.length > 0) dt.items.add(valid[0]);\r\n    fileInput.files = dt.files;\r\n    updateFileList(fileInput.files);\r\n  }\r\n\r\n  dropZone.addEventListener('click', function (e) { if (e.target === this || e.target.closest('.file-drop-zone')) fileInput.click(); });\r\n  fileInput.addEventListener('change', function () { applyFiles(Array.from(this.files)); });\r\n  dropZone.addEventListener('dragover', function (e) { e.preventDefault(); this.classList.add('dragover'); });\r\n  dropZone.addEventListener('dragleave', function (e) { e.preventDefault(); this.classList.remove('dragover'); });\r\n  dropZone.addEventListener('drop', function (e) {\r\n    e.preventDefault(); this.classList.remove('dragover');\r\n    applyFiles(Array.from(e.dataTransfer.files));\r\n  });\r\n});\r\n<\/script>\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>Remplacement canalisation pas cher \u2013 BT Plus \u00cele-de-France Plombier urgence 24h\/24 Remplacement canalisation IDF Remplacement canalisation R\u00e9novation compl\u00e8te en \u00cele-de-France Plombier professionnel \u00e0 Paris et en \u00cele-de-France. Remplacement canalisation eau, assainissement, chauffage. Pose de tuyaux PVC, cuivre, PER et r\u00e9novation sans tranch\u00e9e. Devis gratuit et intervention rapide. R\u00e9novation canalisation eau potable Remplacement tuyaux PVC \/ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2371","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/comments?post=2371"}],"version-history":[{"count":41,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2371\/revisions"}],"predecessor-version":[{"id":3013,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2371\/revisions\/3013"}],"wp:attachment":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}