Outiref
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Devis diagnostic immobilier en ligne en Hauts-de-France</title>
<meta name="description" content="Obtenez votre devis diagnostic immobilier en ligne dans les Hauts-de-France : DPE, amiante, gaz, électricité, plomb, ERP, termites et prise de RDV rapide.">
<meta name="keywords" content="diagnostic immobilier, devis diagnostic, amiens, saint-quentin, péronne, roye, arras, lens, béthune, douai, cambrai, laon, compiègne, diagnostiqueur, dpe, amiante, gaz, electricité, plomb, erp, termites, hauts-de-france">
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<meta name="content-language" content="fr">
<link rel="canonical" href="https://integral-diagnostics.fr/">
<link rel="alternate" hreflang="fr" href="https://integral-diagnostics.fr/">
<link rel="alternate" hreflang="fr-FR" href="https://integral-diagnostics.fr/">
<link rel="alternate" hreflang="x-default" href="https://integral-diagnostics.fr/">
<link rel="sitemap" type="application/xml" href="/sitemap.php">
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#0d4e91">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="apple-mobile-web-app-title" content="Intégral Diag">
<link rel="apple-touch-icon" href="/img/logoFinal.png">
<link rel="icon" type="image/x-icon" href="/img/favicon.ico">
<link rel="icon" type="image/png" href="/img/Favicon.png">
<link rel="icon" type="image/webp" href="/img/Favicon.webp">
<link rel="preconnect" href="https://js.stripe.com">
<link rel="dns-prefetch" href="https://www.google.com">
<meta property="og:type" content="website">
<meta property="og:locale" content="fr_FR">
<meta property="og:site_name" content="Intégral Diagnostics">
<meta property="og:title" content="Devis diagnostic immobilier en ligne en Hauts-de-France">
<meta property="og:description" content="Obtenez votre devis diagnostic immobilier en ligne dans les Hauts-de-France : DPE, amiante, gaz, électricité, plomb, ERP, termites et prise de RDV rapide.">
<meta property="og:url" content="https://integral-diagnostics.fr/">
<meta property="og:image" content="https://integral-diagnostics.fr/img/social-card.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Devis diagnostic immobilier en ligne en Hauts-de-France">
<meta name="twitter:description" content="Obtenez votre devis diagnostic immobilier en ligne dans les Hauts-de-France : DPE, amiante, gaz, électricité, plomb, ERP, termites et prise de RDV rapide.">
<meta name="twitter:image" content="https://integral-diagnostics.fr/img/social-card.png">
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="index.css">
<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": ["LocalBusiness", "ProfessionalService"],
    "name": "Intégral Diagnostics",
    "description": "Diagnostiqueur immobilier certifié en Hauts-de-France. DPE, Amiante, Gaz, Électricité, Plomb (CREP), ERP, Termites, Surfaces (Carrez/Boutin). Devis en ligne, intervention rapide.",
    "url": "https://integral-diagnostics.fr",
    "telephone": "+33781600775",
    "email": "contact@integral-diagnostics.fr",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Hervilly",
      "postalCode": "80640",
      "addressRegion": "Hauts-de-France",
      "addressCountry": "FR"
    },
    "geo": {
      "@type": "GeoCoordinates",
      "latitude": 49.898,
      "longitude": 2.910
    },
    "areaServed": {
      "@type": "AdministrativeArea",
      "name": "Hauts-de-France"
    },
    "priceRange": "€€",
    "currenciesAccepted": "EUR",
    "paymentAccepted": ["Carte bancaire", "Virement"],
    "image": "https://integral-diagnostics.fr/img/logoFinal.png",
    "logo": "https://integral-diagnostics.fr/img/logoFinal.png",
    "aggregateRating": {
      "@type": "AggregateRating",
      "ratingValue": "5",
      "bestRating": "5",
      "worstRating": "1",
      "ratingCount": "1"
    },
    "hasOfferCatalog": {
      "@type": "OfferCatalog",
      "name": "Diagnostics immobiliers",
      "itemListElement": [
        {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "DPE — Diagnostic de Performance Énergétique"}},
        {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Diagnostic Amiante"}},
        {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Diagnostic Gaz"}},
        {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Diagnostic Électricité"}},
        {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "CREP — Constat de Risque d'Exposition au Plomb"}},
        {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "ERP — État des Risques et Pollutions"}},
        {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Diagnostic Termites et État parasitaire"}},
        {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Mesurage Loi Carrez et Loi Boutin"}}
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Intégral Diagnostics",
    "alternateName": "Integral Diagnostics",
    "description": "Diagnostiqueur immobilier certifié en Hauts-de-France. DPE, Amiante, Gaz, Électricité, Plomb (CREP), ERP, Termites, Surfaces (Carrez/Boutin).",
    "url": "https://integral-diagnostics.fr",
    "logo": {
      "@type": "ImageObject",
      "url": "https://integral-diagnostics.fr/img/logoFinal.png",
      "width": 200,
      "height": 200
    },
    "image": "https://integral-diagnostics.fr/img/social-card.png",
    "telephone": "+33781600775",
    "email": "contact@integral-diagnostics.fr",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Hervilly",
      "postalCode": "80640",
      "addressRegion": "Hauts-de-France",
      "addressCountry": "FR"
    },
    "areaServed": {
      "@type": "AdministrativeArea",
      "name": "Hauts-de-France"
    },
    "foundingDate": "2010",
    "legalName": "Intégral Diagnostics",
    "sameAs": [
      "https://www.societe.com/societe/integral-diagnostics-512225988.html"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "Intégral Diagnostics",
    "url": "https://integral-diagnostics.fr",
    "inLanguage": "fr-FR",
    "potentialAction": {
      "@type": "OrderAction",
      "target": "https://integral-diagnostics.fr/"
    }
  }
]
</script>
</head>
<body>
<a href="#main-content" class="skip-link">Aller au contenu principal</a>
<div class="site">

<div class="pre-header">
  <div class="pre-header-inner">
          <a href="/connexion.php" class="btn btn-ghost auth-action">Connexion</a>
      <a href="/inscription.php" class="btn btn-ghost auth-action">Inscription</a>
      </div>
</div>
<header>
  <div class="header-wrapper">
    <div class="header-left">
      <img src="/img/logoFinal.png" class="logo" alt="Logo Intégral Diagnostics">
    </div>
    <div class="header-center">
      <a href="tel:+33781600775" class="phone-link" title="Appeler Intégral Diagnostics">
        <svg class="phone-icon" width="60" height="60" viewbox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
          <rect class="body" x="55" y="20" width="90" height="160" rx="12" ry="12" fill="currentColor"/>
          <rect x="63" y="32" width="74" height="128" rx="4" ry="4" fill="#ffffff"/>
          <rect x="88" y="24" width="24" height="4" rx="2" ry="2" fill="#ffffff"/>
          <circle cx="100" cy="170" r="7" fill="#ffffff"/>
        </svg>0781 600 775
      </a>
      <div class="muted"><strong>Vos diagnostics immobiliers dans les Hauts-de-France</strong></div>
    </div>
    <div class="header-right">
      <button class="hamburger" aria-label="Menu"><span></span><span></span><span></span></button>
    </div>
  </div>
  <nav class="desktop-menu">
    <ul>
                                            <li><a href="/DPE.php" title="Diagnostic de performance énergétique">DPE</a></li>
                            <li><a href="/Electricité.php" title="Diagnostic électricité">Électricité</a></li>
                            <li><a href="/gaz.php" title="Diagnostic gaz">Gaz</a></li>
                            <li><a href="/amiante.php" title="Diagnostic amiante">Amiante</a></li>
                            <li><a href="/CREP.php" title="Constat de risque d&#039;exposition au plomb">CREP</a></li>
                            <li><a href="/erp.php" title="État des risques et pollutions">ERP</a></li>
                            <li><a href="/Termites.php" title="Diagnostic termites">Termites</a></li>
                            <li><a href="/Surfaces.php" title="Mesurage loi Carrez / Boutin">Surfaces</a></li>
                            <li><a href="/contact.php" title="Nous contacter">Contact</a></li>
                            <li><a href="/RGPD.php" title="Politique de confidentialité">Confidentialité</a></li>
                            <li><a href="/mentions-legales.php" title="Mentions légales">Mentions légales</a></li>
                            <li><a href="/espace-client/espace-client.php" title="Mon espace client">Mon Espace</a></li>
                  </ul>
  </nav>
</header>

<div class="quick-access-bar">
  <a href="/inscription.php" class="quick-access-link quick-access-link-client">
    👤 Espace client
  </a>
  <a href="/inscription.php" class="quick-access-link quick-access-link-pro">
    🏢 Espace professionnel
  </a>
</div>

<div class="slots-bar" id="slotsBar">
  <span class="slots-bar-label"> 📅Prochaines Disponiblités:</span>
  <span id="slotsBarContent" class="creneaux-loading">Chargement…</span>
</div>

<main id="main-content">
<section class="content" >
  <div class="hero hero-home">
    <h1 class="hero-home-title">Devis diagnostic immobilier en ligne dans les Hauts-de-France</h1> <div class="hero-home-lead-wrap">  <p class="lead-text">Sélectionnez vos diagnostics, indiquez le type de bien, la surface, l'année de construction et laissez vous guider.</p></div> 
<aside class="panel">
<div class="row-fields" style="display:grid;grid-template-columns:1fr 1fr;gap:14px;" id="main-fields-grid">
  <div class="field field-small">
    <label>Type de bien&nbsp;<span class="req">*</span></label>
    <select id="typeBien" style="padding:5px 8px;">
      <option value="">Sélectionnez</option>
      <option value="appartement">Appartement T1 / T2</option>
      <option value="appartement_t3p">Appartement T3 et +</option>
      <option value="maison">Maison</option>
      <option value="erp">Tertiaire</option>
    </select>
  </div>

  <div class="field field-small">
    <label>Copropriété&nbsp;<span class="req">*</span></label>
    <select id="coproSelect" style="padding:5px 8px;border-radius:6px;border:1px solid #ccc;font-size:.9rem;width:100%;">
      <option value="">Sélectionnez</option>
      <option value="oui">Oui</option>
      <option value="non">Non</option>
    </select>
  </div>

  <div class="field field-small">
    <label>Je souhaite un diagnostic pour&nbsp;<span class="req">*</span></label>
    <select id="cadre" style="padding:5px 8px;">
      <option value="">Sélectionnez</option>
      <option value="vente">Vendre</option>
      <option value="location">Louer</option>
      <option value="vente">Indécis</option>
      <option value="travaux">Travaux ou démolition</option>
    </select>
  </div>

  <div class="field field-small">
    <label>Surface (m2)&nbsp;<span class="req">*</span></label>
    <input type="number" id="surface" min="1" value="" placeholder="Surface approximative?" style="padding:5px 8px;">
  </div>
</div>

<div class="annee-section" id="annee-section-req">
  <div class="annee-title">Année de construction&nbsp;<span class="req">*</span></div>

  <div class="annee-blocs">
    <div class="annee-card" data-cat="Avant 1949">Avant le 1/01/1949</div>
    <div class="annee-card" data-cat="1949 1997">Du 1/01/1949 au 30/06/1997</div>
    <div class="annee-card" data-cat="Après 1997">À partir du 1/07/1997</div>
  </div>

  <div class="annee-blocs">
    <input type="date" id="anneeConstruction" style="width:175px;padding:6px;border-radius:6px;border:1px solid #ccc;color:#22324a;-webkit-text-fill-color:#22324a;background:#fff;">
    
      <div class="diag-item"><input type="checkbox" id="anneeInconnue">Inconnue
      
   </div>
  </div>
</div>
<!-- Champs installation synchronisés par le wizard (masqués) -->
<input type="checkbox" class="diag-install" id="inst-elec"  value="inst-elec"  data-price="0" style="display:none;">
<input type="checkbox" class="diag-install" id="inst-gaz"   value="inst-gaz"   data-price="0" style="display:none;">
<input type="checkbox" class="diag-install" id="plaque-gaz" value="plaque-gaz" data-price="0" style="display:none;">

<!-- =================== WIZARD Diagnostics Existants =================== -->
<div class="annee-section" id="wizardSection">
  <div class="annee-title">Avez-vous des diagnostics ou documents à votre nom&nbsp;?&nbsp;<span class="req">*</span></div>
  <div class="wiz-oui-non">
    <button type="button" class="wiz-btn wiz-btn-non" id="wizardNon">Non</button>
    <button type="button" class="wiz-btn wiz-btn-oui" id="wizardOui">Oui</button>
  </div>
  <p style="margin:6px 0 0;font-size:.8rem;color:#b45309;font-style:italic;">La législation impose que les diagnostics obligatoires soient au nom du propriétaire, vendeur ou bailleur.</p>

  <div id="wizardStep2" style="display:none;">
    <div class="wiz-grid wiz-grid-existing-diags">

      <!-- ⚡ ÉLECTRICITÉ -->
      <div class="wiz-bloc">
        <div class="wiz-bloc-head">⚡ Électricité</div>
        <label class="wiz-lbl" for="wiz-elec-date-install">Date de l'installation</label>
        <select id="wiz-elec-date-install" class="wiz-select">
          <option value="">Sélectionnez</option>
          <option value=">15">Plus de 15 ans</option>
          <option value="<15">Moins de 15 ans</option>
        </select>
        <label class="wiz-lbl is-disabled" id="lbl-wiz-consuel" style="pointer-events:none;" title="Disponible seulement si installation &gt; 15 ans"><input type="checkbox" id="wiz-consuel" disabled> Consuel &lt; 3 ans</label>
        <label class="wiz-lbl"><input type="checkbox" id="wiz-has-elec">J'ai Déjà un diag électricité à mon nom.</label>
        <div class="wiz-sub" id="wiz-elec-sub">
          <select id="wiz-elec-when" class="wiz-select">
            <option value="">Date du diagnostic…</option>
            <option value="v3">Moins de 3 ans</option>
            <option value="v6">Entre 3 et 6 ans</option>
            <option value="old">Plus de 6 ans</option>
          </select>
        </div>
        <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-elec-none">Je n'ai pas de diag électricité à mon nom</label>
      </div>

      <!-- 🔥 GAZ -->
      <div class="wiz-bloc">
        <div class="wiz-bloc-head">🔥 Gaz</div>
        <label class="wiz-lbl" for="wiz-gaz-date-install">Date de l'installation</label>
        <select id="wiz-gaz-date-install" class="wiz-select">
          <option value="">Sélectionnez</option>
          <option value=">15">Plus de 15 ans</option>
          <option value="<15">Moins de 15 ans</option>
        </select>
        <label class="wiz-lbl is-disabled" id="lbl-wiz-qualigaz" style="pointer-events:none;" title="Disponible seulement si installation &gt; 15 ans"><input type="checkbox" id="wiz-qualigaz" disabled> Qualigaz &lt; 3 ans</label>
        <label class="wiz-lbl"><input type="checkbox" id="wiz-has-gaz">J'ai Déjà un diag gaz à mon nom.</label>
        <div class="wiz-sub" id="wiz-gaz-sub">
          <select id="wiz-gaz-when" class="wiz-select">
            <option value="">Date du diagnostic…</option>
            <option value="v3">Moins de 3 ans</option>
            <option value="v6">Entre 3 et 6 ans</option>
            <option value="old">Plus de 6 ans</option>
          </select>
        </div>
        <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-gaz-none">Je n'ai pas de diag gaz à mon nom</label>
      </div>

      <!-- 🏠 DPE -->
      <div class="wiz-bloc">
        <div class="wiz-bloc-head">🏠 DPE</div>
        <label class="wiz-lbl"><input type="checkbox" id="wiz-has-dpe">J'ai Déjà un DPE à mon nom</label>
        <div class="wiz-sub" id="wiz-dpe-sub">
          <select id="wiz-dpe-when" class="wiz-select">
            <option value="">Situation du DPE…</option>
            <option value="apres2021-ok">Après le 30/06/2021 &amp; &lt; 10 ans</option>
            <option value="avant2021">Avant le 01/07/2021</option>
            <option value="old">Plus de 10 ans</option>
          </select>
        </div>
        <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-dpe-none">Je n'ai pas de DPE à mon nom</label>
      </div>

      <!-- ⚠️ ERP / ENSA -->
      <div class="wiz-bloc">
        <div class="wiz-bloc-head">⚠️ ERP / ENSA</div>
        <label class="wiz-lbl"><input type="checkbox" id="wiz-has-erp">J'ai déjà un ERP/ENSA à mon nom</label>
        <div class="wiz-sub" id="wiz-erp-sub">
          <select id="wiz-erp-when" class="wiz-select">
            <option value="">Date de l'ERP/ENSA…</option>
            <option value="ok">Moins de 6 mois</option>
            <option value="old">Plus de 6 mois</option>
          </select>
        </div>
        <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-erp-none">Je n'ai pas d'ERP/ENSA à mon nom</label>
      </div>

      <!-- 🎯 PLOMB -->
      <div class="wiz-bloc">
        <div class="wiz-bloc-head">🎯 Plomb (CREP)</div>
        <label class="wiz-lbl"><input type="checkbox" id="wiz-has-plomb">J'ai Déjà un diag plomb à mon nom</label>
        <div class="wiz-sub" id="wiz-plomb-sub">
          <select id="wiz-plomb-result" class="wiz-select">
            <option value="">Résultat…</option>
            <option value="negatif">Négatif (pas de plomb)</option>
            <option value="positif">Positif (présence de plomb)</option>
          </select>
          <div id="wiz-plomb-date-sub" style="display:none;margin-top:6px;">
            <select id="wiz-plomb-when" class="wiz-select">
              <option value="">Date du diagnostic…</option>
              <option value="v1">Moins de 1 an</option>
              <option value="v6">Entre 1 et 6 ans</option>
              <option value="old">Plus de 6 ans</option>
            </select>
          </div>
        </div>
        <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-plomb-none">Je n'ai pas de diag CREP à mon nom</label>
      </div>

      <!-- 🏚️ AMIANTE -->
      <div class="wiz-bloc">
        <div class="wiz-bloc-head">🏚️ Amiante</div>
        <label class="wiz-lbl"><input type="checkbox" id="wiz-has-amiante">J'ai Déjà un diag amiante</label>
        <div class="wiz-sub" id="wiz-amiante-sub">
          <select id="wiz-amiante-result" class="wiz-select">
            <option value="">Résultat…</option>
            <option value="negatif">Négatif (pas d'amiante)</option>
            <option value="positif">Positif (présence d'amiante)</option>
          </select>
        </div>
        <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-amiante-none">Je n'ai pas de diag amiante à mon nom</label>
      </div>

      <!-- 🐛 TERMITES -->
      <div class="wiz-bloc">
        <div class="wiz-bloc-head">🐛 Termites</div>
        <label class="wiz-lbl"><input type="checkbox" id="wiz-has-termites">J'ai Déjà un état termites à mon nom</label>
        <div class="wiz-sub" id="wiz-termites-sub">
          <select id="wiz-termites-when" class="wiz-select">
            <option value="">Date du diagnostic…</option>
            <option value="ok">Moins de 6 mois</option>
            <option value="old">Plus de 6 mois</option>
          </select>
        </div>
        <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-termites-none">Je n'ai pas de diag termites à mon nom</label>
      </div>

      <!-- 📐 SURFACES -->
      <div class="wiz-bloc">
        <div class="wiz-bloc-head">📐 Surfaces</div>
        <div id="wiz-carrez-row" style="display:none;">
          <label class="wiz-lbl"><input type="checkbox" id="wiz-has-carrez">Loi Carrez existante à mon nom</label>
          <div class="wiz-sub" id="wiz-carrez-sub">
            <label class="wiz-lbl"><input type="checkbox" id="wiz-carrez-travaux"> Travaux depuis le mesurage?</label>
          </div>
          <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-carrez-none">Je n'ai pas de mesurage Carrez à mon nom</label>
        </div>
        <div id="wiz-boutin-row" style="display:none;">
          <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-has-boutin"> Loi Boutin existante à mon nom</label>
          <div class="wiz-sub" id="wiz-boutin-sub">
            <label class="wiz-lbl"><input type="checkbox" id="wiz-boutin-travaux"> Travaux depuis le mesurage?</label>
          </div>
          <label class="wiz-lbl" style="margin-top:4px;"><input type="checkbox" id="wiz-boutin-none">Je n'ai pas de mesurage Boutin</label>
        </div>
        <p id="wiz-surfaces-hint" class="wiz-note" style="margin-top:6px;">Les options Carrez / Boutin s'affichent selon le cadre et la copropriété renseignés.</p>
      </div>

    </div><!-- /.wiz-grid -->
    <div class="wiz-result-bar" id="wiz-result-bar"></div>
  </div><!-- /#wizardStep2 -->
</div><!-- /#wizardSection -->

<div class="annee-section">
<div class="annee-title">Informations complémentaires</div>
<div class="diag-list" style="display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;">
  <div style="flex:1 1 170px;min-width:160px;">
    <label style="display:block;font-size:.82rem;font-weight:600;color:#334155;margin-bottom:3px;">Type de chauffage&nbsp;*</label>
    <select id="chauffage" style="width:100%;padding:6px;border-radius:6px;border:1px solid #ccc;">
      <option value="">Sélectionnez</option>
      <option value="collectif">Collectif</option>
      <option value="individuel">Individuel</option>
      <option value="inconnue">Inconnu</option>
    </select>
  </div>
  <div style="flex:1 1 200px;min-width:180px;">
    <label style="display:block;font-size:.82rem;font-weight:600;color:#334155;margin-bottom:3px;">Type de radiateurs&nbsp;*</label>
    <select id="typeRadiateur" style="width:100%;padding:6px;border-radius:6px;border:1px solid #ccc;">
      <option value="">Sélectionnez</option>
      <option value="electrique">Radiateurs électriques</option>
      <option value="gaz">Radiateurs gaz</option>
      <option value="eau">Radiateurs à eau</option>
      <option value="inconnu">Inconnu</option>
    </select>
  </div>
  <div style="flex:1 1 160px;min-width:150px;">
    <label style="display:block;font-size:.82rem;font-weight:600;color:#334155;margin-bottom:3px;">Climatisation&nbsp;*</label>
    <select id="climatisationSelect" style="width:100%;padding:6px;border-radius:6px;border:1px solid #ccc;text-align:center;">
      <option value="">Sélectionnez</option>
      <option value="oui">Oui</option>
      <option value="non">Non</option>
    </select>
  </div>
  <div style="flex:1 1 160px;min-width:150px;">
    <label style="display:block;font-size:.82rem;font-weight:600;color:#334155;margin-bottom:3px;">Cuisson gaz&nbsp;*</label>
    <select id="cuissonGazSelect" style="width:100%;padding:6px;border-radius:6px;border:1px solid #ccc;text-align:center;">
      <option value="">Sélectionnez</option>
      <option value="oui">Oui</option>
      <option value="non">Non</option>
    </select>
  </div>
</div>
</div>

<div class="annee-section">
<div class="annee-title">
  Diagnostics</div>
  <div class="diag-list diag-list-main" >
     <div class="diag-item">
      <input type="checkbox" class="diag" id="gaz" value="gaz" data-price="100">
      Gaz <span class="diag-price"> à partir de 100 €</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic règlementaire obligatoire
par diagnostiqueur certifié selon conditions.</span>
    </div>
    <div class="diag-item">
      <input type="checkbox" class="diag" id="elec" value="elec" data-price="100">
      Électricité <span class="diag-price"> à partir de 100 €</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic règlementaire obligatoire
par diagnostiqueur certifié selon conditions.</span>
    </div>
    <div class="diag-item"><input type="checkbox" class="diag" id="dpe" value="dpe" data-price="120">DPE <span class="diag-price"> à partir de 120€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic règlementaire obligatoire
par diagnostiqueur certifié selon conditions.</span></div>
    <div class="diag-item diag-tertiaire-only" style="display:none;"><input type="checkbox" class="diag" id="dpe-tertiaire" value="dpe_tertiaire" data-price="360">DPE tertiaire <span class="diag-price"> à partir de 360€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic dédié aux biens tertiaires.</span></div>
    <div class="diag-item diag-tertiaire-only" style="display:none;"><input type="checkbox" class="diag" id="amiante-dta" value="amiante_dta" data-price="300">Amiante (DTA) <span class="diag-price"> à partir de 300€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic amiante dédié au tertiaire.</span></div>
    <div class="diag-item"><input type="checkbox" class="diag" id="amiante" value="amiante" data-price="120">Amiante <span class="diag-price"> à partir de 120€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic obligatoire
par diagnostiqueur certifié pour les constructions avant le 1/07/1997.</span></div>
    <div class="diag-item"><input type="checkbox" class="diag" id="plomb" value="plomb" data-price="120">Plomb <span class="diag-price"> à partir de 120€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic obligatoire
par diagnostiqueur certifié pour les constructions avant le 1/01/1949.</span></div>
    <div class="diag-item"><input type="checkbox" class="diag" id="erp" value="erp" data-price="25">ERP/ENSA <span class="diag-price"> 25€</span> <span style="font-size:12px;color:#555;">(offert avec autre diag.)</span><span class="diag-regl-hint">Diagnostic règlementaire obligatoire
selon conditions.</span></div>
    <div class="diag-item"><input type="checkbox" class="diag" id="termites" value="termites" data-price="100">Termites <span class="diag-price"> à partir de 100€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic règlementaire obligatoire
par diagnostiqueur certifié selon Arrêté.</span></div>
    <div class="diag-item"><input type="checkbox" class="diag" id="paras" value="paras" data-price="100">État parasitaire <span class="diag-price"> à partir de 100€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic supplémentaire</span></div>
    <div class="diag-item"><input type="checkbox" class="diag" id="assainissement" value="assainissement" data-price="100">Assainissement <span class="diag-price"> à partir de 100€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic supplémentaire</span></div>
    <div class="diag-item"><input type="checkbox" class="diag" id="etat-lieux" value="etat_lieux" data-price="100">État des lieux <span class="diag-price"> à partir de 100€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Diagnostic supplémentaire</span></div>
  </div>
  <div id="travaux-info-msg" style="display:none;margin-top:8px;padding:12px 14px;background:#fff8e1;border:1px solid #ffe082;border-radius:8px;font-size:.85rem;color:#5d4037;line-height:1.6;">
    <strong>&#9432; Aucun diagnostic obligatoire pour les constructions à partir du 1<sup>er</sup> juillet 1997.</strong><br>
    Si un doute sur la présence d'amiante ou de plomb subsiste, vous êtes invités à prendre contact :<br>
    <a href="tel:+33781600775" style="color:#0d4e91;font-weight:700;">&#128222; 07 81 60 07 75</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/contact.php" style="color:#0d4e91;font-weight:700;">&#9993; Page contact</a>
  </div>
  <div id="zone-checker" style="margin-top:8px;padding:10px 12px;background:#f0f5fb;border-radius:8px;border:1px solid #d0dbd7;position:relative;">
    <div style="font-size:12.5px;font-weight:600;color:#2361a7;margin-bottom:6px;">
      &#128205; Vérifier l'adresse du bien — zones termites &amp; PEB (bruit aérien)&nbsp; et Participation aux frais kilomètriques<span class="req">*</span>
    </div>
    <div style="display:flex;gap:8px;align-items:flex-start;position:relative;">
      <div style="flex:1;position:relative;">
        <input type="text" id="zone-adresse-input" autocomplete="off"
          placeholder="Ex : 12 rue des Lilas, 33000 Bordeaux"
          style="width:100%;padding:7px 10px;border:1px solid #aac4e0;border-radius:6px;font-size:13px;box-sizing:border-box;">
        <ul id="zone-suggestions"
            style="display:none;position:absolute;top:100%;left:0;right:0;background:#fff;                   border:1px solid #aac4e0;border-top:none;border-radius:0 0 6px 6px;                   list-style:none;margin:0;padding:0;z-index:200;box-shadow:0 4px 12px rgba(0,0,0,.12);"></ul>
      </div>
      <button type="button" id="zone-btn-verif"
              style="padding:7px 14px;background:#2361a7;color:#fff;border:none;border-radius:6px;                     font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;">
        Vérifier
      </button>
    </div>
    <div style="display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;">
      <div id="zone-result-termites" style="flex:1;min-width:200px;font-size:13px;font-weight:600;"></div>
      <div id="zone-result-peb"      style="flex:1;min-width:200px;font-size:13px;font-weight:600;"></div>
    </div>
    <div style="margin:6px 0 0;font-size:.8rem;color:#b45309;font-style:italic;">
      Vérifications basées sur données publiques — Non contractuelles. Il est important de vérifier auprès de votre Mairie.
    </div>
  </div>

  <!-- Inputs cachés pour stocker l'adresse du bien (toujours présents) -->
  <input type="hidden" id="hidden-bien-numero">
  <input type="hidden" id="hidden-bien-rue">
  <input type="hidden" id="hidden-bien-cp">
  <input type="hidden" id="hidden-bien-ville">
</div>
<!-- Section Métrage -->
<div class="annee-section">
<div class="annee-title">
  Métrage Surface</div>
  <div class="diag-list">
    <div class="diag-item"><input type="checkbox" class="diag" id="d-carrez" value="carrez" data-price="100">Loi Carrez <span class="diag-price"> à partir de 100€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Mesurage conforme obligatoire pour vente en copropriété.</span></div>
    <div class="diag-item"><input type="checkbox" class="diag" id="d-boutin" value="boutin" data-price="100">Loi Boutin <span class="diag-price"> à partir de 100€</span><span style="color:#e53e3e;font-weight:700;">*</span><span class="diag-regl-hint">Mesurage conforme obligatoire pour location.</span></div>
     <div class="diag-item"><input type="checkbox" class="diag" id="d-habitable" value="surface habitable" data-price="100">Habitable <span class="diag-price"> à partir de 100€</span><span style="color:#e53e3e;font-weight:700;">*</span> <span style="font-size:12px;color:#555;">(offert avec DPE)</span><span class="diag-regl-hint">Mesurage supplémentaire pièce par pièce sur demande.</span></div>
  </div>
</div>
<div class="annee-section">
<div class="annee-title">
  Options</div>
  <div class="diag-list">
    <div class="diag-item">
      <input type="checkbox" class="diag option-supp" id="logement-vetuste" value="logement-vetuste" data-price="0">
      Logement vétuste <span style="font-size:.75rem;color:#475569;font-weight:600;">+10%</span>
    </div>
    <div class="diag-item">
      <input type="checkbox" class="diag option-supp" id="urgence-24h" value="urgence-24h" data-price="0">
      Urgence 24h <span style="font-size:.75rem;color:#475569;font-weight:600;">+15% sur demande</span>
    </div>
    <div id="urgence-notice" style="display:none;margin:4px 0 6px;padding:11px 14px;background:#fff8e1;border:1px solid #f59e0b;border-radius:12px;font-size:.87rem;color:#7c4a00;line-height:1.5;">
      📞 Vous avez sélectionné l'option <strong>Urgence 24h</strong>. La prise de rendez-vous en ligne n'est pas disponible pour ce type d'intervention. Merci de contacter notre diagnostiqueur directement au <a href="tel:+33781600775" style="color:#b45309;font-weight:700;white-space:nowrap;">07 81 60 07 75</a> afin de confirmer votre créneau. Votre devis peut néanmoins être enregistré dès maintenant.
    </div>
    <div class="diag-item">
      <input type="checkbox" class="diag option-supp" id="dimanche-nuit" value="dimanche-nuit" data-price="0">
      Dimanche / Nuit <span style="font-size:.75rem;color:#475569;font-weight:600;">+30%</span>
    </div>
    <div class="diag-item" id="km-supplement-item" style="display:none;background:#fff3e0;border-radius:4px;padding:4px 8px;">
      <input type="checkbox" id="supplement-km" checked disabled>
      <span id="km-supplement-label">Participation aux frais kilométriques : </span>
    </div>
  </div>
</div>

    <div class="price-box">
      <div style="font-size:.75rem;color:#64748b;margin-bottom:6px;line-height:1.4;"><span style="color:#e53e3e;font-weight:700;">*</span> Tarif indicatif ajusté automatiquement selon la surface, le type de bien et la combinaison de diagnostics retenus.</div>
      <div class="total" id="total">0 €</div>
      <div style="font-size:.72rem;color:#94a3b8;margin-top:2px;">Tarif arrondi à l'euro le plus proche.</div>
      <div class="breakdown" id="breakdown"></div>
      <!-- === Créneaux disponibles === -->
      <!-- === / Créneaux === -->
      <div class="btn-row">
        <button class="btn btn-primary" id="btnValider">✅ Valider le devis</button>
        <button class="btn btn-primary" id="btnPrendreRdv">📅 Prendre RDV</button>
      </div>
      <div id="erpEnsaNotice" style="display:none;margin-top:10px;padding:12px 16px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;font-size:.88rem;color:#2e7d32;line-height:1.5;">
        Les diagnostics ERP (État des Risques et Pollutions) et ENSA (État des Nuisances Sonores Aériennes) sont des documents réglementaires établis à partir des bases de données officielles. Aucune intervention sur site n'est requise. Vos documents seront disponibles au téléchargement dès validation du règlement.
      </div>
      <div id="horsPerimetreMsg">
        <strong>&#128683; Zone hors périmètre d'intervention (&gt; 150 km)</strong><br>
        La prise de rendez-vous en ligne n'est pas disponible pour cette adresse.<br>
       Merci de prendre contact :
        <a href="tel:+33781600775">&#128222; 07 81 60 07 75</a>
        &nbsp;|&nbsp;
        <a href="/contact.php">&#9993; Page contact</a>
      </div>
      </div>
      <p style="margin-top:8px;font-size:.8rem;color:#0d4e91;">RDV sans création de compte. Vos coordonnées, l'adresse du bien à diagnostiquer et un acompte de 20€ seront demandés avant l'accès à l'agenda.</p>
            <div class="public-rdv-panel" id="publicRdvPanel">
        <div class="public-rdv-header">
          <h3>Prise de RDV sans compte</h3>
          <div class="public-rdv-header-links">
            <span>ou</span>
            <a href="/inscription.php">créer un compte</a>
            <span>ou</span>
            <a href="/connexion.php">me connecter</a>
          </div>
        </div>
        <p>Renseignez directement vos coordonnées et l'adresse du bien depuis cette page. Un acompte fixe de 20 € vous sera demandé avant l'accès au calendrier.</p>
        <p class="public-rdv-note">Vous allez être recontacté pour confirmer vos besoins.</p>
        <div class="public-rdv-steps">
          <div class="public-rdv-step active" id="publicStepIndicator1"><span class="public-rdv-step-number">1</span> Paiement</div>
          <div class="public-rdv-step" id="publicStepIndicator2"><span class="public-rdv-step-number">2</span> Coordonnées</div>
          <div class="public-rdv-step" id="publicStepIndicator3"><span class="public-rdv-step-number">3</span> Validation</div>
        </div>
        <div class="public-rdv-stage active" id="publicRdvStage1">
          <div class="public-payment-options">
            <label><input type="radio" name="public-payment-mode" value="acompte_stripe" checked> Acompte 20 € — <span class="payment-brand-line"><img class="payment-brand-stripe" src="/img/stripe.png" alt="Stripe" width="40" height="16" loading="lazy"> Carte bancaire</span></label>
            <label><input type="radio" name="public-payment-mode" value="total_stripe"> Total <span class="payment-total-label">—</span> — <span class="payment-brand-line"><img class="payment-brand-stripe" src="/img/stripe.png" alt="Stripe" width="40" height="16" loading="lazy"> Carte bancaire</span></label>
            <label><input type="radio" name="public-payment-mode" value="total_paypal"> Total <span class="payment-total-label">—</span> — <span class="payment-brand-line"><span class="payment-brand-paypal">PayPal</span><span class="payment-brand-4x">4X</span><small>si éligible</small></span></label>
          </div>
          <div class="public-payment-next">
            <button class="btn btn-primary" id="btnPublicPaymentNext" type="button">Suivant</button>
          </div>
        </div>
        <div class="public-rdv-stage" id="publicRdvStage2">
          <div class="public-compliance-box">
            <h4>Informations précontractuelles</h4>
            <p>Avant toute prise de rendez-vous ou paiement, veuillez prendre connaissance des éléments suivants.</p>
            <ul>
              <li>Le montant affiché est un devis estimatif net de TVA, établi sur la base des informations que vous avez déclarées. Il pourra être confirmé ou ajusté si le dossier réel diffère.</li>
              <li>Les diagnostics sont réalisés conformément à la réglementation en vigueur, dans le cadre d'une visite non destructive limitée aux zones accessibles le jour de l'intervention.</li>
              <li>Les modalités de paiement, d'annulation et de rétractation sont détaillées sur la page <a href="/Paiement.php">Paiement</a> et dans votre espace client après création du dossier.</li>
            </ul>
            <div class="pricing-note">
              Transparence tarifaire : le total estimé correspond aux diagnostics et options sélectionnés. Des participations aux frais kilométriques ou ajustements de périmètre peuvent s'ajouter ou se déduire si l'adresse, la surface, l'accessibilité ou le nombre réel de diagnostics diffère des informations saisies. Le tarif définitif sera établi à l'issue de la mission et, en cas de trop-perçu, un avoir ou un remboursement sera effectué par Intégral Diagnostics.
            </div>
            <div class="consent-checklist">
              <div class="consent-item">
                <input type="checkbox" id="public-accept-estimate">
                <label for="public-accept-estimate">Je reconnais avoir pris connaissance du caractère estimatif du devis, de la possibilité d'ajustement en fonction du dossier réel et des limites d'une intervention non destructive sur les seules zones accessibles.</label>
              </div>
              <div class="consent-item">
                <input type="checkbox" id="public-accept-legal">
                <label for="public-accept-legal">J'ai lu les <a href="/Paiement.php">modalités de paiement</a>, les informations de <a href="/RGPD.php">confidentialité</a> et les <a href="/mentions-legales.php">mentions légales</a>, et je comprends que le droit de rétractation légal s'applique selon les conditions prévues au contrat.</label>
              </div>
            </div>
          </div>
          <div class="public-rdv-grid">
            <div><label for="public-client-prenom">Prénom *</label><input type="text" id="public-client-prenom" autocomplete="given-name"></div>
            <div><label for="public-client-nom">Nom *</label><input type="text" id="public-client-nom" autocomplete="family-name"></div>
            <div><label for="public-client-email">E-mail *</label><input type="email" id="public-client-email" autocomplete="email"></div>
            <div><label for="public-client-tel">Téléphone *</label><input type="tel" id="public-client-tel" autocomplete="tel"></div>
            <div><label for="public-client-numero">N° de rue client *</label><input type="text" id="public-client-numero" autocomplete="address-line1" inputmode="numeric" pattern="[0-9]*" oninput="this.value=this.value.replace(/[^0-9]/g,'')"></div>
            <div><label for="public-client-rue">Rue client *</label><input type="text" id="public-client-rue" autocomplete="street-address"></div>
            <div><label for="public-client-cp">Code postal client *</label><input type="text" id="public-client-cp" maxlength="5" autocomplete="postal-code"></div>
            <div><label for="public-client-ville">Ville client *</label><input type="text" id="public-client-ville" autocomplete="address-level2"></div>
            <div class="full"><label><input type="checkbox" id="public-copy-address"> Même adresse pour le bien à diagnostiquer</label></div>
            <div><label for="public-bien-numero">N° de rue du bien *</label><input type="text" id="public-bien-numero" inputmode="numeric" pattern="[0-9]*" oninput="this.value=this.value.replace(/[^0-9]/g,'')"></div>
            <div><label for="public-bien-rue">Rue du bien *</label><input type="text" id="public-bien-rue"></div>
            <div><label for="public-bien-cp">Code postal du bien *</label><input type="text" id="public-bien-cp" maxlength="5"></div>
            <div><label for="public-bien-ville">Ville du bien *</label><input type="text" id="public-bien-ville"></div>
          </div>
          <div class="public-rdv-actions">
            <button class="btn btn-primary" id="btnPublicCoordsNext" type="button">Suivant</button>
          </div>
        </div>
        <div class="public-rdv-stage" id="publicRdvStage3">
          <div class="public-rdv-summary" id="publicRdvSummary"></div>
          <div class="public-rdv-actions">
            <button class="btn btn-primary" id="btnPublicRdvConfirm">Confirmer et payer</button>
          </div>
        </div>
        <div class="public-rdv-inline-msg" id="publicRdvMsg"></div>
      </div>
      <div id="surface-error" style="display:none; color:#b00020; margin-top:10px; font-weight:600;">
En Tertiaire pour les surfaces supérieures à 250 m2 merci de prendre contact :
<a href="https://www.integral-diagnostics.fr/contact.php" target="_blank">
Accéder à la page contact
</a>
</div>
      <div id="calendar-container" style="display:none;margin-top:20px;"></div>
    </div>
  </aside>
</section>

<!-- Bannière packs promotionnels -->
<section class="promo-packs-banner" aria-label="Packs promotionnels">
  <div class="promo-packs-inner">
    <div class="promo-packs-text">
      <h2 class="promo-packs-title">Economisez sur vos Diagnostics Immobiliers obligatoires avec les packs de Diagnostics groupés reconfigurables</h2>
      <p class="promo-packs-lead">
        En créant un compte, accédez à des <strong>packs promotionnels</strong> conçus pour chaque situation&nbsp;:
        <strong>vente maison</strong>, <strong>vente appartement</strong>, <strong>location</strong>…
        Tous vos diagnostics obligatoires réunis en un seul devis, à tarif préférentiel.
      </p>
      <ul class="promo-packs-list">
        <li>📦&nbsp;<strong>Pack Vente Maison</strong> — DPE, Amiante, Gaz, Électricité, Plomb, ERP + Surface habitable offerte</li>
        <li>📦&nbsp;<strong>Pack Vente Appartement</strong> — DPE, Amiante, Gaz, Électricité, Plomb, ERP + Métrage Carrez</li>
        <li>📦&nbsp;<strong>Pack Location</strong> — DPE, Gaz, Électricité + Métrage Boutin</li>
        <li class="promo-packs-fidelite">⭐&nbsp;<strong>Programme Fidélité — pour les professionnels</strong></li>
      </ul>
    </div>
    <div class="promo-packs-cta">
      <a href="/inscription.php" class="btn btn-primary promo-packs-btn">Créer mon compte</a>
      <a href="/connexion.php" class="promo-packs-login">Déjà client ? <span>Me connecter</span></a>
    </div>
  </div>
</section>

<!-- Carousel + Avis -->
 
<section class="diagnostics-carousel">
  <h2>Tous les diagnostics immobiliers obligatoires</h2>
  <div class="carousel-wrapper">
    <button class="carousel-btn prev">&#10094;</button>
    <div class="carousel-track">
      <a href="DPE.php" class="carousel-item"><img src="/img/Performance_DPE.png" alt="DPE" width="200" height="150" loading="lazy"><span>DPE</span></a>
      <a href="Électricité.php" class="carousel-item"><img src="/img/Electricite.png" alt="Électricité" width="200" height="150" loading="lazy"><span>Électricité</span></a>
      <a href="gaz.php" class="carousel-item"><img src="/img/Diaggaz.png" alt="Gaz" width="200" height="150" loading="lazy"><span>Gaz</span></a>
      <a href="amiante.php" class="carousel-item"><img src="/img/DiagAMIANTE.png" alt="Amiante" width="200" height="150" loading="lazy"><span>Amiante</span></a>
      <a href="CREP.php" class="carousel-item"><img src="/img/CREPLOMB.png" alt="Plomb" width="200" height="150" loading="lazy"><span>CREP (Plomb)</span></a>
      <a href="erp.php" class="carousel-item"><img src="/img/EtatdesrisquesPollutions.png" alt="Diagnostic ERP — État des Risques et Pollutions" width="200" height="150" loading="lazy"><span>ERP</span></a>
      <a href="Termites.php" class="carousel-item"><img src="/img/EPTERMITES.png" alt="Termites" width="200" height="150" loading="lazy"><span>Termites</span></a>
      <a href="Surfaces.php" class="carousel-item"><img src="/img/carrezboutin.png" alt="Diagnostic Loi Carrez et Loi Boutin" width="200" height="150" loading="lazy"><span>Surfaces</span></a>
    </div>
    <button class="carousel-btn next">&#10095;</button>
  </div>


  
</section><!-- /diagnostics-carousel -->

<section class="home-why-section" style="max-width:960px;margin:32px auto;padding:16px 24px;border:2px solid transparent;border-radius:10px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#2361a7,#136c38) border-box;">
  <h2 style="font-size:1.2rem;color:#334155;margin-bottom:8px;">Pourquoi choisir Intégral Diagnostics ?</h2>
  <ul class="home-why-list" style="list-style-type:disc;padding-left:20px;color:#334155;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:0;line-height:1.45;">
    <li> Diagnostiqueur Immobilier certifié Bureau Veritas   </li>
    <li> Devis instantané en ligne, sans engagement   </li>
    <li> Prise de RDV rapide et flexible   </li>
    <li> Espace client sécurisé pour suivre vos diagnostics   </li>
    <li> Rapports rapides et conformes   </li>  
    <li> Réactivité, Urgence 24h, Urgence Dimanche et fériés   </li>
  </ul>
</section>

<section class="home-blog-section" style="max-width:960px;margin:32px auto;">
  <h2 style="font-size:1.2rem;color:#0d4e91;margin-bottom:16px;">Conseils &amp; guides diagnostics immobiliers</h2>
  <div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;">
    <a href="/blog/astuce-dpe.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">DPE</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">9 astuces pour préparer votre logement avant le DPE</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Documents, photos, accès, ventilation : les 9 points à vérifier avant la visite du diagnostiqueur pour optimiser votre bilan énergétique.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
    <a href="/blog/ameliorer-son-dpe-avant-vente-location.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">DPE</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">Comment améliorer son DPE avant une vente ou une location</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Isolation, chauffage, ventilation : les 5 leviers concrets pour gagner des classes et valoriser votre bien en 2026.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
    <a href="/blog/diagnostic-amiante-obligatoire.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">Amiante</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">Diagnostic amiante : obligations, validité et ce qu'on recherche</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Permis avant juillet 1997 ? Découvrez les matériaux inspectés, la durée de validité et les sanctions encourues.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
    <a href="/blog/diagnostic-plomb-crep.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">Plomb (CREP)</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">CREP — Diagnostic plomb : qui est concerné et pourquoi ?</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Logement construit avant 1949 ? Le CREP est obligatoire. Risques sanitaires, règles de validité vente/location.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
    <a href="/blog/diagnostic-gaz-installation.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">Gaz</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">Diagnostic gaz : ce que révèle le contrôle de votre installation</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Installation de plus de 15 ans : les 3 niveaux d'anomalies, les points inspectés et comment ne pas bloquer la vente.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
    <a href="/blog/diagnostic-electricite-obligatoire.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">Électricité</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">Diagnostic électricité : ce qu'on vérifie et pourquoi c'est obligatoire</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Tableau électrique, mise à la terre, zones humides : les points clés de l'inspection pour une installation de plus de 15 ans.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
    <a href="/blog/erp-etat-risques-pollutions.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">ERP</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">ERP — État des Risques et Pollutions : tout ce qu'il faut savoir</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Obligatoire pour toute vente ou location, valide 6 mois. Risques naturels, technologiques, radon, pollutions des sols.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
    <a href="/blog/diagnostic-termites-etat-parasitaire.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">Termites</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">Diagnostic termites et état parasitaire : zones à risque et obligations</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Valide 6 mois seulement. Différence entre diagnostic termites obligatoire et état parasitaire complet — ce qu'on inspecte.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
    <a href="/blog/mesurage-loi-carrez-boutin.php" style="display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid #e0ecff;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s;" onmouseover="this.style.boxShadow='0 4px 16px rgba(35,97,167,.13)';this.style.borderColor='#2361a7'" onmouseout="this.style.boxShadow='none';this.style.borderColor='#e0ecff'">
      <span style="background:#e0ecff;color:#0d4e91;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:20px;align-self:flex-start;">Surfaces</span>
      <strong style="font-size:.97rem;color:#0d4e91;line-height:1.35;">Loi Carrez et Loi Boutin : quelles surfaces mesurer et pourquoi ?</strong>
      <p style="margin:0;font-size:.85rem;color:#475569;line-height:1.55;">Carrez pour la vente en copropriété, Boutin pour la location. Règles de calcul et sanction si la surface est erronée de plus de 5 %.</p>
      <span style="font-size:.82rem;color:#2361a7;font-weight:600;margin-top:4px;">Lire le guide &rarr;</span>
    </a>
  </div>
  <div style="text-align:right;margin-top:12px;">
    <a href="/blog/" style="font-size:.85rem;color:#2361a7;text-decoration:none;font-weight:600;">Voir tous nos guides &rarr;</a>
  </div>
</section>

<section class="city-diagnostics-links" style="max-width:960px;margin:24px auto 32px;">
  <h2>Diagnostics Immobiliers en Hauts-de-France — zones d'interventions</h2>
  <ul>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/Ailly%20sur%20Noye/" title="Diagnostics immobiliers Ailly-sur-Noye">Ailly-sur-Noye</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/albert/" title="Diagnostics immobiliers Albert">Albert</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/amiens/" title="Diagnostics immobiliers Amiens">Amiens</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/arras/" title="Diagnostics immobiliers Arras">Arras</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/bapaume/" title="Diagnostics immobiliers Bapaume">Bapaume</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/bethune/" title="Diagnostics immobiliers Béthune">Béthune</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/cambrai/" title="Diagnostics immobiliers Cambrai">Cambrai</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/caudry/" title="Diagnostics immobiliers Caudry">Caudry</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/Chaulnes/" title="Diagnostics immobiliers Chaulnes">Chaulnes</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/compiegne/" title="Diagnostics immobiliers Compiègne">Compiègne</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/Corbie/" title="Diagnostics immobiliers Corbie">Corbie</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/douai/" title="Diagnostics immobiliers Douai">Douai</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/doullens/" title="Diagnostics immobiliers Doullens">Doullens</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/ham/" title="Diagnostics immobiliers Ham">Ham</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/laon/" title="Diagnostics immobiliers Laon">Laon</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/montdidier/" title="Diagnostics immobiliers Montdidier">Montdidier</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/moreuil/" title="Diagnostics immobiliers Moreuil">Moreuil</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/nesle/" title="Diagnostics immobiliers Nesle">Nesle</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/noyon/" title="Diagnostics immobiliers Noyon">Noyon</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/peronne/" title="Diagnostics immobiliers Péronne">Péronne</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/roisel/" title="Diagnostics immobiliers Roisel">Roisel</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/Rosi%C3%A8res%20en%20Santerre/" title="Diagnostics immobiliers Rosières-en-Santerre">Rosières-en-Santerre</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/roye/" title="Diagnostics immobiliers Roye">Roye</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/saint-quentin-02/" title="Diagnostics immobiliers Saint-Quentin">Saint-Quentin</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/tergnier/" title="Diagnostics immobiliers Tergnier">Tergnier</a></li>
    <li><a href="/diagnostics-immobiliers-hauts-de-france/Villers-Bretonneux/" title="Diagnostics immobiliers Villers-Bretonneux">Villers-Bretonneux</a></li>
  </ul>
</section>

</main>
<footer>
    <div class="footer-partner-logos">
    <img src="/img/Klarity.png" alt="Klarity">
    <img src="/img/BV.png" alt="Bureau Veritas">
  </div>
      <span>© <span id="year"></span> Intégral Diagnostics — Hauts-de-France — RCS 512225988</span>
  <p class="footer-bottom-bar">
    <a href="/contact.php">Signaler un problème</a>
    <span class="footer-sep" aria-hidden="true">·</span>
    <a href="#" id="ck-reopen">Gérer mes cookies</a>
    <span class="footer-sep" aria-hidden="true">·</span>
    <a href="/RGPD.php">Confidentialité</a>
    <span class="footer-sep" aria-hidden="true">·</span>
    <a href="/mentions-legales.php">Mentions légales</a>
  </p>
  <div class="footer-social">
    <a href="https://www.facebook.com/share/1B9QpokJmZ/?mibextid=wwXIfr" target="_blank" rel="noopener noreferrer" aria-label="Facebook" class="footer-social-link">
      <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047V9.41c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.235 2.686.235v2.97h-1.513c-1.491 0-1.956.93-1.956 1.883v2.258h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z"/></svg>
    </a>
        <a href="https://www.linkedin.com/in/int%C3%A9gral-diagnostics-810237408/" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" class="footer-social-link">
      <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
    </a>
            <a href="https://x.com/dia36210" target="_blank" rel="noopener noreferrer" aria-label="X (Twitter)" class="footer-social-link">
      <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewbox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.747l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.911-5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
    </a>
      </div>
</footer>

<!-- ── Bannière consentement cookies (CNIL-conforme) ────────────────────── -->
<style>
#cookie-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99999;background:#1a2a1a;color:#f0f0f0;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(0,0,0,.35);font-family:inherit;font-size:.88rem;line-height:1.5;}
#cookie-banner a{color:#fff;text-decoration:underline;}
#cookie-banner strong{font-size:.95rem;}
.ck-banner-wrap{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;}
.ck-banner-text{flex:1;min-width:220px;}
.ck-banner-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;align-items:center;}
.ck-btn{padding:9px 18px;border-radius:6px;font-weight:700;font-size:.85rem;cursor:pointer;transition:opacity .15s;}
.ck-btn-accept{border:none;background:#20a44a;color:#fff;}
.ck-btn-refuse{border:1px solid #888;background:transparent;color:#ddd;}
.ck-btn-manage{border:1px solid #fff;background:transparent;color:#fff;font-size:.78rem;padding:7px 12px;}
.ck-btn:hover{opacity:.85;}
/* Panneau préférences */
#cookie-prefs{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100000;background:#111e11;color:#f0f0f0;padding:20px 24px;padding-bottom:calc(20px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(0,0,0,.5);font-family:inherit;font-size:.88rem;line-height:1.6;max-height:80vh;overflow-y:auto;}
#cookie-prefs h3{margin:0 0 10px;font-size:1rem;color:#fff;}
#cookie-prefs a{color:#fff;text-decoration:underline;}
.ck-cat{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding:10px 12px;background:#1e301e;border-radius:6px;}
.ck-cat, .ck-cat *{color:#fff;}
.ck-cat label{font-weight:700;font-size:.88rem;color:#fff;}
.ck-cat p{margin:2px 0 0;font-size:.78rem;color:#fff;}
.ck-cat a{color:#fff;text-decoration:underline;}
.ck-toggle{flex-shrink:0;margin-top:3px;width:38px;height:20px;appearance:none;-webkit-appearance:none;background:#555;border-radius:10px;cursor:pointer;position:relative;transition:background .2s;}
.ck-toggle:checked{background:#20a44a;}
.ck-toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s;}
.ck-toggle:checked::after{left:20px;}
.ck-toggle:disabled{opacity:.5;cursor:not-allowed;}
@media(max-width:700px){
  #cookie-banner{padding:14px 14px;padding-bottom:calc(14px + env(safe-area-inset-bottom));}
  .ck-banner-wrap{flex-direction:column !important;align-items:stretch !important;gap:10px;}
  .ck-banner-text{min-width:0;width:100%;}
  .ck-banner-actions{width:100%;flex-direction:column !important;align-items:stretch !important;gap:8px;}
  .ck-banner-actions .ck-btn{width:100%;text-align:center;}
  .ck-btn{white-space:normal;word-break:break-word;}
  .ck-btn-manage{font-size:.82rem;padding:7px 10px;}
}
</style>

<!-- Bandeau principal -->
<div id="cookie-banner" role="dialog" aria-label="Consentement aux cookies" aria-modal="true">
  <div class="ck-banner-wrap">
    <div class="ck-banner-text">
      <strong>Ce site utilise des cookies</strong><br>
      Nous utilisons des cookies <strong>strictement nécessaires</strong> au fonctionnement (session, sécurité) et, avec votre accord, des cookies <strong>analytiques</strong> (Google Analytics 4) pour améliorer nos services. Votre choix est conservé 13 mois.<br>
      <a href="/RGPD.php" target="_blank" rel="noopener">Politique de confidentialité</a>
    </div>
    <div class="ck-banner-actions">
      <button class="ck-btn ck-btn-accept" id="ck-accept-all">Tout accepter</button>
      <button class="ck-btn ck-btn-refuse" id="ck-refuse-all">Tout refuser</button>
      <button class="ck-btn ck-btn-manage" id="ck-open-prefs">Gérer mes préférences</button>
    </div>
  </div>
</div>

<!-- Panneau préférences granulaires -->
<div id="cookie-prefs" role="dialog" aria-label="Gestion des cookies" aria-modal="true">
  <h3>Gérer mes préférences cookies</h3>
  <div class="ck-cat">
    <input type="checkbox" class="ck-toggle" id="ck-cat-essential" checked disabled aria-label="Cookies essentiels">
    <div>
      <label for="ck-cat-essential">Cookies essentiels</label>
      <p>Session PHP, sécurité CSRF, consentement cookies. Nécessaires au fonctionnement du site, ne peuvent pas être désactivés.</p>
    </div>
  </div>
  <div class="ck-cat">
    <input type="checkbox" class="ck-toggle" id="ck-cat-analytics" aria-label="Cookies analytiques">
    <div>
      <label for="ck-cat-analytics">Cookies analytiques — Google Analytics 4</label>
      <p>Mesure d'audience anonymisée (pages visitées, durée, provenance). Aucune donnée personnelle transmise. Données conservées 26 mois chez Google. <a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Politique Google</a>.</p>
    </div>
  </div>
  <div style="display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;">
    <button class="ck-btn ck-btn-accept" id="ck-save-prefs">Enregistrer mes choix</button>
    <button class="ck-btn ck-btn-refuse" id="ck-close-prefs">Annuler</button>
  </div>
  <p style="font-size:.72rem;color:#888;margin-top:10px;">Votre choix est conservé pendant 13 mois. Vous pouvez le modifier à tout moment via le lien "Cookies" en bas de page.</p>
</div>

<script>
(function () {
  var GA_ID = "G-BPFYYVVB6T";
  var STORAGE_KEY = 'integral_cookie_consent_v2';
  var banner  = document.getElementById('cookie-banner');
  var prefs   = document.getElementById('cookie-prefs');
  var ckAnal  = document.getElementById('ck-cat-analytics');
  var gaLoaded = false;

  function loadGA() {
    if (gaLoaded || !GA_ID || GA_ID === 'G-XXXXXXXXXX') return;
    gaLoaded = true;
    var s = document.createElement('script');
    s.async = true;
    s.src = 'https://www.googletagmanager.com/gtag/js?id=' + GA_ID;
    document.head.appendChild(s);
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    window.gtag = gtag;
    gtag('js', new Date());
    gtag('config', GA_ID, {anonymize_ip: true});
  }

  function saveConsent(analytics) {
    var exp = new Date();
    exp.setMonth(exp.getMonth() + 13);
    try {
      localStorage.setItem(STORAGE_KEY, JSON.stringify({analytics: analytics, expires: exp.toISOString()}));
    } catch(e) {}
    if (analytics) loadGA();
  }

  function readConsent() {
    try {
      var raw = localStorage.getItem(STORAGE_KEY);
      if (!raw) return null;
      var data = JSON.parse(raw);
      if (!data.expires || new Date(data.expires) < new Date()) { localStorage.removeItem(STORAGE_KEY); return null; }
      return data;
    } catch(e) { return null; }
  }

  function hideBanner() { banner.style.display = 'none'; }
  function hidePrefs()  { prefs.style.display  = 'none'; }
  function showPrefs()  { prefs.style.display  = 'block'; hideBanner(); }

  // Init au chargement
  var saved = readConsent();
  if (!saved) {
    banner.style.display = 'block';
  } else {
    if (saved.analytics) loadGA();
  }

  // Tout accepter
  document.getElementById('ck-accept-all').addEventListener('click', function () {
    saveConsent(true); hideBanner(); hidePrefs();
  });
  // Tout refuser
  document.getElementById('ck-refuse-all').addEventListener('click', function () {
    saveConsent(false); hideBanner(); hidePrefs();
  });
  // Ouvrir préférences
  document.getElementById('ck-open-prefs').addEventListener('click', function () {
    var saved = readConsent();
    if (ckAnal) ckAnal.checked = saved ? !!saved.analytics : false;
    showPrefs();
  });
  // Enregistrer préférences
  document.getElementById('ck-save-prefs').addEventListener('click', function () {
    var analytics = ckAnal ? ckAnal.checked : false;
    saveConsent(analytics); hidePrefs(); hideBanner();
  });
  // Fermer préférences sans sauvegarder
  document.getElementById('ck-close-prefs').addEventListener('click', function () {
    hidePrefs();
    if (!readConsent()) banner.style.display = 'block';
  });

  // Lien "Cookies" en bas de page (déclenche le panneau à tout moment)
  document.addEventListener('click', function (e) {
    if (e.target && e.target.id === 'ck-reopen') {
      var saved = readConsent();
      if (ckAnal) ckAnal.checked = saved ? !!saved.analytics : false;
      showPrefs();
    }
  });
}());
</script>
</div>

<div id="rdv-modal-overlay" class="rdv-modal-overlay" aria-hidden="true">
  <div class="rdv-modal" role="dialog" aria-modal="true" aria-labelledby="rdv-modal-title">
    <div class="rdv-modal-header">
      <p id="rdv-modal-title" class="rdv-modal-title">Prise de rendez-vous</p>
      <button type="button" id="rdv-modal-close" class="rdv-modal-close" aria-label="Fermer la fenetre de rendez-vous">Fermer</button>
    </div>
    <iframe id="rdv-modal-frame" class="rdv-modal-frame" src="about:blank" title="Prise de rendez-vous" allow="payment"></iframe>
  </div>
</div>

<script id="index-home-config" type="application/json">{"kmRate":0.6,"isConnected":false,"csrfToken":"74f11879171273c929352201946646c40a377bcce280fd2f2908b732fe3ecad8","publicRdvModalUrl":""}</script>
<script src="/index-home-main.js" defer></script>
<script src="/script.js" defer></script>
<script src="/index-home-extensions.js" defer></script>
</body>
</html>