{"id":2698,"date":"2026-07-20T07:44:05","date_gmt":"2026-07-20T07:44:05","guid":{"rendered":"https:\/\/sci-bme.fr\/?page_id=2698"},"modified":"2026-07-29T10:32:35","modified_gmt":"2026-07-29T10:32:35","slug":"bac-a-graisse","status":"publish","type":"page","link":"https:\/\/sci-bme.fr\/index.php\/bac-a-graisse\/","title":{"rendered":"Bac \u00e0 graisse"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2698\" class=\"elementor elementor-2698\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0f46d1d e-con-full e-flex e-con e-parent\" data-id=\"0f46d1d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-375795d elementor-widget elementor-widget-html\" data-id=\"375795d\" 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>Installation de bac \u00e0 graisse \u2013 BT Plus \u00cele-de-France<\/title>\r\n    <meta name=\"description\" content=\"BT Plus : installation de bac \u00e0 graisse en \u00cele-de-France. Devis gratuit, pose de s\u00e9parateur de graisses, pr\u00e9traitement des eaux us\u00e9es pour restaurants et particuliers. Intervention rapide 24h\/24.\" \/>\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\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.6rem, 3.8vw, 2.6rem);\r\n            line-height: 1.1;\r\n            letter-spacing: -.025em;\r\n            color: var(--blue-900);\r\n            margin: 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: 14px;\r\n            font-size: 1.05rem;\r\n            color: var(--slate);\r\n            max-width: 520px;\r\n        }\r\n\r\n        .chips {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 9px;\r\n            margin-top: 20px;\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: .82rem;\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            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 18px;\r\n            margin-top: 28px;\r\n        }\r\n        .trust div {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            font-size: .82rem;\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;\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        @keyframes floaty {\r\n            0%, 100% { transform: translateY(0); }\r\n            50% { transform: translateY(-12px); }\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 OPTIMIS\u00c9 POUR MOBILE\r\n           ============================================================ *\/\r\n        @media(max-width:940px) {\r\n            .hero-inner {\r\n                grid-template-columns: 1fr;\r\n                padding: 20px 20px 120px;\r\n                gap: 30px;\r\n            }\r\n        }\r\n\r\n        @media(max-width:640px) {\r\n            .hero-inner {\r\n                padding: 16px 16px 100px;\r\n                gap: 20px;\r\n            }\r\n\r\n            .disc {\r\n                width: min(360px, 92%);\r\n            }\r\n\r\n            .disc-content .big-number {\r\n                font-size: 2.6rem;\r\n            }\r\n            .disc-content .big-number span {\r\n                font-size: 1rem;\r\n            }\r\n            .disc-content .desc {\r\n                font-size: .75rem;\r\n            }\r\n            .disc-content .icon-badge {\r\n                font-size: .55rem;\r\n                padding: 4px 10px;\r\n            }\r\n\r\n            h1 {\r\n                font-size: clamp(1.4rem, 5vw, 1.9rem);\r\n            }\r\n            .lead {\r\n                font-size: .92rem;\r\n                max-width: 100%;\r\n            }\r\n            .chip {\r\n                font-size: .72rem;\r\n                padding: 6px 10px;\r\n            }\r\n            .trust div {\r\n                font-size: .72rem;\r\n                gap: 5px;\r\n            }\r\n\r\n            .float.one {\r\n                top: 4%;\r\n                left: 0;\r\n                padding: 8px 12px;\r\n            }\r\n            .float.two {\r\n                bottom: 6%;\r\n                right: 0;\r\n                padding: 8px 12px;\r\n            }\r\n            .float .fic {\r\n                width: 28px;\r\n                height: 28px;\r\n            }\r\n            .float b {\r\n                font-size: .8rem;\r\n            }\r\n            .float small {\r\n                font-size: .6rem;\r\n            }\r\n\r\n            .waves svg {\r\n                height: 60px;\r\n            }\r\n        }\r\n\r\n        @media(max-width:400px) {\r\n            .hero-inner {\r\n                padding: 12px 12px 80px;\r\n                gap: 16px;\r\n            }\r\n\r\n            .disc {\r\n                width: min(300px, 90%);\r\n            }\r\n\r\n            .disc-content .big-number {\r\n                font-size: 2.2rem;\r\n            }\r\n            .disc-content .big-number span {\r\n                font-size: .85rem;\r\n            }\r\n            .disc-content .desc {\r\n                font-size: .65rem;\r\n            }\r\n            .disc-content .icon-badge {\r\n                font-size: .5rem;\r\n                padding: 3px 8px;\r\n            }\r\n\r\n            h1 {\r\n                font-size: clamp(1.2rem, 4.5vw, 1.6rem);\r\n            }\r\n            .lead {\r\n                font-size: .82rem;\r\n            }\r\n            .chip {\r\n                font-size: .65rem;\r\n                padding: 4px 8px;\r\n            }\r\n            .trust div {\r\n                font-size: .65rem;\r\n                gap: 4px;\r\n            }\r\n\r\n            .float.one, .float.two {\r\n                padding: 5px 10px;\r\n                gap: 6px;\r\n            }\r\n            .float b {\r\n                font-size: .7rem;\r\n            }\r\n            .float small {\r\n                font-size: .55rem;\r\n            }\r\n            .float .fic {\r\n                width: 24px;\r\n                height: 24px;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n    <!-- ==========================================================\r\n    HERO \u2013 Installation d'un bac \u00e0 graisse\r\n    ========================================================== -->\r\n    <header class=\"hero\">\r\n        <div class=\"hero-inner\">\r\n\r\n            <!-- ===== CONTENU GAUCHE ===== -->\r\n            <div class=\"content\">\r\n                <h1 class=\"reveal d2\">\r\n                    <strong>Installation d'un<\/strong><br \/>\r\n                    <span class=\"accent\">bac \u00e0 graisse<\/span> en \u00cele-de-France\r\n                <\/h1>\r\n\r\n                <p class=\"lead reveal d3\">\r\n                    <strong>Sp\u00e9cialiste de l'installation de bac \u00e0 graisse<\/strong> \u00e0 Paris et en \u00cele-de-France.\r\n                    <strong>Pose de s\u00e9parateur de graisses<\/strong> pour cuisines professionnelles, restaurants et particuliers,\r\n                    <strong>pr\u00e9traitement des eaux us\u00e9es<\/strong>, <strong>mise en conformit\u00e9<\/strong> et <strong>entretien<\/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                        Installation bac \u00e0 graisse\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                        Cuve PEHD \/ b\u00e9ton\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                        Pr\u00e9traitement des eaux\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>Conformit\u00e9 r\u00e9glementaire<\/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>Normes DTU \/ assainissement<\/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                    <!-- Image d'illustration d'un bac \u00e0 graisse -->\r\n                    <img decoding=\"async\"\r\n                        src=\"https:\/\/btplus.fr\/wp-content\/uploads\/2022\/03\/bac-a-graisse-encastre-1.jpg\"\r\n                        alt=\"Installation d'un bac \u00e0 graisse encastr\u00e9 pour eaux us\u00e9es\"\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 2L2 7l10 5 10-5-10-5z\"\/>\r\n                                <path d=\"M2 17l10 5 10-5\"\/>\r\n                                <path d=\"M2 12l10 5 10-5\"\/>\r\n                            <\/svg>\r\n                            Bac \u00e0 graisse\r\n                        <\/span>\r\n                        <div class=\"big-number\">\r\n                            <strong>100%<\/strong> <span>conforme<\/span>\r\n                        <\/div>\r\n                        <div class=\"desc\"><strong>Pose et pr\u00e9traitement<\/strong> pour professionnels et particuliers<\/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 2 jours<\/b><small>d\u00e9lai d'installation<\/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>300+<\/b><small>bacs install\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-b7a51a6 e-con-full e-flex e-con e-parent\" data-id=\"b7a51a6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-85ad386 elementor-widget elementor-widget-html\" data-id=\"85ad386\" 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 Installation de bac \u00e0 graisse\r\n     Adapt\u00e9 depuis la section \"Regard d'assainissement\"\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-bac-graisse {\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-bac-graisse *,.btp-bac-graisse *::before,.btp-bac-graisse *::after{box-sizing:border-box}\r\n.btp-bac-graisse h2,.btp-bac-graisse h3,.btp-bac-graisse h4,.btp-bac-graisse p{margin:0}\r\n.btp-bac-graisse .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-bac-graisse .hd{text-align:center;margin-bottom:48px}\r\n.btp-bac-graisse .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-bac-graisse .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-bac-graisse .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-bac-graisse .hd h2 em{font-style:normal;color:var(--or)}\r\n.btp-bac-graisse .hd .lead{margin-top:14px;font-size:1.05rem;color:var(--slate);max-width:620px;margin-left:auto;margin-right:auto}\r\n.btp-bac-graisse .hd .lead strong{color:var(--b700);font-weight:600}\r\n\r\n\/* ---------- KPI mini ---------- *\/\r\n.btp-bac-graisse .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-bac-graisse .kpi-row{grid-template-columns:1fr 1fr}}\r\n.btp-bac-graisse .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-bac-graisse .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-bac-graisse .kpi-item .num small{font-size:.9rem;font-weight:600;color:var(--slate)}\r\n.btp-bac-graisse .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-bac-graisse .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-bac-graisse .grid{grid-template-columns:1fr}}\r\n\r\n.btp-bac-graisse .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-bac-graisse .card:hover,\r\n.btp-bac-graisse .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-bac-graisse .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-bac-graisse .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-bac-graisse .card-badge.green{background:var(--green-bg);color:#065f46}\r\n.btp-bac-graisse .card-badge.red{background:var(--red-bg);color:#991b1b}\r\n.btp-bac-graisse .card-badge.orange{background:#fef3c7;color:#b45309}\r\n.btp-bac-graisse .card-badge.gray{background:#f3f4f6;color:#6b7280}\r\n\r\n.btp-bac-graisse .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-bac-graisse .card-desc strong{color:var(--b700);font-weight:600}\r\n\r\n.btp-bac-graisse .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-bac-graisse .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-bac-graisse .cta-red{\r\n  display:flex;\r\n  justify-content:center;\r\n  margin-top:44px;\r\n}\r\n.btp-bac-graisse .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-bac-graisse .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-bac-graisse .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-bac-graisse .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-bac-graisse .waves svg{display:block;width:100%;height:90px}\r\n.btp-bac-graisse .w-back use{animation:srvWave 12s linear infinite;opacity:.5}\r\n.btp-bac-graisse .w-mid use{animation:srvWave 9s linear infinite reverse;opacity:.8}\r\n.btp-bac-graisse .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-bac-graisse .rv{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}\r\n.btp-bac-graisse .rv.shown{opacity:1;transform:none}\r\n\r\n@media(prefers-reduced-motion:reduce){\r\n  .btp-bac-graisse *{animation:none!important;transition:none!important}\r\n  .btp-bac-graisse .rv{opacity:1;transform:none}\r\n}\r\n<\/style>\r\n\r\n<section class=\"btp-bac-graisse\">\r\n  <div class=\"wrap\">\r\n\r\n    <!-- ==========================================================\r\n         EN-T\u00caTE \u2014 SEO enrichi (Bac \u00e0 graisse)\r\n         ========================================================== -->\r\n    <header class=\"hd\">\r\n      <span class=\"pill rv\"><span class=\"dot\"><\/span><strong>Installation de bac \u00e0 graisse<\/strong> Urgence 24h\/24<\/span>\r\n      <h2 class=\"rv\"><strong>Installation<\/strong> de <strong>bac \u00e0 graisse<\/strong> \u2013 <em>notre expertise<\/em><\/h2>\r\n      <p class=\"lead rv\">\r\n        <strong>Installation bac \u00e0 graisse<\/strong> et <strong>remplacement s\u00e9parateur de graisses<\/strong> pour tous types d'activit\u00e9s : restaurants, cuisines professionnelles, m\u00e9tiers de bouche, et particuliers. <strong>Entreprise sp\u00e9cialis\u00e9e<\/strong> en <strong>\u00cele-de-France<\/strong>,\r\n        nous r\u00e9alisons la <strong>pose de bac en PEHD ou b\u00e9ton<\/strong>, le <strong>raccordement aux canalisations<\/strong>,\r\n        et la <strong>mise en conformit\u00e9 r\u00e9glementaire<\/strong> pour <strong>particuliers<\/strong>, <strong>copropri\u00e9t\u00e9s<\/strong>,\r\n        <strong>restaurants<\/strong>, <strong>h\u00f4tels<\/strong>, <strong>collectivit\u00e9s<\/strong> et <strong>commerces<\/strong>.\r\n        <strong>Devis gratuit<\/strong> \u2013 <strong>intervention 24h\/24<\/strong> en urgence.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- ==========================================================\r\n         KPI \u2014 Chiffres cl\u00e9s (adapt\u00e9s au bac \u00e0 graisse)\r\n         ========================================================== -->\r\n    <div class=\"kpi-row rv\">\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">15 <small>ans<\/small><\/div>\r\n        <div class=\"label\">Exp\u00e9rience en assainissement<\/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 installation gratuit<\/div>\r\n      <\/div>\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">5 <small>ans<\/small><\/div>\r\n        <div class=\"label\">Garantie sur les travaux<\/div>\r\n      <\/div>\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">100 <small>%<\/small><\/div>\r\n        <div class=\"label\">Pr\u00e9traitement conforme<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ==========================================================\r\n         GRILLE SERVICES \u2014 4 cartes (adapt\u00e9es au bac \u00e0 graisse)\r\n         ========================================================== -->\r\n    <div class=\"grid rv\">\r\n\r\n      <!-- 1. R\u00f4le du bac \u00e0 graisse -->\r\n      <div class=\"card active\">\r\n        <div class=\"card-title\">R\u00f4le du <strong style=\"color:var(--or);\">bac \u00e0 graisse<\/strong><\/div>\r\n        <span class=\"card-badge green\">Pr\u00e9traitement des eaux<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Le r\u00f4le principal d'un bac \u00e0 graisse<\/strong> est de retenir les graisses, huiles et mati\u00e8res solides pr\u00e9sentes dans les eaux us\u00e9es avant qu'elles ne rejoignent le r\u00e9seau d'assainissement ou une fosse toutes eaux. Nos techniciens sp\u00e9cialis\u00e9s dans l'<strong>installation de bacs \u00e0 graisse en \u00cele-de-France<\/strong> interviennent avec des mat\u00e9riaux certifi\u00e9s (PEHD, b\u00e9ton) et des techniques de pose pr\u00e9cises. <strong>Entreprise de pr\u00e9traitement agr\u00e9\u00e9e<\/strong> \u2013 <strong>durabilit\u00e9<\/strong> et conformit\u00e9 aux normes DTU.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Installation professionnelle<\/strong><\/span>\r\n          <span><strong>Mat\u00e9riaux certifi\u00e9s<\/strong><\/span>\r\n          <span>Pr\u00e9traitement conforme<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 2. Causes de remplacement \/ v\u00e9tust\u00e9 -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\">Pourquoi remplacer un bac \u00e0 graisse ? \u2013 <strong style=\"color:var(--or);\">diagnostic<\/strong><\/div>\r\n        <span class=\"card-badge red\">\u00c0 remplacer<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Les principales causes de remplacement :<\/strong> bac sous\u2011dimensionn\u00e9 par rapport au volume d'eaux us\u00e9es, fissures, infiltration d'eau, mauvaise \u00e9tanch\u00e9it\u00e9, obsolescence du mat\u00e9riau, accumulation de graisses difficilement curables. Un <strong>diagnostic de bac \u00e0 graisse<\/strong> pr\u00e9cis permet de d\u00e9terminer la solution de <strong>remplacement<\/strong> la plus adapt\u00e9e (mod\u00e8le plus grand, pose en s\u00e9rie, etc.).\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span>Sous\u2011dimensionnement<\/span>\r\n          <span>Fissures<\/span>\r\n          <span>Infiltration<\/span>\r\n          <span>Obsolescence<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 3. Intervention d'urgence -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">Intervention urgente<\/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 en cas de bac \u00e0 graisse bouch\u00e9 ou d\u00e9faillant.<\/strong> Notre \u00e9quipe se d\u00e9place chez vous sous 1h pour r\u00e9aliser un diagnostic et proc\u00e9der au <strong>remplacement ou \u00e0 la r\u00e9paration<\/strong> dans les plus brefs d\u00e9lais. Nous utilisons des techniques adapt\u00e9es pour minimiser les nuisances. <strong>Urgence assainissement 24h\/24<\/strong> disponible pour vos sinistres (cuisine professionnelle, restaurant, etc.).\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Remplacement d'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. Installation pr\u00e9ventive \/ conformit\u00e9 -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">Installation pr\u00e9ventive<\/strong> \u2013 mise en conformit\u00e9<\/div>\r\n        <span class=\"card-badge orange\">Travaux neufs<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Anticipez les besoins de votre \u00e9tablissement.<\/strong> La <strong>pose pr\u00e9ventive d'un bac \u00e0 graisse<\/strong> permet de prot\u00e9ger durablement vos canalisations contre les bouchons et les mauvaises odeurs. Id\u00e9al pour <strong>restaurants<\/strong>, <strong>h\u00f4tels<\/strong>, <strong>collectivit\u00e9s<\/strong>, <strong>m\u00e9tiers de bouche<\/strong> et <strong>particuliers<\/strong>. Nous assurons \u00e9galement la <strong>mise en conformit\u00e9<\/strong> avec les exigences r\u00e9glementaires (arr\u00eat\u00e9 du 21 juillet 2015, DTU 60.1).\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Installation pr\u00e9ventive<\/strong><\/span>\r\n          <span><strong>Mise en conformit\u00e9<\/strong><\/span>\r\n          <span>Bac PEHD \/ b\u00e9ton<\/span>\r\n          <span>Durable<\/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-bac-graisse');\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-4e75dae e-con-full e-flex e-con e-parent\" data-id=\"4e75dae\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7ac9e94 elementor-widget elementor-widget-html\" data-id=\"7ac9e94\" 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 Installation d'un bac \u00e0 graisse<\/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 \"Installation d'un bac \u00e0 graisse\"\r\n     Version 2 \u2014 parcours toujours lisible + l\u00e9gendes permanentes + mobile agrandi\r\n     ============================================================ -->\r\n\r\n<style>\r\n.bt-bac-immersif * { margin:0; padding:0; box-sizing:border-box; }\r\n.bt-bac-immersif { font-family:'Inter',sans-serif; background:#fff; color:#0a1a2b; line-height:1.6; overflow-x:hidden; }\r\n.bt-bac-immersif .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-bac-immersif .waves { position:absolute; left:0; right:0; bottom:0; line-height:0; z-index:0; pointer-events:none; }\r\n.bt-bac-immersif .waves svg { display:block; width:100%; height:100px; }\r\n.bt-bac-immersif .waves .wave-back use { animation: bt-wavemove 11s linear infinite; opacity:.55; }\r\n.bt-bac-immersif .waves .wave-mid use { animation: bt-wavemove 8s linear infinite reverse; opacity:.8; }\r\n.bt-bac-immersif .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-bac-immersif .container { max-width:1200px; width:100%; margin:0 auto; padding:0 20px; position:relative; z-index:10; }\r\n\r\n.bt-bac-immersif .header { text-align:center; max-width:880px; margin:0 auto 2.5rem; }\r\n.bt-bac-immersif .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-bac-immersif .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-bac-immersif .title { font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(2.2rem,4.2vw,3.4rem); letter-spacing:-.03em; color:#07294a; line-height:1.1; margin-bottom:.6rem; }\r\n.bt-bac-immersif .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-bac-immersif .subtitle { font-weight:400; font-size:clamp(1rem,1.2vw,1.15rem); color:#6b7f94; max-width:720px; margin:0 auto; line-height:1.7; }\r\n.bt-bac-immersif .subtitle strong { color:#07294a; font-weight:600; }\r\n\r\n.bt-bac-immersif .scene {\r\n  width:100%; max-width:1140px; 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-bac-immersif .scene:hover { box-shadow:0 16px 80px rgba(7,41,74,.10); }\r\n.bt-bac-immersif .scene svg { display:block; width:100%; height:auto; max-height:640px; overflow:visible; }\r\n.bt-bac-immersif .scene-scroll { width:100%; }\r\n.bt-bac-immersif .scroll-hint { display:none; text-align:center; font-size:.72rem; color:#6b7f94; margin-top:6px; }\r\n\r\n.bt-bac-immersif .step-zone { cursor:pointer; transition:filter .3s ease; }\r\n.bt-bac-immersif .step-zone:hover { filter:drop-shadow(0 0 24px rgba(244,166,26,.45)); }\r\n.bt-bac-immersif .step-zone.active { filter:drop-shadow(0 0 34px rgba(244,166,26,.65)); }\r\n.bt-bac-immersif .step-zone .step-num { transition: transform .3s ease; }\r\n.bt-bac-immersif .step-zone.active .step-num,\r\n.bt-bac-immersif .step-zone:hover .step-num { transform: scale(1.12); }\r\n\r\n.bt-bac-immersif .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-bac-immersif .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-bac-immersif .step-caption { font-family:'Inter',sans-serif; pointer-events:none; }\r\n.bt-bac-immersif .step-caption .cap-title { font-weight:700; font-family:'Sora',sans-serif; }\r\n\r\n.bt-bac-immersif .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-bac-immersif .tooltip.visible { opacity:1; transform:translateY(0) scale(1); display:block; }\r\n.bt-bac-immersif .tooltip strong { color:#f4a61a; display:block; font-size:1.05rem; margin-bottom:4px; font-family:'Sora',sans-serif; }\r\n\r\n.bt-bac-immersif .steps-bar { display:flex; justify-content:center; gap:18px; margin-top:20px; flex-wrap:wrap; }\r\n.bt-bac-immersif .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-bac-immersif .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-bac-immersif .step-dot.done { background:#1c7ec9; opacity:.5; }\r\n.bt-bac-immersif .step-dot:hover { transform:scale(1.15); background:rgba(244,166,26,.3); }\r\n\r\n.bt-bac-immersif .recap { max-width:1000px; margin:2.2rem auto 0; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }\r\n.bt-bac-immersif .recap .card {\r\n  background:rgba(255,255,255,.7); border:1px solid rgba(7,41,74,.08); border-radius:14px; padding:12px 10px;\r\n  text-align:center; transition:transform .25s ease, box-shadow .25s ease; cursor:pointer;\r\n}\r\n.bt-bac-immersif .recap .card:hover, .bt-bac-immersif .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-bac-immersif .recap .card .n {\r\n  width:26px; height:26px; border-radius:50%; background:#f4a61a; color:#fff; font-family:'Sora',sans-serif;\r\n  font-weight:800; font-size:.8rem; display:flex; align-items:center; justify-content:center; margin:0 auto 6px;\r\n}\r\n.bt-bac-immersif .recap .card .t { font-family:'Sora',sans-serif; font-weight:700; font-size:.78rem; color:#07294a; }\r\n\r\n@media (max-width:992px){\r\n  .bt-bac-immersif .wrapper{padding:2rem 3% 3rem;}\r\n  .bt-bac-immersif .recap{grid-template-columns:repeat(3,1fr);}\r\n}\r\n@media (max-width:768px){\r\n  .bt-bac-immersif .wrapper{padding:1.25rem 0 2.5rem;}\r\n  .bt-bac-immersif .scene{padding:10px 0;border-radius:20px;}\r\n  .bt-bac-immersif .title{font-size:26px;padding:0 1.25rem;}\r\n  .bt-bac-immersif .subtitle{font-size:14px;padding:0 1.25rem;}\r\n  .bt-bac-immersif .badge{font-size:.65rem;padding:.3rem 1.2rem .3rem .8rem;}\r\n  .bt-bac-immersif .step-dot{width:14px;height:14px;}\r\n  .bt-bac-immersif .tooltip{max-width:210px;font-size:.85rem;padding:12px 16px;}\r\n\r\n  \/* le dessin 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-bac-immersif .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-bac-immersif .scene svg{ width:820px; max-width:none; flex-shrink:0; }\r\n  .bt-bac-immersif .scroll-hint{ display:block; }\r\n  .bt-bac-immersif .recap{grid-template-columns:repeat(3,1fr); padding:0 1.25rem;}\r\n}\r\n@media (max-width:480px){\r\n  .bt-bac-immersif .recap{grid-template-columns:repeat(2,1fr);}\r\n}\r\n<\/style>\r\n\r\n<section class=\"bt-bac-immersif\">\r\n  <div class=\"wrapper\">\r\n    <div class=\"container\">\r\n      <div class=\"header\">\r\n        <span class=\"badge\"><span class=\"dot\"><\/span> Installation de bac \u00e0 graisse<\/span>\r\n        <h2 class=\"title\">Comprendre la <span class=\"highlight\">pose d'un bac \u00e0 graisse<\/span><\/h2>\r\n        <p class=\"subtitle\">\r\n          De l'<strong>\u00e9tude du projet<\/strong> \u00e0 la <strong>remise en \u00e9tat des surfaces<\/strong>, d\u00e9couvrez\r\n          les 6 \u00e9tapes de l'installation pour un pr\u00e9traitement efficace des eaux us\u00e9es \u2014 cliquez sur un\r\n          rep\u00e8re ou faites 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 1100 380\" 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=\"1100\" height=\"380\" fill=\"url(#skyGrad)\" \/>\r\n          <rect x=\"0\" y=\"240\" width=\"1100\" height=\"140\" fill=\"url(#groundGrad)\" \/>\r\n\r\n          <!-- ligne de parcours continue reliant les 6 \u00e9tapes -->\r\n          <path d=\"M110 300 L950 300\" stroke=\"#c7d6e2\" stroke-width=\"3\" stroke-dasharray=\"2 8\" stroke-linecap=\"round\" \/>\r\n\r\n          <!-- zone commune de fouille -->\r\n          <rect x=\"300\" y=\"255\" width=\"620\" height=\"55\" fill=\"#6a5a3a\" opacity=\".28\" rx=\"6\" \/>\r\n\r\n          <!-- ===== \u00c9TAPE 1 : \u00c9TUDE ===== -->\r\n          <g class=\"step-zone\" data-step=\"1\">\r\n            <rect x=\"55\" y=\"130\" width=\"90\" height=\"80\" fill=\"#e2d9c5\" stroke=\"#b09a80\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <polygon points=\"42,130 100,72 158,130\" fill=\"#b04a3a\" stroke=\"#8a3a2a\" stroke-width=\"2\" \/>\r\n            <rect x=\"80\" y=\"165\" width=\"26\" height=\"45\" fill=\"#7a5a3a\" stroke=\"#5a3a2a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <!-- fen\u00eatre cuisine avec casserole -->\r\n            <rect x=\"115\" y=\"145\" width=\"18\" height=\"16\" fill=\"#6ac0e0\" stroke=\"#4a8a9a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <circle cx=\"124\" cy=\"153\" r=\"5\" fill=\"#e2d9c5\" stroke=\"#b09a80\" stroke-width=\"1\" \/>\r\n            <rect x=\"180\" y=\"145\" width=\"38\" height=\"28\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <line x1=\"188\" y1=\"152\" x2=\"210\" y2=\"152\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <line x1=\"188\" y1=\"158\" x2=\"210\" y2=\"158\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <circle cx=\"100\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"100\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"100\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">1<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 2 : TERRASSEMENT ===== -->\r\n          <g class=\"step-zone\" data-step=\"2\">\r\n            <rect x=\"290\" y=\"185\" width=\"42\" height=\"34\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"311\" cy=\"228\" r=\"15\" fill=\"#2a2a2a\" \/><circle cx=\"311\" cy=\"228\" r=\"9\" fill=\"#4a4a4a\" \/>\r\n            <rect x=\"304\" y=\"164\" width=\"14\" height=\"20\" fill=\"#2a2a2a\" rx=\"3\" \/>\r\n            <path d=\"M318 164 L334 194 L326 202 L314 182 Z\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" \/>\r\n            <circle class=\"particle\" cx=\"315\" 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=\"311\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"311\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"311\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">2<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 3 : POSE DU BAC (cuve rectangulaire) ===== -->\r\n          <g class=\"step-zone\" data-step=\"3\">\r\n            <rect x=\"430\" y=\"298\" width=\"80\" height=\"8\" fill=\"#f4c060\" opacity=\".8\" rx=\"2\" \/>\r\n            <rect x=\"440\" y=\"270\" width=\"60\" height=\"34\" fill=\"#6a8a6a\" stroke=\"#4a6a4a\" stroke-width=\"2\" rx=\"5\" \/>\r\n            <rect x=\"440\" y=\"270\" width=\"60\" height=\"8\" fill=\"#8aaa8a\" stroke=\"#4a6a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <rect x=\"463\" y=\"262\" width=\"14\" height=\"8\" fill=\"#6a7a5a\" stroke=\"#4a5a3a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <path d=\"M400 288 L440 288\" stroke=\"#1c7ec9\" stroke-width=\"5\" \/>\r\n            <path d=\"M500 288 L530 288\" stroke=\"#1c7ec9\" stroke-width=\"5\" \/>\r\n            <circle class=\"particle\" cx=\"410\" cy=\"288\" r=\"5\" fill=\"#4ac0e0\" filter=\"url(#glow)\">\r\n              <animate attributeName=\"cx\" from=\"400\" to=\"440\" dur=\"3s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\"0\" to=\".9\" dur=\".5s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"470\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"470\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"470\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">3<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 4 : RACCORDEMENTS ===== -->\r\n          <g class=\"step-zone\" data-step=\"4\">\r\n            <path d=\"M560 288 L620 288 L650 282\" stroke=\"#1c7ec9\" stroke-width=\"6\" fill=\"none\" \/>\r\n            <rect x=\"650\" y=\"273\" width=\"22\" height=\"16\" fill=\"#6a7a5a\" stroke=\"#4a5a3a\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"661\" cy=\"281\" r=\"3.5\" fill=\"#4ac0e0\" opacity=\".6\" \/>\r\n            <path d=\"M672 279 L710 274\" stroke=\"#1c7ec9\" stroke-width=\"6\" fill=\"none\" \/>\r\n            <circle class=\"arrow-move\" cx=\"565\" cy=\"288\" r=\"5\" fill=\"#4ac0e0\" filter=\"url(#glow)\">\r\n              <animate attributeName=\"cx\" from=\"565\" to=\"655\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\"0\" to=\".9\" dur=\".5s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"635\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"635\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"635\" y=\"250\" font-size=\"14\" 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 ===== -->\r\n          <g class=\"step-zone\" data-step=\"5\">\r\n            <rect x=\"790\" y=\"270\" width=\"20\" height=\"20\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <line x1=\"800\" y1=\"270\" x2=\"800\" y2=\"256\" stroke=\"#2a3a4a\" stroke-width=\"2\" \/>\r\n            <circle cx=\"800\" cy=\"280\" r=\"4.5\" fill=\"#10b981\" \/>\r\n            <rect x=\"790\" y=\"296\" width=\"20\" height=\"12\" fill=\"#4ac0e0\" opacity=\".45\" rx=\"2\" \/>\r\n            <circle cx=\"800\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"800\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"800\" y=\"250\" font-size=\"14\" 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 \/ R\u00c9FECTION ===== -->\r\n          <g class=\"step-zone\" data-step=\"6\">\r\n            <rect x=\"905\" y=\"285\" width=\"130\" height=\"10\" fill=\"#8a7a5a\" opacity=\".6\" rx=\"3\" \/>\r\n            <rect x=\"905\" y=\"296\" width=\"130\" height=\"10\" fill=\"#7a6a4a\" opacity=\".5\" rx=\"3\" \/>\r\n            <rect x=\"905\" y=\"286\" width=\"130\" height=\"2\" fill=\"#f4a61a\" opacity=\".9\" \/>\r\n            <path d=\"M905 285 Q925 273 945 285 Q965 273 985 285 Q1005 273 1025 285 L1035 285 L1035 295 L905 295 Z\" fill=\"#6a9a4a\" opacity=\".6\" \/>\r\n            <circle cx=\"970\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"970\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"970\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">6<\/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=\"100\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">\u00c9tude<\/text>\r\n            <text x=\"100\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Volume, mod\u00e8le, emplacement<\/text>\r\n\r\n            <text x=\"311\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Terrassement<\/text>\r\n            <text x=\"311\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Ouverture de la fouille<\/text>\r\n\r\n            <text x=\"470\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Pose du bac<\/text>\r\n            <text x=\"470\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Cuve PEHD ou b\u00e9ton<\/text>\r\n\r\n            <text x=\"635\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Raccordements<\/text>\r\n            <text x=\"635\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Entr\u00e9e \/ sortie, regards<\/text>\r\n\r\n            <text x=\"800\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Contr\u00f4les<\/text>\r\n            <text x=\"800\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">\u00c9tanch\u00e9it\u00e9, \u00e9coulement<\/text>\r\n\r\n            <text x=\"970\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Remblai<\/text>\r\n            <text x=\"970\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Compactage, r\u00e9fection<\/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      <\/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\">\u00c9tude<\/div><\/div>\r\n        <div class=\"card\" data-step=\"2\"><div class=\"n\">2<\/div><div class=\"t\">Terrassement<\/div><\/div>\r\n        <div class=\"card\" data-step=\"3\"><div class=\"n\">3<\/div><div class=\"t\">Pose du bac<\/div><\/div>\r\n        <div class=\"card\" data-step=\"4\"><div class=\"n\">4<\/div><div class=\"t\">Raccordements<\/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>\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:'\u00c9tude', desc:\"Analyse du projet (volume d'eaux us\u00e9es, activit\u00e9), choix du mod\u00e8le (capacit\u00e9, mat\u00e9riau) et d\u00e9termination de l'emplacement optimal.\" },\r\n    { id:2, label:'Terrassement', desc:\"Ouverture de la fouille \u00e0 la mini-pelle, mise \u00e0 niveau du fond, pr\u00e9paration d'un lit de sable ou d'une dalle b\u00e9ton.\" },\r\n    { id:3, label:'Pose du bac', desc:\"Installation de la cuve (PEHD ou b\u00e9ton) dans la fouille, v\u00e9rification du niveau, mise en place des raccords d'entr\u00e9e\/sortie.\" },\r\n    { id:4, label:'Raccordements', desc:\"Raccordement des canalisations d'arriv\u00e9e (eaux us\u00e9es) et de sortie (vers le r\u00e9seau ou la fosse), pose des regards de visite si n\u00e9cessaires.\" },\r\n    { id:5, label:'Contr\u00f4les', desc:\"Essai d'\u00e9tanch\u00e9it\u00e9, contr\u00f4le de l'\u00e9coulement, v\u00e9rification du niveau et absence de fuite.\" },\r\n    { id:6, label:'Remblai \/ r\u00e9fection', desc:\"Remblai par couches (sable, terre s\u00e9lectionn\u00e9e), compactage, pose d'un grillage avertisseur, remise en \u00e9tat des surfaces (pelouse, pav\u00e9s, enrob\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-66df76b e-con-full e-flex e-con e-parent\" data-id=\"66df76b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f66ee4f elementor-widget elementor-widget-html\" data-id=\"f66ee4f\" 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-66bfefa e-con-full e-flex e-con e-parent\" data-id=\"66bfefa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-012ced8 elementor-widget elementor-widget-html\" data-id=\"012ced8\" 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 (BAC \u00c0 GRAISSE)\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 le bac \u00e0 graisse -->\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 bac \u00e0 graisse, 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        <!-- page actuelle : bac \u00e0 graisse -->\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/bac-a-graisse\/\" class=\"service-card actuel\">\r\n          <span class=\"badge-service badge-actuel\">Page actuelle<\/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        <a href=\"https:\/\/sci-bme.fr\/index.php\/travaux-de-mise-en-conformite\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/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-d220a53 e-con-full e-flex e-con e-parent\" data-id=\"d220a53\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd1d21c elementor-widget elementor-widget-html\" data-id=\"dd1d21c\" 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 INSTALLATION DE BAC \u00c0 GRAISSE\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 l'<span class=\"highlight\">installation d'un bac \u00e0 graisse<\/span><\/h2>\r\n                <p class=\"bt-faq__subtitle\">\r\n                    <strong>Installation de bac \u00e0 graisse<\/strong>, <strong>s\u00e9parateur de graisses<\/strong>, <strong>PEHD ou b\u00e9ton<\/strong>, <strong>raccordement de canalisations<\/strong>, <strong>mise en conformit\u00e9<\/strong> et <strong>entretien<\/strong>\u2026 Retrouvez les r\u00e9ponses \u00e0 vos interrogations sur nos <strong>prestations de pose de bacs \u00e0 graisse<\/strong> pour professionnels et particuliers 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>L'installation d'un bac \u00e0 graisse est\u2011elle garantie ?<\/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>, toutes nos installations de <strong>bac \u00e0 graisse<\/strong> sont garanties <strong>5 ans<\/strong> (mat\u00e9riaux et main\u2011d\u2019\u0153uvre). Si un d\u00e9faut survient dans ce d\u00e9lai (fissure, infiltration, probl\u00e8me d'\u00e9tanch\u00e9it\u00e9), nous intervenons <strong>sans frais suppl\u00e9mentaires<\/strong> pour assurer la p\u00e9rennit\u00e9 de votre \u00e9quipement de pr\u00e9traitement des eaux us\u00e9es.<\/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 en cas de bac \u00e0 graisse bouch\u00e9 ou d\u00e9faillant ?<\/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>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>bac \u00e0 graisse obstru\u00e9<\/strong>, de <strong>refoulement d'odeurs<\/strong>, de <strong>d\u00e9bordement<\/strong> ou de <strong>dysfonctionnement<\/strong> qui perturbe votre activit\u00e9 (restaurant, cuisine professionnelle), un technicien est disponible \u00e0 tout moment en <strong>\u00cele\u2011de\u2011France<\/strong> pour r\u00e9aliser un diagnostic et proc\u00e9der au d\u00e9pannage ou au remplacement dans les meilleurs d\u00e9lais.<\/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 types de bacs \u00e0 graisse proposez\u2011vous (PEHD, b\u00e9ton) ?<\/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 installons et rempla\u00e7ons <strong>tous les types de bacs \u00e0 graisse<\/strong> adapt\u00e9s \u00e0 vos besoins : <strong>bacs en PEHD<\/strong> (poly\u00e9thyl\u00e8ne haute densit\u00e9, l\u00e9gers, r\u00e9sistants \u00e0 la corrosion, faciles \u00e0 poser), <strong>bacs en b\u00e9ton<\/strong> (robustes, id\u00e9aux pour les charges lourdes et les grands volumes) et <strong>bacs en polypropyl\u00e8ne<\/strong> pour certaines applications sp\u00e9cifiques. Nous vous conseillons le mod\u00e8le le plus adapt\u00e9 \u00e0 votre activit\u00e9 (volume d'eaux us\u00e9es, espace disponible, contraintes r\u00e9glementaires).<\/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'\u00e9tablissements \u00e9quipez\u2011vous en bac \u00e0 graisse ?<\/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'\u00e9tablissements<\/strong> : <strong>restaurants<\/strong>, <strong>cuisines professionnelles<\/strong>, <strong>h\u00f4tels<\/strong>, <strong>m\u00e9tiers de bouche<\/strong> (boucheries, charcuteries, traiteurs), <strong>collectivit\u00e9s<\/strong> (cantines scolaires, h\u00f4pitaux), <strong>particuliers<\/strong> (maisons avec cuisine importante) et <strong>industries agroalimentaires<\/strong>. Nous nous adaptons aux contraintes de chaque site (volume d'eaux us\u00e9es, nature des graisses, espace disponible) pour vous proposer une <strong>solution de pr\u00e9traitement<\/strong> durable et conforme aux <strong>normes DTU<\/strong> et \u00e0 la r\u00e9glementation en vigueur.<\/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 installation de bac \u00e0 graisse ?<\/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 plusieurs facteurs : <strong>type de bac<\/strong> choisi (PEHD, b\u00e9ton), <strong>capacit\u00e9<\/strong> (volume en litres), <strong>profondeur de la fouille<\/strong>, <strong>complexit\u00e9 du raccordement<\/strong> aux canalisations existantes, <strong>nature du terrain<\/strong> (n\u00e9cessit\u00e9 d'une dalle b\u00e9ton ou non) et <strong>type de finitions<\/strong> (remise en \u00e9tat du sol). Nous vous fournissons un <strong>devis gratuit<\/strong> et d\u00e9taill\u00e9 apr\u00e8s une <strong>\u00e9tude personnalis\u00e9e<\/strong> de votre besoin, tenant compte du nombre d'utilisateurs et du volume d'eaux us\u00e9es \u00e0 traiter.<\/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 \u00e9tablissement a besoin d'un bac \u00e0 graisse ?<\/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 \u00e9l\u00e9ments doivent vous alerter : <strong>r\u00e9utilisation d'huiles de cuisson<\/strong>, <strong>graisses visibles dans les canalisations<\/strong>, <strong>mauvaises odeurs<\/strong> r\u00e9currentes, <strong>cana-lisations qui se bouchent fr\u00e9quemment<\/strong>, <strong>activit\u00e9 de restauration ou de cuisine<\/strong>, ou <strong>obligation r\u00e9glementaire<\/strong> (arr\u00eat\u00e9 du 21 juillet 2015 pour les \u00e9tablissements produisant des eaux us\u00e9es charg\u00e9es en graisses). Si vous \u00eates dans l'un de ces cas, nous r\u00e9alisons un <strong>diagnostic complet<\/strong> et vous recommandons la solution de pr\u00e9traitement la plus adapt\u00e9e.<\/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 de la restauration et de l'agroalimentaire ?<\/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 l'<strong>installation de bacs \u00e0 graisse pour les professionnels<\/strong> : restaurants, h\u00f4tels, traiteurs, boucheries, charcuteries, cantines, h\u00f4pitaux, industries agroalimentaires. Nous assurons des <strong>interventions rapides<\/strong> pour limiter l'impact sur votre activit\u00e9 (pose en dehors des heures d'ouverture possible) et proposons des <strong>contrats d'entretien<\/strong> (vidange, nettoyage, contr\u00f4le) pour garantir le bon fonctionnement de votre \u00e9quipement.<\/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>Quels mat\u00e9riaux utilisez\u2011vous pour l'installation de bac \u00e0 graisse ?<\/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 utilisons exclusivement des <strong>mat\u00e9riaux certifi\u00e9s<\/strong> conformes aux normes NF EN 1825 (bacs \u00e0 graisse) et NF DTU 60.1. Nos <strong>bacs en PEHD<\/strong> sont r\u00e9sistants aux chocs, \u00e0 la corrosion et aux produits chimiques. Nos <strong>bacs en b\u00e9ton<\/strong> b\u00e9n\u00e9ficient d'une grande robustesse et d'une excellente long\u00e9vit\u00e9. Nous utilisons \u00e9galement des <strong>canalisations PVC ou PEHD<\/strong> pour les raccordements, des <strong>joints EPDM<\/strong> pour l'\u00e9tanch\u00e9it\u00e9, et des <strong>tampons<\/strong> adapt\u00e9s \u00e0 la zone de circulation.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 9 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Proposez\u2011vous une \u00e9tude pr\u00e9alable avant l'installation d'un bac \u00e0 graisse ?<\/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>, une <strong>\u00e9tude pr\u00e9alable<\/strong> est indispensable avant toute <strong>installation de bac \u00e0 graisse<\/strong>. Nous r\u00e9alisons une <strong>visite technique<\/strong> sur place pour analyser : le <strong>volume d'eaux us\u00e9es<\/strong> produit (nombre de couverts, types de cuisson), la <strong>nature des graisses<\/strong>, l'<strong>espace disponible<\/strong> pour l'installation, la <strong>profondeur<\/strong> des canalisations existantes, les <strong>acc\u00e8s<\/strong> pour les engins de terrassement. Nous vous fournissons ensuite un <strong>dossier technique<\/strong> avec nos pr\u00e9conisations, les <strong>sch\u00e9mas d'installation<\/strong>, les <strong>notices des \u00e9quipements<\/strong> et un <strong>devis d\u00e9taill\u00e9<\/strong>.<\/p>\r\n                    <\/div>\r\n                <\/div>\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-10fd8cc e-con-full e-flex e-con e-parent\" data-id=\"10fd8cc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-78df1af elementor-widget elementor-widget-html\" data-id=\"78df1af\" 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>Installation de bac \u00e0 graisse \u2013 BT Plus \u00cele-de-France Installation d&#8217;un bac \u00e0 graisse en \u00cele-de-France Sp\u00e9cialiste de l&#8217;installation de bac \u00e0 graisse \u00e0 Paris et en \u00cele-de-France. Pose de s\u00e9parateur de graisses pour cuisines professionnelles, restaurants et particuliers, pr\u00e9traitement des eaux us\u00e9es, mise en conformit\u00e9 et entretien. Devis gratuit et intervention rapide. Installation bac [&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-2698","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2698","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=2698"}],"version-history":[{"count":23,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2698\/revisions"}],"predecessor-version":[{"id":2892,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2698\/revisions\/2892"}],"wp:attachment":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}