⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.30
Server IP:
92.222.139.190
Server:
Linux webd002.cluster128.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
PHP Version:
8.2.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
mspfmsm
/
confiance-toiture-fr
/
Viewing : index.html
<!doctype html> <html lang="fr"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <title> Artisan Couvreur (46, 47, 81, 82) | Devis Toiture sous 24h </title> <link rel="icon" type="image/png" href="/uploads/favicon.png" /> <meta name="description" content="Besoin d'un artisan couvreur ? 0€ d'acompte, assurance décennale et devis toiture gratuit sous 24h dans le Lot, Tarn et Garonne. Artisans vérifiés." /> <link rel="canonical" href="https://confiance-toiture.fr" /> <meta property="og:title" content="Nettoyage & réparation toiture — 0€ acompte | confiance-toiture.fr" /> <meta property="og:description" content="Artisans couvreurs vérifiés dans le Lot, Lot-et-Garonne, Tarn et Tarn-et-Garonne. Nettoyage, démoussage, réparation fuite. 0€ d'acompte <2000€ TTC. Devis gratuit 24h." /> <meta property="og:url" content="https://confiance-toiture.fr" /> <meta property="og:type" content="website" /> <meta property="og:image" content="https://confiance-toiture.fr/og-image.jpg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="robots" content="index,follow,max-snippet:-1,max-image-preview:large"> <meta name="google-site-verification" content="j-Cf8qkBa1Upv4uJVbTGTBf3-WxNzdZc5eT1lYS3Csg" /> <link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@700;800&family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet" /> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "RoofingContractor", "name": "confiance-toiture.fr", "url": "https://confiance-toiture.fr", "description": "Mise en relation avec artisans couvreurs vérifiés dans le Lot, Lot-et-Garonne, Tarn et Tarn-et-Garonne.", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.9", "reviewCount": "94", "bestRating": "5" } } </script> <style> :root { --bg: #0c0d0f; --bg2: #131416; --bg3: #1a1b1e; --surface: #1e1f22; --surface2: #252629; --border: rgba(255, 255, 255, 0.08); --border2: rgba(255, 255, 255, 0.05); --text: #f0f0f0; --text2: #b0b3b8; --text3: #6b6f76; --orange: #f5622a; --orange2: #e8541f; --green: #22c55e; --klarna: #ffb3c7; --r: 8px; --rl: 14px; --ff-display: "Outfit", sans-serif; --ff-body: "Poppins", sans-serif; } * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; scroll-margin-top: 100px; } body { background: var(--bg); color: var(--text); font-family: var(--ff-body); font-size: 16px; line-height: 1.6; } h1, h2, h3, h4 { font-family: var(--ff-display); font-weight: 800; line-height: 1.15; } a { color: var(--orange); text-decoration: none; } a:hover { text-decoration: underline; } p strong, li strong { display: inline !important; font-size: inherit; } /* NAV */ nav.site-nav { position: sticky; top: 0; z-index: 1000; background: rgba(12, 13, 15, 0.9); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); padding: 0.9rem 1.5rem; display: flex; align-items: center; justify-content: space-between; } .brand { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; } .brand-mark { width: 36px; height: 36px; background: var(--orange); border-radius: 9px; display: flex; align-items: center; justify-content: center; font-family: var(--ff-display); font-weight: 800; font-size: 0.85rem; color: #fff; } .brand-name { font-family: var(--ff-display); font-weight: 700; font-size: 1.05rem; color: var(--text); } .brand-name span { color: var(--orange); } .nav-links { display: flex; align-items: center; gap: 0.3rem; } .nav-links a { font-size: 0.85rem; color: var(--text2); padding: 0.4rem 0.7rem; border-radius: var(--r); transition: color 0.2s; text-decoration: none; } .nav-links a:hover { color: var(--orange); } .nav-cta { background: var(--orange); color: #fff !important; padding: 0.5rem 1.1rem !important; border-radius: var(--r); font-weight: 600; } .nav-cta:hover { background: var(--orange2) !important; color: #fff !important; } /* DROPDOWN */ .nav-dropdown { position: relative; } .nav-dropdown-btn { display: flex; align-items: center; gap: 0.3rem; font-size: 0.85rem; color: var(--text2); padding: 0.4rem 0.7rem; border-radius: var(--r); background: none; border: none; cursor: pointer; font-family: var(--ff-body); transition: color 0.2s; } .nav-dropdown-btn:hover { color: var(--orange); } .nav-dropdown-btn svg { transition: transform 0.2s; } .nav-dropdown:hover .nav-dropdown-btn svg, .nav-dropdown.open .nav-dropdown-btn svg { transform: rotate(180deg); } .nav-dropdown-menu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 230px; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--rl); padding: 0.5rem; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity 0.2s, transform 0.2s, visibility 0.2s; z-index: 2000; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5); } .nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown.open .nav-dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); } .nav-dropdown-menu a { display: flex; align-items: center; gap: 0.7rem; padding: 0.6rem 0.8rem; border-radius: var(--r); font-size: 0.84rem; color: var(--text2); text-decoration: none; transition: background 0.15s, color 0.15s; } .nav-dropdown-menu a:hover { background: var(--surface); color: var(--orange); text-decoration: none; } .nav-dropdown-menu a .dd-icon { font-size: 1rem; flex-shrink: 0; } /* MOBILE ACCORDION */ .mnav-group { border-bottom: 1px solid var(--border); } .mnav-group-btn { display: flex; align-items: center; justify-content: space-between; width: 100%; background: none; border: none; padding-bottom: 1rem; font-size: 1.2rem; color: var(--text2); cursor: pointer; font-family: var(--ff-body); font-weight: 500; } .mnav-group-btn svg { transition: transform 0.25s; flex-shrink: 0; } .mnav-group.open .mnav-group-btn svg { transform: rotate(180deg); } .mnav-sub { display: none; flex-direction: column; gap: 0.2rem; padding-bottom: 0.8rem; } .mnav-group.open .mnav-sub { display: flex; } .mnav-sub a { font-size: 0.95rem; color: var(--text3); padding: 0.5rem 0.8rem; border-radius: var(--r); border-bottom: none !important; padding-bottom: 0.5rem !important; transition: background 0.15s, color 0.15s; } .mnav-sub a:hover { background: var(--surface); color: var(--orange); } .burger { display: none; background: none; border: 1px solid var(--border); width: 38px; height: 38px; border-radius: var(--r); cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; } .burger span { width: 18px; height: 2px; background: var(--text2); border-radius: 2px; transition: 0.3s; } .mnav { display: none; position: fixed; inset: 0; background: var(--bg2); z-index: 999; padding: 5rem 2rem 2rem; flex-direction: column; gap: 1.5rem; } .mnav.open { display: flex; } .mnav a { font-size: 1.2rem; color: var(--text2); text-decoration: none; border-bottom: 1px solid var(--border); padding-bottom: 1rem; } .mnav .m-cta { background: var(--orange); color: #fff; text-align: center; border-radius: var(--r); padding: 1rem; border: none; font-size: 1rem; font-weight: 600; cursor: pointer; margin-top: 1rem; text-decoration: none; } .burger-close { position: absolute; top: 1rem; right: 1rem; background: none; border: 1px solid var(--border); width: 38px; height: 38px; border-radius: 50%; cursor: pointer; color: var(--text2); font-size: 1.1rem; } @media (max-width: 768px) { .nav-links { display: none; } .burger { display: flex; } } /* LAYOUT */ .wrap { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; } .sp-body { max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem; display: grid; grid-template-columns: 1fr 320px; gap: 3rem; align-items: start; } @media (max-width: 900px) { .sp-body { grid-template-columns: 1fr; } } .sp-side { position: sticky; top: 80px; } /* HERO / SP-TOP */ .sp-top { position: relative; overflow: hidden; background: var(--bg2); border-bottom: 1px solid var(--border); padding: 4rem 1.5rem 3rem; } .sp-orb { position: absolute; top: -80px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(245, 98, 42, 0.18) 0%, transparent 70%); pointer-events: none; } .sp-in { max-width: 1200px; margin: 0 auto; position: relative; } .s-tag { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--orange); margin-bottom: 0.8rem; } .s-tag::before { content: ""; width: 20px; height: 2px; background: var(--orange); } .sp-kws { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; } .sp-kw { background: rgba(245, 98, 42, 0.1); border: 1px solid rgba(245, 98, 42, 0.2); color: var(--orange); padding: 0.3rem 0.75rem; border-radius: 20px; font-size: 0.75rem; font-weight: 600; } h1.page-h1 { font-size: clamp(1.8rem, 4vw, 3rem); margin-bottom: 1rem; color: var(--text); } .hero-sub { font-size: 1rem; color: var(--text2); margin-bottom: 1.8rem; max-width: 600px; } /* BREADCRUMB */ .breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem; font-size: 0.82rem; margin-bottom: 1.5rem; background: rgba(255, 255, 255, 0.04); border: 1px solid var(--border); border-radius: var(--r); padding: 0.6rem 1rem; } .bc-a { color: var(--text3); cursor: pointer; text-decoration: none; transition: color 0.2s; } .bc-a:hover { color: var(--orange); } .bc-sep { color: var(--text3); font-size: 0.7rem; } .bc-cur { color: var(--text2); font-weight: 600; } /* CONTENU */ .sp-content h2 { font-size: 1.3rem; margin: 2rem 0 0.8rem; color: var(--text); } .sp-content h3 { font-size: 1.05rem; margin: 1.5rem 0 0.5rem; color: var(--text2); } .sp-content p { font-size: 0.92rem; line-height: 1.8; color: var(--text2); margin-bottom: 1rem; text-align: justify; hyphens: auto; } .sp-content ul { padding-left: 1.3rem; margin-bottom: 1rem; } .sp-content ul li { font-size: 0.92rem; line-height: 1.8; color: var(--text2); margin-bottom: 0.4rem; } .sp-content strong { color: var(--text); font-weight: 700; } h1, h2, h3, h4 { text-align: left; hyphens: none; } /* SIDEBAR */ .side-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.5rem; margin-bottom: 1.2rem; } .side-card h3 { font-size: 0.95rem; margin-bottom: 0.8rem; } .g-list { list-style: none; padding: 0; } .g-list li { font-size: 0.82rem; color: var(--text2); padding: 0.35rem 0; border-bottom: 1px solid var(--border2); } .g-list li:last-child { border: none; } .g-list li::before { content: "✓ "; color: var(--green); font-weight: 700; } .va-block { background: var(--surface); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.2rem; margin-bottom: 1rem; } .va-head { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text3); margin-bottom: 0.7rem; } .va-row { display: flex; align-items: center; gap: 0.7rem; padding: 0.65rem 0; border-bottom: 1px solid var(--border2); cursor: pointer; text-decoration: none; } .va-row:last-child { border: none; } .va-row:hover .va-arr { color: var(--orange); } .va-ico { font-size: 1rem; flex-shrink: 0; } .va-body { flex: 1; min-width: 0; } .va-body strong { display: block; font-size: 0.82rem; color: var(--text); } .va-body span { font-size: 0.74rem; color: var(--text3); } .va-arr { color: var(--text3); font-size: 0.85rem; flex-shrink: 0; } /* BOUTONS */ .btn-main { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--orange); color: #fff; border: none; padding: 0.8rem 1.6rem; border-radius: var(--r); font-family: var(--ff-body); font-size: 0.95rem; font-weight: 700; cursor: pointer; transition: background 0.2s, transform 0.15s; text-decoration: none; } .btn-main:hover { background: var(--orange2); transform: translateY(-1px); color: #fff; } .btn-secondary { display: inline-flex; align-items: center; gap: 0.5rem; background: none; color: var(--orange); border: 1px solid var(--orange); padding: 0.7rem 1.4rem; border-radius: var(--r); font-family: var(--ff-body); font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: 0.2s; text-decoration: none; } .btn-secondary:hover { background: rgba(245, 98, 42, 0.1); } /* TABLEAU */ table { width: 100%; border-collapse: collapse; font-size: 0.85rem; margin: 1.2rem 0; } th { padding: 0.75rem 1rem; text-align: left; border: 1px solid var(--border); background: var(--surface2); } td { padding: 0.65rem 1rem; border: 1px solid var(--border); color: var(--text2); } .td-price { color: var(--orange); font-weight: 700; text-align: center; } /* FAQ */ .faq-wrap { margin-top: 1.5rem; } .faq-item { border-bottom: 1px solid var(--border); } .faq-btn { width: 100%; background: none; border: none; color: var(--text); text-align: left; padding: 1rem 0; cursor: pointer; font-family: var(--ff-body); font-size: 0.9rem; font-weight: 600; display: flex; justify-content: space-between; align-items: center; gap: 1rem; } .faq-ico { color: var(--orange); font-size: 0.8rem; flex-shrink: 0; transition: transform 0.2s; } .faq-item.open .faq-ico { transform: rotate(180deg); } .faq-body { display: none; font-size: 0.85rem; color: var(--text2); padding: 0.5rem 0 1rem; line-height: 1.7; } .faq-item.open .faq-body { display: block; } /* AVIS */ .avis-card { background: var(--surface); border-left: 3px solid var(--orange); border-radius: 0 var(--r) var(--r) 0; padding: 1.2rem 1.4rem; margin: 1.5rem 0; } .avis-card p { font-style: italic; color: var(--text2); margin-bottom: 0.6rem; text-align: left; } .avis-card .avis-sig { font-size: 0.78rem; color: var(--text3); } /* FOOTER */ footer { background: var(--bg2); border-top: 1px solid var(--border); padding: 3rem 1.5rem 1.5rem; margin-top: 4rem; } .footer-main { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; margin-bottom: 2rem; } @media (max-width: 768px) { .footer-main { grid-template-columns: 1fr 1fr; } } .fb-name { font-family: var(--ff-display); font-weight: 800; font-size: 1.1rem; margin-bottom: 0.5rem; } .fb-name span { color: var(--orange); } .fb-desc { font-size: 0.78rem; color: var(--text3); line-height: 1.7; } .fc h4 { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text3); margin-bottom: 0.8rem; } .fc ul { list-style: none; } .fc ul li { margin-bottom: 0.4rem; } .fc ul li a { font-size: 0.82rem; color: var(--text2); text-decoration: none; transition: color 0.2s; } .fc ul li a:hover { color: var(--orange); } .footer-bottom { max-width: 1200px; margin: 0 auto; padding-top: 1.5rem; border-top: 1px solid var(--border); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; font-size: 0.74rem; color: var(--text3); } @media (max-width: 768px) { .footer-bottom { flex-direction: column; } } /* TOAST SOCIAL PROOF */ .sp-toast { position: fixed; bottom: 1.5rem; left: 1.5rem; z-index: 8000; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--rl); padding: 0.9rem 1.1rem; display: flex; align-items: center; gap: 0.8rem; max-width: 280px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4); transform: translateX(-120%); transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); } .sp-toast.show { transform: translateX(0); } .sp-toast-ico { width: 36px; height: 36px; background: var(--orange); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; } .sp-toast-body strong { display: block; font-size: 0.82rem; color: var(--text); } .sp-toast-body span { font-size: 0.74rem; color: var(--text3); } /* RESPONSIVE */ @media (max-width: 768px) { .sp-top { padding: 2.5rem 1rem 2rem; } h1.page-h1 { font-size: 1.8rem; } .sp-body { padding: 2rem 1rem; grid-template-columns: 1fr; } .sp-side { position: static; } } /* ── SLIDER AVANT/APRES ── */ .slider-wrapper { max-width: 100%; width: 100%; padding: 0; } #slider-container { position: relative; width: 100%; aspect-ratio: 16/9; border-radius: var(--rl); overflow: hidden; border: none; user-select: none; } #after-layer { position: absolute; inset: 0; background: url('/uploads/accueil/apres.webp') center/cover no-repeat; background-color: #1A1A2E; } #before-layer { position: absolute; inset: 0; width: 50%; overflow: hidden; } #before-layer .before-img { position: absolute; inset: 0; height: 100%; background: url('/uploads/accueil/avant.webp') center/cover no-repeat; background-color: #D4C9B5; } .label { position: absolute; bottom: 12px; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; padding: 4px 10px; border-radius: 6px; } .label-avant { left: 14px; background: rgba(0, 0, 0, 0.25); color: white; } .label-apres { right: 14px; background: rgba(255, 255, 255, 0.2); color: white; } #divider { position: absolute; top: 0; left: 50%; height: 100%; width: 2px; background: white; transform: translateX(-50%); cursor: ew-resize; z-index: 10; } .handle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 42px; height: 42px; background: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } .hint { text-align: center; margin-top: 10px; font-size: 13px; color: var(--text3); } </style> </head> <body> <nav class="site-nav"> <a href="/" class="brand"> <img src="/uploads/logo.png" alt="confiance-toiture.fr Logo" style="height: 40px; width: auto;" /> </a> <div class="nav-links"> <!-- Dropdown Services --> <div class="nav-dropdown" id="dd-services"> <a href="#services" class="nav-dropdown-btn" aria-haspopup="true" aria-expanded="false"> Services <svg width="12" height="12" viewBox="0 0 12 12" fill="none"> <path d="M2 4L6 8L10 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /> </svg> </a> <div class="nav-dropdown-menu" role="menu"> <a href="/nettoyage-toiture" role="menuitem"><span class="dd-icon">🧹</span>Nettoyage de toiture</a> <a href="/demoussage-traitement" role="menuitem"><span class="dd-icon">🌿</span>Démoussage & Hydrofuge</a> <a href="/reparation-fuite" role="menuitem"><span class="dd-icon">🔧</span>Réparation de fuite</a> <a href="/entretien-gouttieres" role="menuitem"><span class="dd-icon">💧</span>Nettoyage gouttières</a> </div> </div> <!-- Dropdown Départements --> <div class="nav-dropdown" id="dd-depts"> <a href="#departements" class="nav-dropdown-btn" aria-haspopup="true" aria-expanded="false"> Départements <svg width="12" height="12" viewBox="0 0 12 12" fill="none"> <path d="M2 4L6 8L10 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /> </svg> </a> <div class="nav-dropdown-menu" role="menu"> <a href="/lot" role="menuitem"><span class="dd-icon">📍</span>Lot (46)</a> <a href="/lot-et-garonne" role="menuitem"><span class="dd-icon">📍</span>Lot-et-Garonne (47)</a> <a href="/tarn" role="menuitem"><span class="dd-icon">📍</span>Tarn (81)</a> <a href="/tarn-et-garonne" role="menuitem"><span class="dd-icon">📍</span>Tarn-et-Garonne (82)</a> </div> </div> <a href="/blog">Blog</a> <a href="/devis" class="nav-cta">Devis gratuit</a> </div> <button class="burger" id="burger" aria-label="Menu"> <span></span><span></span><span></span> </button> </nav> <div class="mnav" id="mnav"> <button class="burger-close" id="burger-close">✕</button> <a href="/" style="border-bottom: 1px solid var(--border); padding-bottom: 1rem;">Accueil</a> <!-- Accordéon Services --> <div class="mnav-group" id="m-services"> Services <svg width="14" height="14" viewBox="0 0 12 12" fill="none"> <path d="M2 4L6 8L10 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /> </svg> <div class="mnav-sub"> <a href="/nettoyage-toiture">🧹 Nettoyage de toiture</a> <a href="/demoussage-traitement">🌿 Démoussage & Hydrofuge</a> <a href="/reparation-fuite">🔧 Réparation de fuite</a> <a href="/entretien-gouttieres">💧 Nettoyage gouttières</a> </div> </div> <!-- Accordéon Départements --> <div class="mnav-group" id="m-depts"> Départements <svg width="14" height="14" viewBox="0 0 12 12" fill="none"> <path d="M2 4L6 8L10 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /> </svg> <div class="mnav-sub"> <a href="/lot">📍 Lot (46)</a> <a href="/lot-et-garonne">📍 Lot-et-Garonne (47)</a> <a href="/tarn">📍 Tarn (81)</a> <a href="/tarn-et-garonne">📍 Tarn-et-Garonne (82)</a> </div> </div> <a href="/blog" style="border-bottom: 1px solid var(--border); padding-bottom: 1rem;">Blog & Guides</a> <a href="/qui-sommes-nous" style="border-bottom: 1px solid var(--border); padding-bottom: 1rem;">Qui sommes-nous</a> <a href="/legal" style="border-bottom: 1px solid var(--border); padding-bottom: 1rem;">Mentions légales</a> <a href="/devis" class="m-cta">Devis gratuit</a> </div> <section style=" position: relative; overflow: hidden; background: var(--bg2); border-bottom: 1px solid var(--border); padding: 5rem 1.5rem 4rem; "> <div style=" position: absolute; top: -100px; left: 50%; transform: translateX(-50%); width: 600px; height: 600px; background: radial-gradient( circle, rgba(245, 98, 42, 0.15) 0%, transparent 70% ); pointer-events: none; "></div> <div style=" max-width: 1200px; margin: 0 auto; position: relative; display: flex; align-items: center; gap: 3rem; flex-wrap: wrap; "> <!-- Texte côté gauche --> <div style="flex: 1 1 400px; min-width: 280px;"> <span class="s-tag">Lot · Lot-et-Garonne · Tarn · Tarn-et-Garonne</span> <h1 style=" font-size: clamp(2rem, 5vw, 3.5rem); margin: 1rem 0; font-family: var(--ff-display); font-weight: 800; "> Votre Artisan Couvreur de Confiance dans <br /> <span style="color: var(--orange)">le Sud-Ouest</span> </h1> <p style=" font-size: 1.05rem; color: var(--text2); margin-bottom: 2rem; max-width: 560px; "> Trouvez rapidement un artisan couvreur certifié pour sécuriser votre habitat. Notre plateforme vous connecte aux meilleurs experts locaux dans le Lot, le Lot-et-Garonne, le Tarn et le Tarn-et-Garonne. Obtenez un devis gratuit sous 24h pour vos travaux de couverture, réparations urgentes et nettoyages de toiture. </p> <a href="/devis" class="btn-main" style="font-size: 1.05rem; padding: 0.9rem 2rem">Devis gratuit — 0€ acompte →</a> <div style=" display: flex; gap: 2rem; margin-top: 2rem; flex-wrap: wrap; font-size: 0.82rem; color: var(--text3); "> <span>⭐ Note 4,9/5 · 94 chantiers</span> <span>🛡️ Assurance décennale vérifiée</span> <span>⚡ Réponse sous 24h</span> </div> </div> <!-- Image côté droit --> <div style="flex: 1 1 380px; min-width: 280px;"> <img src="/uploads/accueil/accueil-0.webp" alt="Artisan couvreur confiance-toiture.fr" loading="eager" style=" width: 100%; height: 100%; max-height: 430px; object-fit: cover; border-radius: var(--rl); display: block; object-position: top; " /> </div> </div> </section> <div style=" background: rgba(255, 179, 199, 0.08); border-bottom: 1px solid rgba(255, 179, 199, 0.15); padding: 1rem 1.5rem; text-align: center; "> <p style="font-size: 0.88rem; color: rgba(255, 179, 199, 0.9)"> 💳 Paiement fractionné <strong>Klarna 3× à 12×</strong> disponible · La règle du 0€ acompte ne s'applique pas au paiement Klarna </p> </div> <div id="services" class="wrap" style="padding: 4rem 1.5rem"> <h2 style="text-align: center; font-size: 1.8rem; margin-bottom: 2.5rem"> Nos services </h2> <div style=" display: flex; flex-wrap: wrap; gap: 2rem; align-items: stretch; "> <div style=" flex: 1 1 300px; border-radius: var(--rl); overflow: hidden; display: flex; "> <img src="/uploads/accueil/accueil-2.webp" alt="Nos services toiture" loading="lazy" style="width: 100%; height: 100%; object-fit: cover; border-radius: var(--rl);" /> </div> <div style=" flex: 1 1 400px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; background: var(--border); border-radius: var(--rl); overflow: hidden; "> <a href="/nettoyage-toiture" style=" background: var(--bg2); padding: 2rem; text-decoration: none; transition: background 0.2s; display: flex; flex-direction: column; " onmouseover="this.style.background = 'var(--surface)'" onmouseout="this.style.background = 'var(--bg2)'"> <div style=" font-size: 0.75rem; color: var(--orange); font-weight: 700; letter-spacing: 0.06em; margin-bottom: 0.3rem; "> 01 </div> <h3 style="color: var(--text); margin-bottom: 0.6rem"> Nettoyage de toiture </h3> <p style="font-size: 0.82rem; color: var(--text2); flex: 1"> Élimination des mousses, lichens et algues. Lavage haute pression maîtrisé — tuiles, ardoises, bac acier. </p> <span style="color: var(--orange); font-size: 0.82rem; margin-top: 0.8rem">11–20 €/m² →</span> </a> <a href="/demoussage-traitement" style=" background: var(--bg2); padding: 2rem; text-decoration: none; transition: background 0.2s; display: flex; flex-direction: column; " onmouseover="this.style.background = 'var(--surface)'" onmouseout="this.style.background = 'var(--bg2)'"> <div style=" font-size: 0.75rem; color: var(--orange); font-weight: 700; letter-spacing: 0.06em; margin-bottom: 0.3rem; "> 02 </div> <h3 style="color: var(--text); margin-bottom: 0.6rem"> Démoussage & Hydrofuge </h3> <p style="font-size: 0.82rem; color: var(--text2); flex: 1"> Traitement curatif biocide + hydrofuge filmogène. Protection de la toiture pendant 5 à 10 ans. </p> <span style="color: var(--orange); font-size: 0.82rem; margin-top: 0.8rem">15–25 €/m² →</span> </a> <a href="/reparation-fuite" style=" background: var(--bg2); padding: 2rem; text-decoration: none; transition: background 0.2s; display: flex; flex-direction: column; " onmouseover="this.style.background = 'var(--surface)'" onmouseout="this.style.background = 'var(--bg2)'"> <div style=" font-size: 0.75rem; color: var(--orange); font-weight: 700; letter-spacing: 0.06em; margin-bottom: 0.3rem; "> 03 </div> <h3 style="color: var(--text); margin-bottom: 0.6rem"> Réparation fuite </h3> <p style="font-size: 0.82rem; color: var(--text2); flex: 1"> Diagnostic précis, reprise du faîtage, solins, tuiles cassées. Intervention urgence sous 48h. Garantie décennale. </p> <span style="color: var(--orange); font-size: 0.82rem; margin-top: 0.8rem">150–800 € →</span> </a> <a href="/entretien-gouttieres" style=" background: var(--bg2); padding: 2rem; text-decoration: none; transition: background 0.2s; display: flex; flex-direction: column; " onmouseover="this.style.background = 'var(--surface)'" onmouseout="this.style.background = 'var(--bg2)'"> <div style=" font-size: 0.75rem; color: var(--orange); font-weight: 700; letter-spacing: 0.06em; margin-bottom: 0.3rem; "> 04 </div> <h3 style="color: var(--text); margin-bottom: 0.6rem"> Nettoyage gouttières </h3> <p style="font-size: 0.82rem; color: var(--text2); flex: 1"> Débouchage complet, vérification des pentes et descentes pluviales. Prévient les dégâts d'eau. </p> <span style="color: var(--orange); font-size: 0.82rem; margin-top: 0.8rem">80–250 € →</span> </a> </div> </div> </div> <div style=" background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 3rem 1.5rem; "> <div class="wrap"> <h2 style="text-align: center; font-size: 1.8rem; margin-bottom: 0.8rem"> Pourquoi choisir confiance-toiture.fr ? </h2> <p style="text-align: center; color: var(--text2); margin-bottom: 2.5rem"> Notre engagement : des artisans sérieux, des prix clairs, zéro acompte avant les travaux. </p> <div style=" display: flex; flex-wrap: wrap; gap: 2rem; align-items: stretch; "> <div style=" flex: 1 1 400px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.2rem; "> <div style=" background: var(--bg2); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.4rem; "> <div style="font-size: 1.5rem; margin-bottom: 0.6rem">🛡️</div> <strong style="display: block; margin-bottom: 0.4rem">Assurance décennale systématique</strong> <p style="font-size: 0.78rem; color: var(--text3)"> Attestation vérifiée avant intégration. Vos travaux garantis 10 ans. </p> </div> <div style=" background: var(--bg2); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.4rem; "> <div style="font-size: 1.5rem; margin-bottom: 0.6rem">💶</div> <strong style="display: block; margin-bottom: 0.4rem">0€ acompte <2 000€ TTC</strong> <p style="font-size: 0.78rem; color: var(--text3)"> Paiement comptant uniquement. Vous payez après validation du résultat. </p> </div> <div style=" background: var(--bg2); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.4rem; "> <div style="font-size: 1.5rem; margin-bottom: 0.6rem">⭐</div> <strong style="display: block; margin-bottom: 0.4rem">Note 4,9/5 sur 94 chantiers</strong> <p style="font-size: 0.78rem; color: var(--text3)"> Retour client systématique. Un artisan sous 4,5/5 est retiré du réseau. </p> </div> <div style=" background: var(--bg2); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.4rem; "> <div style="font-size: 1.5rem; margin-bottom: 0.6rem">📍</div> <strong style="display: block; margin-bottom: 0.4rem">Artisans locaux vérifiés</strong> <p style="font-size: 0.78rem; color: var(--text3)"> Connaissance du terrain, réactivité 24h, expertise des matériaux locaux. </p> </div> </div> <div style=" flex: 1 1 300px; border-radius: var(--rl); overflow: hidden; display: flex; "> <img src="/uploads/accueil/accueil-1.webp" alt="Accueil confiance toiture" loading="lazy" style="width: 100%; height: 100%; object-fit: cover; border-radius: var(--rl);" /> </div> </div> </div> </div> <div class="wrap" style="padding: 4rem 1.5rem"> <div class="slider-wrapper" style="margin-bottom: 3rem;"> <div id="slider-container"> <!-- Couche APRÈS --> <div id="after-layer"> <span class="label label-apres">APRÈS</span> </div> <!-- Couche AVANT --> <div id="before-layer"> <div class="before-img" id="before-img"> <span class="label label-avant">AVANT</span> </div> </div> <!-- Séparateur --> <div id="divider"> <div class="handle"> <svg width="20" height="20" viewBox="0 0 20 20" fill="none"> <path d="M6 10L1 10M1 10L4.5 6.5M1 10L4.5 13.5" stroke="#555" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /> <path d="M14 10L19 10M19 10L15.5 6.5M19 10L15.5 13.5" stroke="#555" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /> </svg> </div> </div> </div> <p class="hint">Faites glisser le curseur pour comparer</p> </div> <h2 id="departements" style="text-align: center; margin-bottom: 2rem"> Nos zones d'intervention </h2> <div style=" display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; "> <a href="/lot" style=" background: var(--surface); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.5rem; text-decoration: none; " onmouseover="this.style.borderColor = 'var(--orange)'" onmouseout="this.style.borderColor = 'var(--border)'"> <div style="font-size: 1.8rem; font-weight: 800; color: var(--orange)"> 46 </div> <h3 style="color: var(--text); margin-bottom: 0.3rem">Lot</h3> <p style="font-size: 0.78rem; color: var(--text3)"> Cahors, Figeac, Gourdon, Souillac et environs </p> </a> <a href="/lot-et-garonne" style=" background: var(--surface); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.5rem; text-decoration: none; " onmouseover="this.style.borderColor = 'var(--orange)'" onmouseout="this.style.borderColor = 'var(--border)'"> <div style="font-size: 1.8rem; font-weight: 800; color: var(--orange)"> 47 </div> <h3 style="color: var(--text); margin-bottom: 0.3rem"> Lot-et-Garonne </h3> <p style="font-size: 0.78rem; color: var(--text3)"> Agen, Villeneuve-sur-Lot, Marmande et environs </p> </a> <a href="/tarn" style=" background: var(--surface); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.5rem; text-decoration: none; " onmouseover="this.style.borderColor = 'var(--orange)'" onmouseout="this.style.borderColor = 'var(--border)'"> <div style="font-size: 1.8rem; font-weight: 800; color: var(--orange)"> 81 </div> <h3 style="color: var(--text); margin-bottom: 0.3rem">Tarn</h3> <p style="font-size: 0.78rem; color: var(--text3)"> Albi, Castres, Gaillac, Mazamet et environs </p> </a> <a href="/tarn-et-garonne" style=" background: var(--surface); border: 1px solid var(--border); border-radius: var(--rl); padding: 1.5rem; text-decoration: none; " onmouseover="this.style.borderColor = 'var(--orange)'" onmouseout="this.style.borderColor = 'var(--border)'"> <div style="font-size: 1.8rem; font-weight: 800; color: var(--orange)"> 82 </div> <h3 style="color: var(--text); margin-bottom: 0.3rem"> Tarn-et-Garonne </h3> <p style="font-size: 0.78rem; color: var(--text3)"> Montauban, Castelsarrasin, Moissac et environs </p> </a> </div> <div style="text-align: center; margin-top: 3rem"> <a href="/devis" class="btn-main" style="font-size: 1rem; padding: 0.9rem 2.2rem">Devis gratuit — 0€ acompte →</a> <p style="font-size: 0.75rem; color: var(--text3); margin-top: 0.8rem;"> Sans engagement · RGPD · Données non revendues </p> </div> </div> <footer> <div class="footer-main"> <div> <img src="/uploads/logo.png" alt="confiance-toiture.fr Logo" style="height: 45px; width: auto; margin-bottom: 0.5rem; display: block;" /> <p class="fb-desc"> Artisans couvreurs vérifiés · Lot · Lot-et-Garonne · Tarn · Tarn-et-Garonne<br />0€ d'acompte <2 000€ · Klarna 3×–12× </p> </div> <div class="fc"> <h4>Services</h4> <ul> <li><a href="/nettoyage-toiture">Nettoyage toiture</a></li> <li><a href="/demoussage-traitement">Démoussage / Hydrofuge</a></li> <li><a href="/reparation-fuite">Réparation fuite</a></li> <li><a href="/entretien-gouttieres">Gouttières</a></li> </ul> </div> <div class="fc"> <h4>Départements</h4> <ul> <li><a href="/lot">Lot (46)</a></li> <li><a href="/lot-et-garonne">Lot-et-Garonne (47)</a></li> <li><a href="/tarn">Tarn (81)</a></li> <li><a href="/tarn-et-garonne">Tarn-et-Garonne (82)</a></li> </ul> </div> <div class="fc"> <h4>Informations</h4> <ul> <li><a href="/blog">Blog & Guides</a></li> <li><a href="/qui-sommes-nous">Qui sommes-nous</a></li> <li><a href="/legal">Mentions légales</a></li> </ul> </div> </div> <div class="footer-bottom"> <span>© 2026 confiance-toiture.fr</span> <span>Lot (46) · Lot-et-Garonne (47) · Tarn (81) · Tarn-et-Garonne (82)</span> </div> </footer> <div class="sp-toast" id="sp-toast"> <div class="sp-toast-ico">👤</div> <div class="sp-toast-body"> <strong id="sp-n"></strong><span id="sp-a"></span> </div> </div> <script> document .getElementById("burger") .addEventListener("click", () => document.getElementById("mnav").classList.toggle("open"), ); document .getElementById("burger-close") .addEventListener("click", () => document.getElementById("mnav").classList.remove("open"), ); document.querySelectorAll(".faq-btn").forEach((b) => b.addEventListener("click", () => { const it = b.closest(".faq-item"), was = it.classList.contains("open"); document .querySelectorAll(".faq-item.open") .forEach((i) => i.classList.remove("open")); if (!was) it.classList.add("open"); }), ); // Accordéons Menu Mobile document.querySelectorAll(".mnav-group-btn").forEach((b) => b.addEventListener("click", (e) => { // Sur l'accueil, si on clique sur le lien d'ancre, on ferme le menu if (b.tagName === "A" && b.getAttribute("href").startsWith("#")) { document.getElementById("mnav").classList.remove("open"); } const it = b.closest(".mnav-group"); it.classList.toggle("open"); }), ); (function () { const T = [ ["Michel (Cahors)", "a demandé un devis nettoyage"], ["Sylvie (Agen)", "a demandé un devis démoussage"], ["Patrick (Albi)", "a demandé un devis urgent"], ["Christine (Montauban)", "a reçu 3 devis"], ["Jean-Pierre (Figeac)", "a demandé un hydrofuge"], ["Marie (Castres)", "a comparé 3 artisans"], ["Robert (Villeneuve)", "a demandé gouttières"], ["Isabelle (Gaillac)", "a demandé réparation"], ]; let i = 0; function show() { const t = T[i % T.length]; i++; const el = document.getElementById("sp-toast"); if (!el) return; document.getElementById("sp-n").textContent = t[0]; document.getElementById("sp-a").textContent = t[1]; el.classList.add("show"); setTimeout(() => el.classList.remove("show"), 4000); } setTimeout(() => { show(); setInterval(show, 22000); }, 10000); })(); // Slider Avant/Apres const sliderContainer = document.getElementById('slider-container'); const beforeLayer = document.getElementById('before-layer'); const dividerEl = document.getElementById('divider'); const beforeImgEl = document.getElementById('before-img'); let isSliderDragging = false; if (sliderContainer && beforeLayer && dividerEl && beforeImgEl) { function setSliderPosition(x) { const rect = sliderContainer.getBoundingClientRect(); let pct = (x - rect.left) / rect.width; pct = Math.max(0.02, Math.min(0.98, pct)); beforeLayer.style.width = (pct * 100) + '%'; dividerEl.style.left = (pct * 100) + '%'; } function updateSliderImgWidth() { beforeImgEl.style.width = sliderContainer.getBoundingClientRect().width + 'px'; } dividerEl.addEventListener('mousedown', e => { isSliderDragging = true; e.preventDefault(); }); document.addEventListener('mouseup', () => { isSliderDragging = false; }); document.addEventListener('mousemove', e => { if (isSliderDragging) setSliderPosition(e.clientX); }); dividerEl.addEventListener('touchstart', e => { isSliderDragging = true; e.preventDefault(); }, { passive: false }); document.addEventListener('touchend', () => { isSliderDragging = false; }); document.addEventListener('touchmove', e => { if (isSliderDragging) setSliderPosition(e.touches[0].clientX); }, { passive: true }); window.addEventListener('resize', updateSliderImgWidth); setTimeout(updateSliderImgWidth, 100); } </script> </body> </html>