spb/lou-ka Public
Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 99.7%
1<!DOCTYPE html><html lang="fr"> <head><!-- GTM + Google Ads — chargés uniquement sur le domaine de prod (anti-pollution staging/preview/local) --><script>2 window.dataLayer = window.dataLayer || [];3 function gtag(){dataLayer.push(arguments);}4 (function () {5 // Consentement D68 (opt-out, chat-gi Phase 1) : un refus explicite stocké coupe les tags6 // Google pour ce navigateur — effet au chargement de page. Source : lib/consent-client.ts.7 try {8 var consent = JSON.parse(localStorage.getItem('locator:consent:v1') || 'null');9 if (consent && consent.choice === 'refused') return;10 } catch (e) { /* storage bloqué : comportement par défaut (opt-out) */ }11 var h = location.hostname;12 if (h !== 'locationdi.com' && !h.endsWith('.locationdi.com')) return;13 // Google Tag Manager14 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':15 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],16 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=17 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);18 })(window,document,'script','dataLayer','GTM-N23V72B2');19 // Google Ads (gtag.js) — suivi de conversion20 var ad=document.createElement('script');ad.async=true;21 ad.src='https://www.googletagmanager.com/gtag/js?id=AW-18179616586';22 document.head.appendChild(ad);23 gtag('js', new Date());24 gtag('config', 'AW-18179616586');25 })();26 </script><!-- End GTM + Google Ads --><meta charset="utf-8"><link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="shortcut icon" href="/favicon.ico"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Location DI"><link rel="manifest" href="/site.webmanifest"><meta name="theme-color" content="#2F5D2E"><link rel="canonical" href="https://locationdi.com/logements"><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"><meta name="description" content="Logements à louer dans Lanaudière (Saint-Charles-Borromée, Lavaltrie, Saint-Ambroise-de-Kildare, Saint-Gabriel-de-Brandon, Saint-Félix-de-Valois, Berthierville) et Mauricie (Trois-Rivières, Bécancour). Filtres par ville, type (3½, 4½, 5½), disponibilité et carte. Gestionnaire immobilier Location DI."><title>Appartements et Logements à Louer | Lanaudière et Mauricie | Location DI</title><meta property="og:type" content="website"><meta property="og:url" content="https://locationdi.com/logements"><meta property="og:title" content="Appartements et Logements à Louer | Lanaudière et Mauricie | Location DI"><meta property="og:description" content="Logements à louer dans Lanaudière (Saint-Charles-Borromée, Lavaltrie, Saint-Ambroise-de-Kildare, Saint-Gabriel-de-Brandon, Saint-Félix-de-Valois, Berthierville) et Mauricie (Trois-Rivières, Bécancour). Filtres par ville, type (3½, 4½, 5½), disponibilité et carte. Gestionnaire immobilier Location DI."><meta property="og:image" content="https://locationdi.com/og-image.jpg"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Location DI — Gestionnaire d'immeubles au Québec. Bien logé. Bien accompagné."><meta property="og:locale" content="fr_CA"><meta property="og:site_name" content="Location DI"><meta property="fb:app_id" content="966242223397117"><!-- Verification de propriete du domaine locationdi.com (Meta Business Suite > Brand safety > Domaines) --><meta name="facebook-domain-verification" content="v1ucjmyd65qg1q7ehlgt2zu4gi4ocj"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://locationdi.com/logements"><meta name="twitter:title" content="Appartements et Logements à Louer | Lanaudière et Mauricie | Location DI"><meta name="twitter:description" content="Logements à louer dans Lanaudière (Saint-Charles-Borromée, Lavaltrie, Saint-Ambroise-de-Kildare, Saint-Gabriel-de-Brandon, Saint-Félix-de-Valois, Berthierville) et Mauricie (Trois-Rivières, Bécancour). Filtres par ville, type (3½, 4½, 5½), disponibilité et carte. Gestionnaire immobilier Location DI."><meta name="twitter:image" content="https://locationdi.com/og-image.jpg"><meta name="twitter:image:alt" content="Location DI — Gestionnaire d'immeubles au Québec. Bien logé. Bien accompagné."><script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script><link rel="stylesheet" href="/_astro/Layout.Bk6kjvn7.css">27<style>#grille>.logement-card>a.logement-card{height:100%}28</style></head> <body class="min-h-screen bg-cream font-sans text-warm-900 antialiased"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N23V72B2" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="sticky top-0 z-50"> <aside id="site-promo" data-dismiss-key="promo-dismissed:mois-gratuit-ete-2026+electros-75-2026" class="relative overflow-hidden bg-gradient-to-r from-accent-800 via-accent-700 to-accent-800 text-white" aria-label="Promotions en cours"><div class="absolute inset-x-0 bottom-0 h-px bg-white/15" aria-hidden="true"></div><div class="mx-auto flex max-w-[1800px] items-center gap-x-4 px-4 py-2.5 sm:px-8"><div class="relative min-w-0 flex-1"><div data-promo-slide class="flex w-full items-center gap-x-4 transition-opacity duration-500 motion-reduce:transition-none"><p class="flex min-w-0 flex-1 items-center justify-center gap-3 sm:justify-start"><span class="hidden shrink-0 items-center rounded-full border border-white/25 bg-white/10 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-[0.18em] text-white/90 sm:inline-flex">29Offre30</span><span class="min-w-0 truncate"><strong class="font-serif text-[15px] font-semibold tracking-tight">1 mois gratuit</strong><span class="text-sm text-white/70"> · jusqu'au 21 septembre 2026</span></span></p><button type="button" data-promo-cta class="group shrink-0 inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-1.5 text-xs font-semibold text-accent-800 shadow-sm transition hover:bg-cream">J'en profite<svg class="h-3.5 w-3.5 transition-transform duration-200 group-hover:translate-x-0.5" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M13 7l5 5-5 5M6 12h12"></path></svg></button></div><div data-promo-slide class="flex w-full items-center gap-x-4 transition-opacity duration-500 motion-reduce:transition-none pointer-events-none absolute inset-0 opacity-0" aria-hidden="true" inert><p class="flex min-w-0 flex-1 items-center justify-center gap-3 sm:justify-start"><span class="hidden shrink-0 items-center rounded-full border border-white/25 bg-white/10 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-[0.18em] text-white/90 sm:inline-flex">31Offre32</span><span class="min-w-0 truncate"><strong class="font-serif text-[15px] font-semibold tracking-tight">5 électroménagers à 100$/mois</strong><span class="text-sm text-white/70"> · jusqu'au 1er décembre 2026</span></span></p><button type="button" data-promo-cta class="group shrink-0 inline-flex items-center gap-1.5 rounded-full bg-white px-4 py-1.5 text-xs font-semibold text-accent-800 shadow-sm transition hover:bg-cream">J'en profite<svg class="h-3.5 w-3.5 transition-transform duration-200 group-hover:translate-x-0.5" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M13 7l5 5-5 5M6 12h12"></path></svg></button></div></div><button type="button" id="site-promo-dismiss" class="shrink-0 rounded-full p-1 text-white/70 transition hover:bg-white/15 hover:text-white" aria-label="Fermer les promotions"><svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg></button></div></aside><script type="module">const e=document.getElementById("site-promo");if(e){const r=e.dataset.dismissKey||"promo-dismissed";if(sessionStorage.getItem(r))e.remove();else{document.getElementById("site-promo-dismiss")?.addEventListener("click",()=>{sessionStorage.setItem(r,"1"),e.remove()}),e.addEventListener("click",s=>{s.target.closest("[data-promo-cta]")&&window.dispatchEvent(new CustomEvent("open-chat"))});const t=Array.from(e.querySelectorAll("[data-promo-slide]"));if(t.length>1){const s=["pointer-events-none","absolute","inset-0","opacity-0"];let i=0;setInterval(()=>{const o=t[i];i=(i+1)%t.length;const n=t[i];o.classList.add(...s),o.setAttribute("aria-hidden","true"),o.setAttribute("inert",""),n.classList.remove(...s),n.removeAttribute("aria-hidden"),n.removeAttribute("inert")},7e3)}}}</script> <header id="site-header" class="border-b border-warm-200/60 bg-cream/95 backdrop-blur-sm transition-shadow"> <nav class="mx-auto flex max-w-[1800px] items-center gap-4 px-4 py-4 sm:gap-8 sm:px-8"> <!-- Logo à gauche --> <a href="/" class="shrink-0" aria-label="Location DI - logements à louer"> <img src="/logo-location-di.png" alt="Location DI - logements à louer" class="block h-auto w-44 max-w-full lg:w-52"> </a> <!-- Nav links centrés dans l'espace disponible --> <div class="hidden flex-1 items-center justify-center gap-14 md:flex"> <a href="/" class="text-xl transition-colors border-b-2 pb-1 pt-[6px] font-medium text-warm-600 border-transparent hover:text-accent-600"> Accueil </a><div class="group relative"> <a href="/logements" class="inline-flex items-center gap-1 text-xl transition-colors border-b-2 pb-1 pt-[6px] font-semibold text-warm-900 border-accent-500">33Logements34<svg class="h-4 w-4 transition-transform group-hover:rotate-180" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </a> <!-- Méga-menu (CSS hover ; le pt-4 garde le survol continu entre le lien et le panneau) --> <div class="invisible absolute left-1/2 top-full z-50 -translate-x-1/2 pt-4 opacity-0 transition-all duration-150 group-hover:visible group-hover:opacity-100"> <div class="w-[min(92vw,720px)] rounded-2xl border border-warm-200 bg-white p-6 shadow-xl shadow-warm-300/40"> <a href="/logements" class="inline-flex items-center gap-1 text-sm font-semibold text-accent-700 transition hover:text-accent-800">35Voir tous les logements36<svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3"></path></svg> </a> <div class="mt-4 grid grid-cols-3 gap-6 border-t border-warm-100 pt-4"> <div> <a href="/logements/region/lanaudiere" class="block text-sm font-semibold text-warm-900 transition hover:text-accent-600">Lanaudière</a> <ul class="mt-2 space-y-1.5"> <li> <a href="/logements/region/lanaudiere/berthierville" class="block text-sm text-warm-600 transition hover:text-accent-600">Berthierville</a> </li><li> <a href="/logements/region/lanaudiere/saint-ambroise-de-kildare" class="block text-sm text-warm-600 transition hover:text-accent-600">Saint-Ambroise-de-Kildare</a> </li><li> <a href="/logements/region/lanaudiere/saint-charles-borromee" class="block text-sm text-warm-600 transition hover:text-accent-600">Saint-Charles-Borromée</a> </li><li> <a href="/logements/region/lanaudiere/saint-felix-de-valois" class="block text-sm text-warm-600 transition hover:text-accent-600">Saint-Félix-de-Valois</a> </li><li> <a href="/logements/region/lanaudiere/saint-gabriel-de-brandon" class="block text-sm text-warm-600 transition hover:text-accent-600">Saint-Gabriel-de-Brandon</a> </li><li class="js-ville-extra hidden"> <a href="/logements/region/lanaudiere/saint-jean-de-matha" class="block text-sm text-warm-600 transition hover:text-accent-600">Saint-Jean-de-Matha</a> </li><li class="js-ville-extra hidden"> <a href="/logements/region/lanaudiere/sainte-elisabeth" class="block text-sm text-warm-600 transition hover:text-accent-600">Sainte-Élisabeth</a> </li> <li> <button type="button" class="js-villes-toggle inline-flex items-center gap-1 text-sm font-medium text-accent-700 transition hover:text-accent-800" aria-expanded="false" data-count="2"> <span class="js-villes-toggle-label">+ 2 autres</span> <svg class="js-villes-toggle-chevron h-3.5 w-3.5 transition-transform" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path></svg> </button> </li> </ul> </div><div> <a href="/logements/region/laurentides" class="block text-sm font-semibold text-warm-900 transition hover:text-accent-600">Laurentides</a> <ul class="mt-2 space-y-1.5"> <li> <a href="/logements/region/laurentides/lachute" class="block text-sm text-warm-600 transition hover:text-accent-600">Lachute</a> </li> </ul> </div><div> <a href="/logements/region/mauricie" class="block text-sm font-semibold text-warm-900 transition hover:text-accent-600">Mauricie</a> <ul class="mt-2 space-y-1.5"> <li> <a href="/logements/region/mauricie/becancour" class="block text-sm text-warm-600 transition hover:text-accent-600">Bécancour</a> </li><li> <a href="/logements/region/mauricie/trois-rivieres" class="block text-sm text-warm-600 transition hover:text-accent-600">Trois-Rivières</a> </li> </ul> </div><div> <a href="/logements/region/montreal" class="block text-sm font-semibold text-warm-900 transition hover:text-accent-600">Montréal</a> <ul class="mt-2 space-y-1.5"> </ul> </div> </div> </div> </div> </div><a href="/notre-entreprise" class="text-xl transition-colors border-b-2 pb-1 pt-[6px] font-medium text-warm-600 border-transparent hover:text-accent-600"> Notre entreprise </a><a href="/contact" class="text-xl transition-colors border-b-2 pb-1 pt-[6px] font-medium text-warm-600 border-transparent hover:text-accent-600"> Contact </a> </div> <!-- CTA à droite --> <div class="hidden shrink-0 items-end gap-4 md:flex"> <a href="/logements" class="rounded-xl bg-accent-500 px-6 py-3 text-base font-semibold text-white shadow-sm transition hover:bg-accent-400 hover:shadow-md hover:-translate-y-0.5">37Trouve ton logement ici38</a> <a href="/contact?mode=proprietaire" class="text-sm text-warm-500 transition-colors hover:text-warm-700">39Propriétaires?40</a> </div> <button id="mobile-menu-btn-e" class="flex h-11 w-11 items-center justify-center rounded-lg text-warm-700 transition hover:bg-warm-100 md:hidden" aria-label="Menu" aria-expanded="false"> <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16"></path> </svg> </button> </nav> <div id="mobile-menu-e" class="hidden border-t border-warm-200/60 bg-cream px-4 pb-4 md:hidden"> <a href="/" class="block py-3 text-sm font-medium transition-colors hover:text-accent-600 text-warm-600"> Accueil </a><div class="border-b border-warm-200/60"> <button id="mobile-logements-toggle" class="flex w-full items-center justify-between py-3 text-sm font-medium text-warm-600 transition hover:text-accent-600" aria-expanded="false" aria-controls="mobile-logements-sub">41Logements42<svg id="mobile-logements-chevron" class="h-4 w-4 transition-transform" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path> </svg> </button> <div id="mobile-logements-sub" class="hidden pb-2"> <a href="/logements" class="block py-2 text-sm font-semibold text-accent-700">Voir tous les logements</a> <div class="mt-1"> <a href="/logements/region/lanaudiere" class="block py-1.5 text-sm font-semibold text-warm-800 hover:text-accent-600">Lanaudière</a> <a href="/logements/region/lanaudiere/berthierville" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Berthierville</a><a href="/logements/region/lanaudiere/saint-ambroise-de-kildare" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Saint-Ambroise-de-Kildare</a><a href="/logements/region/lanaudiere/saint-charles-borromee" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Saint-Charles-Borromée</a><a href="/logements/region/lanaudiere/saint-felix-de-valois" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Saint-Félix-de-Valois</a><a href="/logements/region/lanaudiere/saint-gabriel-de-brandon" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Saint-Gabriel-de-Brandon</a><a href="/logements/region/lanaudiere/saint-jean-de-matha" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Saint-Jean-de-Matha</a><a href="/logements/region/lanaudiere/sainte-elisabeth" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Sainte-Élisabeth</a> </div><div class="mt-1"> <a href="/logements/region/laurentides" class="block py-1.5 text-sm font-semibold text-warm-800 hover:text-accent-600">Laurentides</a> <a href="/logements/region/laurentides/lachute" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Lachute</a> </div><div class="mt-1"> <a href="/logements/region/mauricie" class="block py-1.5 text-sm font-semibold text-warm-800 hover:text-accent-600">Mauricie</a> <a href="/logements/region/mauricie/becancour" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Bécancour</a><a href="/logements/region/mauricie/trois-rivieres" class="block py-1 pl-3 text-sm text-warm-500 hover:text-accent-600">Trois-Rivières</a> </div><div class="mt-1"> <a href="/logements/region/montreal" class="block py-1.5 text-sm font-semibold text-warm-800 hover:text-accent-600">Montréal</a> </div> </div> </div><a href="/notre-entreprise" class="block py-3 text-sm font-medium transition-colors hover:text-accent-600 text-warm-600"> Notre entreprise </a><a href="/contact" class="block py-3 text-sm font-medium transition-colors hover:text-accent-600 text-warm-600"> Contact </a> <div class="mt-3 flex flex-col gap-3 border-t border-warm-200 pt-4"> <a href="/contact?mode=proprietaire" class="text-sm text-warm-500 transition-colors hover:text-warm-700">43Propriétaires?44</a> <a href="/logements" class="rounded-xl bg-accent-500 px-5 py-3 text-center text-sm font-semibold text-white shadow-sm transition hover:bg-accent-400 hover:shadow-md">45Trouve ton logement ici46</a> </div> </div> </header> <script type="module">const s=document.getElementById("mobile-menu-btn-e"),n=document.getElementById("mobile-menu-e");s&&n&&s.addEventListener("click",()=>{const e=!n.classList.contains("hidden");n.classList.toggle("hidden"),s.setAttribute("aria-expanded",String(!e))});const l=document.getElementById("mobile-logements-toggle"),o=document.getElementById("mobile-logements-sub"),a=document.getElementById("mobile-logements-chevron");l&&o&&l.addEventListener("click",()=>{const e=!o.classList.contains("hidden");o.classList.toggle("hidden"),l.setAttribute("aria-expanded",String(!e)),a?.classList.toggle("rotate-180",!e)});const i=document.getElementById("site-header");if(i){const e=()=>{window.scrollY>4?i.classList.add("is-scrolled"):i.classList.remove("is-scrolled")};window.addEventListener("scroll",e,{passive:!0}),e()}document.querySelectorAll(".js-villes-toggle").forEach(e=>{e.addEventListener("click",()=>{const c=e.closest("ul");if(!c)return;const t=e.getAttribute("aria-expanded")==="true";c.querySelectorAll(".js-ville-extra").forEach(r=>r.classList.toggle("hidden",t)),e.setAttribute("aria-expanded",String(!t));const d=e.querySelector(".js-villes-toggle-label");d&&(d.textContent=t?`+ ${e.getAttribute("data-count")} autres`:"voir moins"),e.querySelector(".js-villes-toggle-chevron")?.classList.toggle("rotate-180",!t)})});</script> </div> <main class="pb-16 md:pb-0"> <section class="relative h-[380px] overflow-hidden sm:h-[420px]"> <img src="/images/hero-3d-2000.webp" srcset="/images/hero-3d-640.webp 640w, /images/hero-3d-1280.webp 1280w, /images/hero-3d-2000.webp 2000w" sizes="100vw" alt="" class="absolute inset-0 h-full w-full object-cover" loading="eager"> <div class="absolute inset-0 bg-gradient-to-b from-warm-900/60 via-warm-900/50 to-[#F7F5F2]"></div> <div class="relative z-10 mx-auto flex h-full max-w-7xl flex-col justify-end px-4 pb-28 sm:px-6"> <h1 class="text-3xl font-bold tracking-tight text-white sm:text-4xl [text-shadow:0_2px_12px_rgba(0,0,0,0.5)]">Logements à louer</h1> <p class="mt-3 max-w-2xl text-warm-200 [text-shadow:0_2px_12px_rgba(0,0,0,0.5)]">47Filtrez par région, par ville ou par étage, puis repérez les logements sur la carte.48</p> </div> </section> <section class="relative z-20 mx-auto -mt-16 max-w-7xl px-4 sm:px-6"> <div class="rounded-2xl bg-white/85 px-5 py-4 shadow-md shadow-warm-200/30 backdrop-blur-xl"> <div class="flex items-center justify-between gap-3"> <span class="inline-flex shrink-0 items-center gap-1.5 text-sm font-semibold text-warm-500"> <svg class="h-5 w-5 text-warm-400" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M2.628 1.601C5.028 1.206 7.49 1 10 1s4.973.206 7.372.601a.75.75 0 01.628.74v2.288a2.25 2.25 0 01-.659 1.59l-4.682 4.683a2.25 2.25 0 00-.659 1.59v3.037c0 .684-.31 1.33-.844 1.757l-1.937 1.55A.75.75 0 018 18.25v-5.757a2.25 2.25 0 00-.659-1.591L2.659 6.22A2.25 2.25 0 012 4.629V2.34a.75.75 0 01.628-.74z" clip-rule="evenodd"></path></svg>49Filtrer50</span> <button id="filtre-reset" type="button" class="hidden shrink-0 rounded-xl px-3 py-1.5 text-sm font-semibold text-warm-500 transition hover:text-accent-600">51✕ Réinitialiser52</button> </div> <!-- Champs avec mini-labels. Selects à texte long = flex-1 (remplissent la largeur) ;53 Villes/Prix (libellé court) = largeur fixe réduite pour ne pas paraître « gros ». IDs préservés. --> <div class="mt-3 flex flex-wrap items-end gap-3"> <label class="flex min-w-[150px] flex-1 flex-col gap-1"> <span class="text-[11px] font-semibold uppercase tracking-wide text-warm-500">Région</span> <select id="filtre-region" class="h-[42px] w-full rounded-xl border border-warm-200 bg-white px-4 text-sm text-warm-600"> <option value="">Toutes les régions</option> <option value="Lanaudière">Lanaudière</option><option value="Laurentides">Laurentides</option><option value="Mauricie">Mauricie</option><option value="Montréal">Montréal</option> </select> </label> <label class="flex min-w-[160px] flex-1 flex-col gap-1"> <span class="text-[11px] font-semibold uppercase tracking-wide text-warm-500">Villes</span> <details id="filtre-villes-details" class="relative h-[42px] w-full rounded-xl border border-warm-200 bg-white"> <summary class="flex h-full cursor-pointer list-none items-center justify-between gap-2 px-4 text-sm text-warm-600"> <span>Villes</span> <svg class="h-4 w-4 text-warm-400 transition-transform [[open]>&]:rotate-180" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z" clip-rule="evenodd"></path></svg> </summary> <div class="absolute left-0 top-full z-20 mt-1 grid max-h-64 min-w-56 gap-2 overflow-y-auto rounded-xl border border-warm-100 bg-white p-4 text-sm text-warm-700 shadow-lg"> <input id="filtre-villes-search" type="text" placeholder="Rechercher une ville…" class="sticky top-0 z-10 w-full rounded-lg border border-warm-200 bg-white px-3 py-2 text-sm text-warm-700 focus:border-accent-400 focus:outline-none focus:ring-2 focus:ring-accent-400/30"> <label class="filtre-ville-label flex items-center gap-2" data-region="Mauricie"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Bécancour" id="ville-0"> <span>Bécancour</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Berthierville" id="ville-1"> <span>Berthierville</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="L'assomption" id="ville-2"> <span>L'assomption</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Laurentides"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Lachute" id="ville-3" data-pilote-slug="lachute" data-pilote-region-slug="laurentides"> <span>Lachute</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Lanoraie" id="ville-4"> <span>Lanoraie</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Lavaltrie" id="ville-5"> <span>Lavaltrie</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Mauricie"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Louiseville" id="ville-6"> <span>Louiseville</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Montréal"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Montréal" id="ville-7"> <span>Mtl — P.-A.-T. / R.D.P.</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Repentigny" id="ville-8"> <span>Repentigny</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Saint-Ambroise-de-Kildare" id="ville-9"> <span>Saint-Ambroise-de-Kildare</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Saint-Charles-Borromée" id="ville-10" data-pilote-slug="saint-charles-borromee" data-pilote-region-slug="lanaudiere"> <span>Saint-Charles-Borromée</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Saint-Félix-de-Valois" id="ville-11" data-pilote-slug="saint-felix-de-valois" data-pilote-region-slug="lanaudiere"> <span>Saint-Félix-de-Valois</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Saint-Gabriel-de-Brandon" id="ville-12" data-pilote-slug="saint-gabriel-de-brandon" data-pilote-region-slug="lanaudiere"> <span>Saint-Gabriel-de-Brandon</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Saint-Jean-de-Matha" id="ville-13"> <span>Saint-Jean-de-Matha</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Saint-Lin-Laurentides" id="ville-14"> <span>Saint-Lin-Laurentides</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Lanaudière"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Sainte-Élisabeth" id="ville-15"> <span>Sainte-Élisabeth</span> </label><label class="filtre-ville-label flex items-center gap-2" data-region="Mauricie"> <input type="checkbox" class="filtre-ville rounded border-warm-300" value="Trois-Rivières" id="ville-16" data-pilote-slug="trois-rivieres" data-pilote-region-slug="mauricie"> <span>Trois-Rivières</span> </label> </div> </details> </label> <label class="flex shrink-0 flex-col gap-1"> <span class="text-[11px] font-semibold uppercase tracking-wide text-warm-500">Type</span> <div class="flex h-[42px] items-center gap-1.5" data-type-chips> <button type="button" data-type-chip="3½" class="h-[42px] rounded-xl border border-warm-200 bg-white px-3.5 text-sm font-medium text-warm-600 transition hover:border-accent-400"> 3½ </button><button type="button" data-type-chip="4½" class="h-[42px] rounded-xl border border-warm-200 bg-white px-3.5 text-sm font-medium text-warm-600 transition hover:border-accent-400"> 4½ </button><button type="button" data-type-chip="5½" class="h-[42px] rounded-xl border border-warm-200 bg-white px-3.5 text-sm font-medium text-warm-600 transition hover:border-accent-400"> 5½ </button> </div> <select id="filtre-type" style="display: none" aria-hidden="true" tabindex="-1"> <option value="">Tous les types</option> <option value="3½">3½</option><option value="4½">4½</option><option value="5½">5½</option> </select> </label> <label class="flex w-36 shrink-0 flex-col gap-1"> <span class="text-[11px] font-semibold uppercase tracking-wide text-warm-500">Étage</span> <select id="filtre-etage" class="h-[42px] w-full rounded-xl border border-warm-200 bg-white px-4 text-sm text-warm-600"> <option value="">Tous les étages</option> <option value="Demi sous-sol">Demi sous-sol</option><option value="RDC">RDC</option><option value="1er Étage">1er Étage</option><option value="2e Étage">2e Étage</option><option value="3e Étage">3e Étage</option> </select> </label> <label class="flex w-44 shrink-0 flex-col gap-1"> <span class="text-[11px] font-semibold uppercase tracking-wide text-warm-500">Trier</span> <select id="filtre-tri" class="h-[42px] w-full rounded-xl border border-warm-200 bg-white px-4 text-sm text-warm-600"> <option value="">Trier par</option> <option value="prix-asc">Prix (croissant)</option> <option value="prix-desc">Prix (décroissant)</option> <option value="dispo-now">Disponible maintenant</option> <option value="dispo-date">Disponibilité + tard</option> </select> </label> <label class="flex shrink-0 flex-col gap-1"> <span class="text-[11px] font-semibold uppercase tracking-wide text-warm-500">Prix</span> <details id="filtre-prix-details" class="relative h-[42px] shrink-0 rounded-xl border border-warm-200 bg-white"> <summary class="flex h-full cursor-pointer list-none items-center gap-2 px-3 text-sm text-warm-600"> <span>Prix</span> <svg class="h-4 w-4 text-warm-400 transition-transform [[open]>&]:rotate-180" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z" clip-rule="evenodd"></path></svg> </summary> <div class="absolute right-0 top-full z-20 mt-1 flex items-center gap-2 rounded-xl border border-warm-100 bg-white p-4 shadow-lg"> <input id="filtre-prix-min" type="number" min="0" step="50" placeholder="Min $" class="w-24 rounded-lg border border-warm-200 bg-white px-3 py-2 text-sm text-warm-700 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"> <span class="text-sm text-warm-400">–</span> <input id="filtre-prix-max" type="number" min="0" step="50" placeholder="Max $" class="w-24 rounded-lg border border-warm-200 bg-white px-3 py-2 text-sm text-warm-700 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"> </div> </details> </label> </div> </div> </section> <script>54 (function () {55 const wrap = document.querySelector('[data-type-chips]')56 const sel = document.getElementById('filtre-type')57 if (!wrap || !sel) return58 const chips = Array.from(wrap.querySelectorAll('[data-type-chip]'))59 const ON = ['border-accent-500', 'bg-accent-50', 'text-accent-700']60 const OFF = ['border-warm-200', 'bg-white', 'text-warm-600']61 function render() {62 chips.forEach((c) => {63 const active = c.getAttribute('data-type-chip') === sel.value64 ON.forEach((cls) => c.classList.toggle(cls, active))65 OFF.forEach((cls) => c.classList.toggle(cls, !active))66 })67 }68 chips.forEach((c) =>69 c.addEventListener('click', () => {70 const t = c.getAttribute('data-type-chip')71 sel.value = sel.value === t ? '' : t72 sel.dispatchEvent(new Event('change', { bubbles: true }))73 render()74 }),75 )76 sel.addEventListener('change', render)77 const resetBtn = document.getElementById('filtre-reset')78 if (resetBtn) resetBtn.addEventListener('click', () => setTimeout(render, 0))79 render()80 })()81 </script> <section class="relative z-10 mx-auto max-w-7xl px-4 sm:px-6"> <div id="chips-container" class="hidden flex flex-wrap gap-2 pt-4"></div> </section> <section class="pt-8 pb-12"> <div class="mx-auto max-w-[1400px] px-4 sm:px-6"> <p id="compteur" class="mb-8 text-sm text-warm-500"> 117 logements disponibles </p> <div id="content-wrapper" class="flex gap-6"> <!-- Gauche : liste scrollable --> <div id="list-panel" class="min-w-0 flex-1"> <div id="grille" class="grid gap-6 sm:grid-cols-2 lg:grid-cols-3"> <div class="logement-card animate-card-in" style="animation-delay: 0ms" data-slug="3-261-rue-beauvilliers-003-626595" data-region="Lanaudière" data-ville="Saint-Gabriel-de-Brandon" data-type="3½" data-etage="1er Étage" data-prix="950" data-date="2025-12-01"> <a href="/logements/3-261-rue-beauvilliers-003-626595" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/52e052a8c456e330f4d0d5010517e0e9730082c8-960x640.jpg" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/5ac01f2ddb4a227056a235ba3113c69d0dd6949e-960x640.jpg" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/872cbbfc44bf49448129f70b1093ae4d7df9764c-960x640.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 16 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>823D83</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-sky-500/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Récent</span> <span class="hidden sm:inline">Immeuble récent</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> <span class="block text-xs font-medium uppercase tracking-wide text-warm-500">À partir de</span> 950$84<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-semibold bg-[#D9F5DC] text-[#2E6E1F] ring-1 ring-[#7BCB67]"> <span class="h-1.5 w-1.5 rounded-full bg-[#00C776]"></span> Disponible dès maintenant </span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 750 pi² · 1er Étage</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">261 Rue Beauvilliers, app. 3</p> <p class="text-sm text-warm-500">Saint-Gabriel-de-Brandon</p> </div> </div> </a> <script type="module">function p(){document.querySelectorAll(".logement-card").forEach(v=>{const c=v.querySelector(".carousel-container");if(!c)return;const a=c.querySelectorAll(".carousel-slide");if(a.length<=1)return;const y=c.querySelectorAll(".carousel-dot"),i=c.querySelector(".carousel-prev"),d=c.querySelector(".carousel-next");let n=0;const s=a.length;function r(t){a.forEach((e,o)=>{e.style.opacity=o===t?"1":"0"}),y.forEach((e,o)=>{e.style.opacity=o===t?"1":"0.5",e.style.transform=o===t?"scale(1.25)":"scale(1)"}),n=t}function f(t){t.preventDefault(),t.stopPropagation()}i&&i.addEventListener("click",t=>{f(t),r((n-1+s)%s)}),d&&d.addEventListener("click",t=>{f(t),r((n+1)%s)});let l=0,h=0,u=!1;c.addEventListener("touchstart",t=>{l=t.touches[0].clientX,h=t.touches[0].clientY,u=!1},{passive:!0}),c.addEventListener("touchmove",t=>{const e=t.touches[0].clientX-l,o=t.touches[0].clientY-h;Math.abs(e)>Math.abs(o)&&Math.abs(e)>10&&(u=!0,t.preventDefault())},{passive:!1}),c.addEventListener("touchend",t=>{const e=t.changedTouches[0].clientX-l;u&&Math.abs(e)>50&&(e<0?r((n+1)%s):r((n-1+s)%s),t.preventDefault())})})}p();document.addEventListener("astro:after-swap",p);</script> </div><div class="logement-card animate-card-in" style="animation-delay: 80ms" data-slug="3-665-rue-saint-christophe-1-864230" data-region="Mauricie" data-ville="Trois-Rivières" data-type="3½" data-etage="Demi sous-sol" data-prix="995" data-date="2026-05-01"> <a href="/logements/3-665-rue-saint-christophe-1-864230" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/ed01996639d09df99a096ad3bbd66909834068f9-1500x1000.jpg" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/32c05f34e90b1e4e1fb93d1a040449280dca47c2-1111x705.png" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/457d70267c359d2d92425db9918bd83c5579a2a5-1500x1000.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 9 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>853D86</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-blue-600/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Neuf</span> <span class="hidden sm:inline">Construction neuve</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> 995$87<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full bg-amber-50 px-2.5 py-0.5 text-xs font-semibold text-amber-700"> <span class="h-1.5 w-1.5 rounded-full bg-amber-500"></span>88Réservé89</span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 850 pi² · Demi sous-sol</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">665 Rue Saint Christophe, app. 1</p> <p class="text-sm text-warm-500">Trois-Rivières</p> </div> </div> </a> </div><div class="logement-card animate-card-in" style="animation-delay: 160ms" data-slug="3-655-rue-saint-christophe-3-864226" data-region="Mauricie" data-ville="Trois-Rivières" data-type="3½" data-etage="1er Étage" data-prix="1015" data-date="2026-05-01"> <a href="/logements/3-655-rue-saint-christophe-3-864226" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/ed01996639d09df99a096ad3bbd66909834068f9-1500x1000.jpg" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/32c05f34e90b1e4e1fb93d1a040449280dca47c2-1111x705.png" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/457d70267c359d2d92425db9918bd83c5579a2a5-1500x1000.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 9 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>903D91</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-blue-600/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Neuf</span> <span class="hidden sm:inline">Construction neuve</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> <span class="block text-xs font-medium uppercase tracking-wide text-warm-500">À partir de</span> 1 015$92<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-semibold bg-[#D9F5DC] text-[#2E6E1F] ring-1 ring-[#7BCB67]"> <span class="h-1.5 w-1.5 rounded-full bg-[#00C776]"></span> Disponible dès maintenant </span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 850 pi² · 1er Étage</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">655 Rue Saint Christophe, app. 3</p> <p class="text-sm text-warm-500">Trois-Rivières</p> </div> </div> </a> </div><div class="logement-card animate-card-in" style="animation-delay: 240ms" data-slug="3-1934-rue-saint-philippe-9-553926" data-region="Mauricie" data-ville="Trois-Rivières" data-type="3½" data-etage="3e Étage" data-prix="1025" data-date="2026-08-08"> <a href="/logements/3-1934-rue-saint-philippe-9-553926" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/4080777fd4167bb9b06ae3012ea0764151c431de-1500x1000.jpg" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/5cc76e4dbf40b6be76a0a771c0413a4113045fec-556x585.png" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/b7e99c7d063165919b308f3c26ce53c16bd34348-1500x1000.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 13 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>933D94</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-sky-500/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Récent</span> <span class="hidden sm:inline">Immeuble récent</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> 1 025$95<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-semibold bg-[#D9F5DC] text-[#2E6E1F] ring-1 ring-[#7BCB67]"> <span class="h-1.5 w-1.5 rounded-full bg-[#00C776]"></span> Disponible dès maintenant </span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 500 pi² · 3e Étage</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">1934 Rue Saint Philippe, app. 9</p> <p class="text-sm text-warm-500">Trois-Rivières</p> </div> </div> </a> </div><div class="logement-card animate-card-in" style="animation-delay: 320ms" data-slug="3-1894-rue-saint-philippe-9-509827" data-region="Mauricie" data-ville="Trois-Rivières" data-type="3½" data-etage="3e Étage" data-prix="1025" data-date="2026-07-01"> <a href="/logements/3-1894-rue-saint-philippe-9-509827" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/2f8b12f765c42e81958750065ce71aa2bf85f830-1500x1000.jpg" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/6cba8e45c0989b3dd3ced7c3032c6a7449633159-582x351.png" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/2546f957a978d064c30e2a6b6ee44f719ba13df7-1500x1000.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 19 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>963D97</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-sky-500/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Récent</span> <span class="hidden sm:inline">Immeuble récent</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> 1 025$98<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-semibold bg-[#D9F5DC] text-[#2E6E1F] ring-1 ring-[#7BCB67]"> <span class="h-1.5 w-1.5 rounded-full bg-[#00C776]"></span> Disponible dès maintenant </span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 625 pi² · 3e Étage</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">1894 Rue Saint Philippe, app. 9</p> <p class="text-sm text-warm-500">Trois-Rivières</p> </div> </div> </a> </div><div class="logement-card animate-card-in" style="animation-delay: 400ms" data-slug="3-330-rue-de-bienville-2-446229" data-region="Lanaudière" data-ville="Berthierville" data-type="3½" data-etage="RDC" data-prix="1025" data-date="2026-07-01"> <a href="/logements/3-330-rue-de-bienville-2-446229" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/2ce77fa83290f349521effb98fb314608c78ecbe-1500x1000.jpg" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/61b995aeb3ba80b2ce45f4a5c9194163a1249f96-577x573.png" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/f712582a280a0dcce9a53162d47ff441d4f9d07a-1500x1000.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 21 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>993D100</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-sky-500/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Récent</span> <span class="hidden sm:inline">Immeuble récent</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> <span class="block text-xs font-medium uppercase tracking-wide text-warm-500">À partir de</span> 1 025$101<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-semibold bg-[#D9F5DC] text-[#2E6E1F] ring-1 ring-[#7BCB67]"> <span class="h-1.5 w-1.5 rounded-full bg-[#00C776]"></span> Disponible dès maintenant </span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 615 pi² · RDC</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">330 Rue de Bienville, app. 2</p> <p class="text-sm text-warm-500">Berthierville</p> </div> </div> </a> </div><div class="logement-card animate-card-in" style="animation-delay: 480ms" data-slug="3-18045-boulevard-des-acadiens-103-691044" data-region="Mauricie" data-ville="Bécancour" data-type="3½" data-etage="RDC" data-prix="1025" data-date="2026-07-01"> <a href="/logements/3-18045-boulevard-des-acadiens-103-691044" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/81fe8a69cafedcf9cee723cc8498b635109bde88-1500x1000.jpg" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/96b6592e2b34e1cb1c063c8275d662eec1590987-2243x1733.jpg" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/55b8a11ab0cd5603f05cf457c79e3d163991cb85-1500x1000.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 12 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>1023D103</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-sky-500/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Récent</span> <span class="hidden sm:inline">Immeuble récent</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> 1 025$104<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-semibold bg-[#D9F5DC] text-[#2E6E1F] ring-1 ring-[#7BCB67]"> <span class="h-1.5 w-1.5 rounded-full bg-[#00C776]"></span> Disponible dès maintenant </span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 625 pi² · RDC</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">18045 Boulevard des Acadiens, app. 103</p> <p class="text-sm text-warm-500">Bécancour</p> </div> </div> </a> </div><div class="logement-card animate-card-in" style="animation-delay: 560ms" data-slug="3-989-quebec-343-002-691081" data-region="Lanaudière" data-ville="Saint-Ambroise-de-Kildare" data-type="3½" data-etage="Demi sous-sol" data-prix="1025" data-date="2026-07-01"> <a href="/logements/3-989-quebec-343-002-691081" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/2afe97f592fa01db0417f5663f33916309ed8f9f-1500x1000.jpg" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/04ac52635a59995b7c442631d5d86092689e2ed9-2243x1733.jpg" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/11f74a479a13cc6369a586830e455b7ce81b61d2-1500x1000.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 11 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>1053D106</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-sky-500/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Récent</span> <span class="hidden sm:inline">Immeuble récent</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> 1 025$107<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-semibold bg-[#D9F5DC] text-[#2E6E1F] ring-1 ring-[#7BCB67]"> <span class="h-1.5 w-1.5 rounded-full bg-[#00C776]"></span> Disponible dès maintenant </span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 800 pi² · Demi sous-sol</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">989 Route 343, app. 2</p> <p class="text-sm text-warm-500">Saint-Ambroise-de-Kildare</p> </div> </div> </a> </div><div class="logement-card animate-card-in" style="animation-delay: 640ms" data-slug="3-saint-ambroise-de-kildare-446212" data-region="Lanaudière" data-ville="Saint-Ambroise-de-Kildare" data-type="3½" data-etage="3e Étage" data-prix="1025" data-date="2026-07-01"> <a href="/logements/3-saint-ambroise-de-kildare-446212" class="logement-card group block overflow-hidden rounded-2xl border border-warm-200 bg-white transition-all duration-300 hover:scale-[1.02] hover:shadow-xl hover:shadow-warm-300/40"> <div class="relative aspect-[4/3] overflow-hidden bg-warm-100"> <div class="carousel-container relative h-full w-full"> <img src="https://cdn.sanity.io/images/4ae0mkdu/production/efc965fdc03a53f7ab9a42708ac78344e274c608-1189x701.png" alt="3½ – photo 1" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-100" data-slide="0" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/d9f2bd8da334d88714c1c056cbd3d445c5b9da7a-1500x1000.jpg" alt="3½ – photo 2" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="1" loading="lazy"><img src="https://cdn.sanity.io/images/4ae0mkdu/production/4b420188c9e2d8fd230690aee2266ad92187f69c-1500x1000.jpg" alt="3½ – photo 3" class="carousel-slide absolute inset-0 h-full w-full object-cover transition-all duration-500 group-hover:scale-105 opacity-0" data-slide="2" loading="lazy"> <button type="button" class="carousel-prev absolute left-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo précédente"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg> </button> <button type="button" class="carousel-next absolute right-2 top-1/2 z-10 hidden -translate-y-1/2 rounded-full bg-white/80 p-1.5 text-warm-700 shadow backdrop-blur-sm transition hover:bg-white group-hover:md:block" aria-label="Photo suivante"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path></svg> </button> <div class="absolute bottom-2 left-1/2 z-10 flex -translate-x-1/2 items-center gap-1.5 md:hidden md:group-hover:flex"> <span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white scale-125" data-dot="0"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="1"></span><span class="carousel-dot pointer-events-none block h-1.5 w-1.5 rounded-full transition-all duration-300 bg-white/50" data-dot="2"></span> </div> </div> <span class="absolute bottom-2.5 right-2.5 z-10 flex items-center gap-1 rounded-full bg-warm-900/70 px-2.5 py-1 text-xs font-medium text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 7h2l2-3h10l2 3h2a1 1 0 011 1v10a1 1 0 01-1 1H3a1 1 0 01-1-1V8a1 1 0 011-1z"></path><circle cx="12" cy="13" r="4"></circle></svg> 17 </span> <span class="absolute bottom-2.5 left-2.5 z-10 flex items-center gap-1 rounded-full bg-accent-600/90 px-2.5 py-1 text-xs font-semibold text-white backdrop-blur-sm"> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l9-9 9 9M4 11v8a1 1 0 001 1h4v-5h6v5h4a1 1 0 001-1v-8"></path></svg>1083D109</span> <div class="absolute left-3 right-3 top-3 z-10 flex flex-wrap items-start gap-1.5"> <span class="rounded-full bg-sky-500/90 px-2 py-1 text-[10px] font-semibold text-white backdrop-blur-sm sm:px-2.5 sm:py-1 sm:text-xs"> <span class="sm:hidden">Récent</span> <span class="hidden sm:inline">Immeuble récent</span> </span> </div> </div> <div class="p-3 sm:p-5"> <div class="flex items-center gap-3"> <p class="text-xl sm:text-2xl font-bold text-accent-600"> <span class="block text-xs font-medium uppercase tracking-wide text-warm-500">À partir de</span> 1 025$110<span class="text-sm font-normal text-warm-500"> / mois</span> </p> <span class="inline-flex items-center gap-1 rounded-full bg-amber-50 px-2.5 py-0.5 text-xs font-semibold text-amber-700"> <span class="h-1.5 w-1.5 rounded-full bg-amber-500"></span>111Réservé112</span> </div> <p class="mt-2 text-sm text-warm-600"> <span class="text-base font-semibold text-warm-800">3½</span> <span> · 715 pi² · 3e Étage</span> </p> <div class="mt-2"> <p class="text-xs text-warm-400">1135 Route 343, app. 405</p> <p class="text-sm text-warm-500">Saint-Ambroise-de-Kildare</p> </div> </div> </a> </div> </div> <div class="mt-10 flex justify-center"> <button id="voir-plus" type="button" class="inline-flex min-h-11 items-center rounded-xl border border-warm-300 bg-white px-8 py-3 text-sm font-semibold text-warm-700 shadow-sm transition hover:border-accent-400 hover:text-accent-600 hover:shadow-md">113Voir plus de logements114</button> </div> <div id="aucun-resultat" class="hidden rounded-2xl border border-warm-200 bg-warm-50 p-12 text-center"> <p id="aucun-titre" class="text-lg font-semibold text-warm-700">Aucun logement ne correspond à vos critères.</p> <p id="aucun-message" class="mt-2 text-sm text-warm-500"> <a href="/contact?tab=question" class="text-accent-600 hover:underline">Écris-nous</a> pour être avisé des nouvelles disponibilités.115</p> <button id="aucun-reset-btn" class="mt-4 inline-flex min-h-11 items-center justify-center rounded-xl bg-accent-600 px-6 py-2.5 text-sm font-medium text-white transition hover:bg-accent-700">116Voir tous les logements117</button> </div> </div> <!-- Droite : carte sticky 40% carrée (pattern Airbnb, masquée sauf filtre géo sur desktop) --> <div id="map-panel" class="hidden lg:sticky lg:top-24 lg:w-2/5 lg:shrink-0 lg:self-start"> <div class="aspect-[4/5] max-h-[calc(100vh-7rem)] overflow-hidden rounded-2xl border border-warm-200 bg-warm-100"> <div id="carte-logements" class="h-full w-full" aria-label="Carte des logements disponibles"></div> </div> </div> </div> <nav id="explore-secteurs" class="mt-12 border-t border-warm-200 pt-8" aria-label="Explorer par région"> <p id="explore-secteurs-label" class="text-sm font-semibold text-warm-800">118Explorer par région119</p> <p class="mt-1 text-xs text-warm-500">Page dédiée par secteur</p> <div id="explore-secteurs-links" class="mt-3 flex flex-wrap gap-2"> <a href="/logements/region/lanaudiere" class="inline-flex items-center gap-1 rounded-full border border-warm-300 bg-white px-4 py-1.5 text-sm text-warm-700 transition hover:border-accent-400 hover:text-accent-600"> Lanaudière <svg class="h-4 w-4 text-warm-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path> </svg> </a><a href="/logements/region/laurentides" class="inline-flex items-center gap-1 rounded-full border border-warm-300 bg-white px-4 py-1.5 text-sm text-warm-700 transition hover:border-accent-400 hover:text-accent-600"> Laurentides <svg class="h-4 w-4 text-warm-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path> </svg> </a><a href="/logements/region/mauricie" class="inline-flex items-center gap-1 rounded-full border border-warm-300 bg-white px-4 py-1.5 text-sm text-warm-700 transition hover:border-accent-400 hover:text-accent-600"> Mauricie <svg class="h-4 w-4 text-warm-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path> </svg> </a><a href="/logements/region/montreal" class="inline-flex items-center gap-1 rounded-full border border-warm-300 bg-white px-4 py-1.5 text-sm text-warm-700 transition hover:border-accent-400 hover:text-accent-600"> Montréal <svg class="h-4 w-4 text-warm-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"></path> </svg> </a> </div> </nav> </div> </section> <script type="application/json" id="explore-secteurs-data">{"base":[{"label":"Lanaudière","href":"/logements/region/lanaudiere"},{"label":"Laurentides","href":"/logements/region/laurentides"},{"label":"Mauricie","href":"/logements/region/mauricie"},{"label":"Montréal","href":"/logements/region/montreal"}],"byRegion":{"Lanaudière":{"sectionLabel":"Explorer les villes de Lanaudière","links":[{"label":"Logements dans Lanaudière","href":"/logements/region/lanaudiere"},{"label":"MRC de Joliette","href":"/logements/region/lanaudiere/mrc-joliette"},{"label":"Saint-Charles-Borromée","href":"/logements/region/lanaudiere/saint-charles-borromee"},{"label":"Saint-Gabriel-de-Brandon","href":"/logements/region/lanaudiere/saint-gabriel-de-brandon"}]},"Laurentides":{"sectionLabel":"Explorer les villes des Laurentides","links":[{"label":"Logements dans les Laurentides","href":"/logements/region/laurentides"},{"label":"Lachute","href":"/logements/region/laurentides/lachute"}]},"Mauricie":{"sectionLabel":"Explorer les villes de la Mauricie","links":[{"label":"Logements dans la Mauricie","href":"/logements/region/mauricie"},{"label":"Trois-Rivières","href":"/logements/region/mauricie/trois-rivieres"}]},"Montréal":{"sectionLabel":"Explorer Montréal","links":[{"label":"Logements à l'est de Montréal","href":"/logements/region/montreal"}]}}}</script> <div id="mobile-map-overlay" class="fixed inset-0 z-50 hidden bg-white md:hidden"> <div id="mobile-map-container" class="h-full w-full"></div> <button id="mobile-map-close" type="button" class="absolute left-4 top-4 z-10 rounded-full bg-white px-4 py-2 text-sm font-semibold text-warm-700 shadow-lg border border-warm-200">120✕ Liste121</button> </div> <button id="mobile-map-btn" type="button" class="fixed bottom-6 left-1/2 z-40 hidden -translate-x-1/2 rounded-full bg-warm-900 px-6 py-3 text-sm font-semibold text-white shadow-lg md:hidden">122🗺 Carte123</button> <section class="relative overflow-hidden"> <img src="/images/bg-studio-2500.webp" srcset="/images/bg-studio-640.webp 640w, /images/bg-studio-1280.webp 1280w, /images/bg-studio-2500.webp 2500w" sizes="100vw" alt="" class="absolute inset-0 h-full w-full object-cover object-bottom" loading="lazy"> <div class="absolute inset-x-0 top-0 h-1/3 bg-gradient-to-b from-cream to-transparent"></div> <div class="absolute inset-0 bg-warm-900/50"></div> <div class="relative px-4 py-20 sm:px-6"> <div class="mx-auto max-w-2xl text-center"> <h2 class="text-3xl font-bold text-white sm:text-4xl">Le logement que tu cherches est ici.</h2> <p class="mt-4 text-lg leading-relaxed text-warm-200">Notre équipe est là pour te guider</p> <div class="mt-8 flex flex-col justify-center gap-4 sm:flex-row"> <a href="/logements" class="group flex h-14 w-56 items-center justify-center gap-2 rounded-xl bg-accent-500 text-base font-bold text-white shadow-lg shadow-accent-900/30 transition hover:scale-105 hover:bg-accent-400 hover:shadow-xl">Trouver mon logement <span class="inline-block transition-transform group-hover:translate-x-1">→</span></a> <a href="/contact#chat-humain" class="flex h-14 w-56 flex-col items-center justify-center rounded-xl border border-white/30 bg-white/20 text-white backdrop-blur-sm transition hover:bg-white/30"> <span class="text-base font-bold">Clavarde</span><span class="text-xs font-medium">avec nous</span> </a> </div> </div> </div> </section> <script type="application/json" id="logements-map-data">[{"slug":"3-261-rue-beauvilliers-003-626595","titre":"3½ — 261 Rue Beauvilliers","adresse":"261 Rue Beauvilliers","adresseUnite":"261 Rue Beauvilliers, app. 3","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"3½","etage":"1er Étage","prix":950,"href":"/logements/3-261-rue-beauvilliers-003-626595","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/52e052a8c456e330f4d0d5010517e0e9730082c8-960x640.jpg","prixLabel":"À partir de 950$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.29497500000001,"lng":-73.3778921,"immeubleId":"immeuble-bs-75005"},{"slug":"3-665-rue-saint-christophe-1-864230","titre":"3½ — 665 Rue Saint Christophe","adresse":"665 Rue Saint Christophe","adresseUnite":"665 Rue Saint Christophe, app. 1","ville":"Trois-Rivières","region":"Mauricie","type":"3½","etage":"Demi sous-sol","prix":995,"href":"/logements/3-665-rue-saint-christophe-1-864230","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ed01996639d09df99a096ad3bbd66909834068f9-1500x1000.jpg","prixLabel":"À partir de 995$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-05-01","lat":46.3563173,"lng":-72.5493661,"immeubleId":"immeuble-bs-85269"},{"slug":"3-655-rue-saint-christophe-3-864226","titre":"3½ — 655 Rue Saint Christophe","adresse":"655 Rue Saint Christophe","adresseUnite":"655 Rue Saint Christophe, app. 3","ville":"Trois-Rivières","region":"Mauricie","type":"3½","etage":"1er Étage","prix":1015,"href":"/logements/3-655-rue-saint-christophe-3-864226","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ed01996639d09df99a096ad3bbd66909834068f9-1500x1000.jpg","prixLabel":"À partir de 1 015$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-05-01","lat":46.3563512,"lng":-72.549229,"immeubleId":"immeuble-bs-85268"},{"slug":"3-1934-rue-saint-philippe-9-553926","titre":"3½ — 1934 Rue Saint Philippe","adresse":"1934 Rue Saint Philippe","adresseUnite":"1934 Rue Saint Philippe, app. 9","ville":"Trois-Rivières","region":"Mauricie","type":"3½","etage":"3e Étage","prix":1025,"href":"/logements/3-1934-rue-saint-philippe-9-553926","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/4080777fd4167bb9b06ae3012ea0764151c431de-1500x1000.jpg","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-08-08","lat":46.3377507,"lng":-72.5453194,"immeubleId":"immeuble-bs-65541"},{"slug":"3-1894-rue-saint-philippe-9-509827","titre":"3½ — 1894 Rue Saint Philippe","adresse":"1894 Rue Saint Philippe","adresseUnite":"1894 Rue Saint Philippe, app. 9","ville":"Trois-Rivières","region":"Mauricie","type":"3½","etage":"3e Étage","prix":1025,"href":"/logements/3-1894-rue-saint-philippe-9-509827","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/2f8b12f765c42e81958750065ce71aa2bf85f830-1500x1000.jpg","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.3380801,"lng":-72.54521,"immeubleId":"immeuble-bs-61861"},{"slug":"3-330-rue-de-bienville-2-446229","titre":"3½ — 330 Rue de Bienville","adresse":"330 Rue de Bienville","adresseUnite":"330 Rue de Bienville, app. 2","ville":"Berthierville","region":"Lanaudière","type":"3½","etage":"RDC","prix":1025,"href":"/logements/3-330-rue-de-bienville-2-446229","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/2ce77fa83290f349521effb98fb314608c78ecbe-1500x1000.jpg","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0897064,"lng":-73.1735708,"immeubleId":"immeuble-bs-58779"},{"slug":"3-18045-boulevard-des-acadiens-103-691044","titre":"3½ — 18045 Boulevard des Acadiens","adresse":"18045 Boulevard des Acadiens","adresseUnite":"18045 Boulevard des Acadiens, app. 103","ville":"Bécancour","region":"Mauricie","type":"3½","etage":"RDC","prix":1025,"href":"/logements/3-18045-boulevard-des-acadiens-103-691044","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/81fe8a69cafedcf9cee723cc8498b635109bde88-1500x1000.jpg","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.2667659,"lng":-72.5128878,"immeubleId":"immeuble-bs-77420"},{"slug":"3-989-quebec-343-002-691081","titre":"3½ — 989 Route 343","adresse":"989 Route 343","adresseUnite":"989 Route 343, app. 2","ville":"Saint-Ambroise-de-Kildare","region":"Lanaudière","type":"3½","etage":"Demi sous-sol","prix":1025,"href":"/logements/3-989-quebec-343-002-691081","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/2afe97f592fa01db0417f5663f33916309ed8f9f-1500x1000.jpg","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0778419,"lng":-73.5515262,"immeubleId":"immeuble-bs-77421"},{"slug":"3-saint-ambroise-de-kildare-446212","titre":"3½ — 1135 Route 343","adresse":"1135 Route 343","adresseUnite":"1135 Route 343, app. 405","ville":"Saint-Ambroise-de-Kildare","region":"Lanaudière","type":"3½","etage":"3e Étage","prix":1025,"href":"/logements/3-saint-ambroise-de-kildare-446212","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/efc965fdc03a53f7ab9a42708ac78344e274c608-1189x701.png","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0810661,"lng":-73.5555309,"immeubleId":"immeuble-bs-58774"},{"slug":"3-91-rue-pelland-103-923021","titre":"3½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 103","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"3½","etage":"1er Étage","prix":1050,"href":"/logements/3-91-rue-pelland-103-923021","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/732ea35813d6713e5845d6f6008a4bdf797ffea9-1500x1000.jpg","prixLabel":"À partir de 1 050$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-saint-ambroise-de-kildare-537064","titre":"3½ — 1081 Route 343","adresse":"1081 Route 343","adresseUnite":"1081 Route 343, app. 9","ville":"Saint-Ambroise-de-Kildare","region":"Lanaudière","type":"3½","etage":"2e Étage","prix":1050,"href":"/logements/3-saint-ambroise-de-kildare-537064","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/5b4e79c6672429576c57bc8a13fa2e446871bc6e-1500x1000.jpg","prixLabel":"À partir de 1 050$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-08-01","lat":46.0793561,"lng":-73.554594,"immeubleId":"immeuble-bs-64098"},{"slug":"4-1550-rue-laviolette-1-446268","titre":"4½ — 1550 Rue Laviolette","adresse":"1550 Rue Laviolette","adresseUnite":"1550 Rue Laviolette, app. 1","ville":"Trois-Rivières","region":"Mauricie","type":"4½","etage":"Demi sous-sol","prix":1095,"href":"/logements/4-1550-rue-laviolette-1-446268","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/e95acc54fc515e4b6e097722ab7732b376e39784-1500x1000.jpg","prixLabel":"À partir de 1 095$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-10-13","lat":46.3534085,"lng":-72.5507026,"immeubleId":"immeuble-bs-58775"},{"slug":"4-315-rue-beauvilliers-313a-606430","titre":"4½ — 315 Rue Beauvilliers","adresse":"315 Rue Beauvilliers","adresseUnite":"315 Rue Beauvilliers, app. 313A","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"4½","etage":"Demi sous-sol","prix":1100,"href":"/logements/4-315-rue-beauvilliers-313a-606430","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/63af3939a62e8c7b5a11d8c150ac34d3fd0b6f8e-1500x1000.jpg","prixLabel":"À partir de 1 100$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-02-01","lat":46.2964809,"lng":-73.3765361,"immeubleId":"immeuble-bs-72100"},{"slug":"4-263-rue-beauvilliers-008-635429","titre":"4½ — 263 Rue Beauvilliers","adresse":"263 Rue Beauvilliers","adresseUnite":"263 Rue Beauvilliers, app. 8","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1100,"href":"/logements/4-263-rue-beauvilliers-008-635429","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ccfe523ffc1637521dbe10339800a2d15b4e296e-1500x1000.jpg","prixLabel":"À partir de 1 100$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.29497560000001,"lng":-73.37787229999999,"immeubleId":"immeuble-bs-75357"},{"slug":"3-saint-charles-borromee-504057","titre":"3½ — 43 Rang de la Petite Noraie","adresse":"43 Rang de la Petite Noraie","adresseUnite":"43 Rang de la Petite Noraie, app. 104","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"3½","etage":"1er Étage","prix":1100,"href":"/logements/3-saint-charles-borromee-504057","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/df240375317c57f2778078ff26f6e9a9ffd22cbb-1500x1000.jpg","prixLabel":"À partir de 1 100$ / mois","disponibiliteLabel":"Disponible à partir du 1 octobre 2026","dateDisponibilite":"2026-10-01","lat":46.0452241,"lng":-73.4608343,"immeubleId":"immeuble-bs-61855"},{"slug":"3-lachute-951582","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 2","ville":"Lachute","region":"Laurentides","type":"3½","etage":"Demi sous-sol","prix":1100,"href":"/logements/3-lachute-951582","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 100$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949601","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 2","ville":"Lachute","region":"Laurentides","type":"3½","etage":"Demi sous-sol","prix":1100,"href":"/logements/3-lachute-949601","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 100$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-80-rue-de-ramezay-11-549503","titre":"4½ — 80 Rue de Ramezay","adresse":"80 Rue de Ramezay","adresseUnite":"80 Rue de Ramezay, app. 11","ville":"Saint-Jean-de-Matha","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1125,"href":"/logements/4-80-rue-de-ramezay-11-549503","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/c362e3c117fe20039db92d9ad6573630a644db52-1500x1000.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.2243782,"lng":-73.52268389999999,"immeubleId":"immeuble-bs-65079"},{"slug":"5-229-rue-beauvilliers-7-800650","titre":"5½ — 229 Rue Beauvilliers","adresse":"229 Rue Beauvilliers","adresseUnite":"229 Rue Beauvilliers, app. 7","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"5½","etage":"3e Étage","prix":1125,"href":"/logements/5-229-rue-beauvilliers-7-800650","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/d81c74c881a7aba3c43dc7029dd4cc95e2838e45-1500x1000.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-09-15","lat":46.29442419999999,"lng":-73.3787123,"immeubleId":"immeuble-bs-82484"},{"slug":"5-249-rue-beauvilliers-6-728094","titre":"5½ — 249 Rue Beauvilliers","adresse":"249 Rue Beauvilliers","adresseUnite":"249 Rue Beauvilliers, app. 6","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"5½","etage":"2e Étage","prix":1125,"href":"/logements/5-249-rue-beauvilliers-6-728094","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/439611935f0652478353aeeec843517049a20a56-1500x1000.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-05-01","lat":46.29474159999999,"lng":-73.3782308,"immeubleId":"immeuble-bs-78735"},{"slug":"4-231-rue-mayrand-1-924668","titre":"4½ — 231 Rue Mayrand","adresse":"231 Rue Mayrand","adresseUnite":"231 Rue Mayrand, app. 1","ville":"Saint-Félix-de-Valois","region":"Lanaudière","type":"4½","etage":"Demi sous-sol","prix":1125,"href":"/logements/4-231-rue-mayrand-1-924668","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/93cfbeadd8992f5780bff66066ecb994e1e8a7df-1500x1000.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.165023,"lng":-73.43081839999999,"immeubleId":"immeuble-bs-86915"},{"slug":"5-saint-gabriel-de-brandon-728071","titre":"5½ — 239 Rue Beauvilliers","adresse":"239 Rue Beauvilliers","adresseUnite":"239 Rue Beauvilliers, app. 6","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"5½","etage":"2e Étage","prix":1125,"href":"/logements/5-saint-gabriel-de-brandon-728071","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/439611935f0652478353aeeec843517049a20a56-1500x1000.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-05-01","lat":46.294538,"lng":-73.3785281,"immeubleId":"immeuble-bs-78734"},{"slug":"3-saint-charles-borromee-680615","titre":"3½ — 3 Rue Vaudreuil","adresse":"3 Rue Vaudreuil","adresseUnite":"3 Rue Vaudreuil, app. 101","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"3½","etage":"RDC","prix":1125,"href":"/logements/3-saint-charles-borromee-680615","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/b435df67cc15d16e950329c6512e062e94e2bfdc-2000x1333.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-08-01","lat":46.06750230000001,"lng":-73.4905069,"immeubleId":"immeuble-bs-76825"},{"slug":"4-1041-rue-de-la-visitation-204-406704","titre":"4½ — 1041 Rue de la Visitation","adresse":"1041 Rue de la Visitation","adresseUnite":"1041 Rue de la Visitation, app. 204","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"1er Étage","prix":1150,"href":"/logements/4-1041-rue-de-la-visitation-204-406704","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/8c4c808d9c05e022051b829818b9bb8f9dc3caec-1496x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0610267,"lng":-73.4838512,"immeubleId":"immeuble-bs-55266"},{"slug":"4-1039-quebec-343-304-406739","titre":"4½ — 1039 Rue de la Visitation","adresse":"1039 Rue de la Visitation","adresseUnite":"1039 Rue de la Visitation, app. 304","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1150,"href":"/logements/4-1039-quebec-343-304-406739","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/8c4c808d9c05e022051b829818b9bb8f9dc3caec-1496x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0790799,"lng":-73.5532216,"immeubleId":"immeuble-bs-55267"},{"slug":"4-1-rue-vaudreuil-003-624608","titre":"4½ — 1 Rue Vaudreuil","adresse":"1 Rue Vaudreuil","adresseUnite":"1 Rue Vaudreuil, app. 3","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"Demi sous-sol","prix":1150,"href":"/logements/4-1-rue-vaudreuil-003-624608","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/614ebb8db9da65e216d3252d7e02caaf58a1ddee-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0670115,"lng":-73.4909053,"immeubleId":"immeuble-bs-74877"},{"slug":"4-2060-rue-de-la-visitation-102-729962","titre":"4½ — 2060 Rue de la Visitation","adresse":"2060 Rue de la Visitation","adresseUnite":"2060 Rue de la Visitation, app. 102","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"1er Étage","prix":1150,"href":"/logements/4-2060-rue-de-la-visitation-102-729962","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/c3faec29a54f5c0d9e0e601c98889318c01dd5a1-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0693515,"lng":-73.49447219999999,"immeubleId":"immeuble-bs-79563"},{"slug":"4-2062-rue-de-la-visitation-104-816474","titre":"4½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 104","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"1er Étage","prix":1150,"href":"/logements/4-2062-rue-de-la-visitation-104-816474","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/da7590154f749a136760cd295d44183bc60d4cc7-2000x1333.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"4-2064-rue-de-la-visitation-204-831861","titre":"4½ — 2064 Rue de la Visitation","adresse":"2064 Rue de la Visitation","adresseUnite":"2064 Rue de la Visitation, app. 204","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1150,"href":"/logements/4-2064-rue-de-la-visitation-204-831861","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/da7590154f749a136760cd295d44183bc60d4cc7-2000x1333.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-02-01","lat":46.0699158,"lng":-73.49557279999999,"immeubleId":"immeuble-bs-83787"},{"slug":"5-1946-rue-royale-1942-694827","titre":"5½ — 1946 Rue Royale","adresse":"1946 Rue Royale","adresseUnite":"1946 Rue Royale, app. 1942","ville":"Trois-Rivières","region":"Mauricie","type":"5½","etage":"3e Étage","prix":1285,"href":"/logements/5-1946-rue-royale-1942-694827","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/7f047577a273551fdd2eda878cfbc6370b07a5e1-1500x1000.jpg","prixLabel":"À partir de 1 285$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.3381785,"lng":-72.5468178,"immeubleId":"immeuble-bs-78017"},{"slug":"5-1071-boulevard-thibeau-1071-578357","titre":"5½ — 1071 Boulevard Thibeau","adresse":"1071 Boulevard Thibeau","adresseUnite":"1071 Boulevard Thibeau, app. 1071","ville":"Trois-Rivières","region":"Mauricie","type":"5½","etage":"Demi sous-sol","prix":1295,"href":"/logements/5-1071-boulevard-thibeau-1071-578357","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ae536808093123a275d50648cdace5e3e79c817d-1500x1000.jpg","prixLabel":"À partir de 1 295$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.3937526,"lng":-72.5582928,"immeubleId":"immeuble-bs-66947"},{"slug":"5-saint-felix-de-valois-704980","titre":"5½ — 240 Rue Mayrand","adresse":"240 Rue Mayrand","adresseUnite":"240 Rue Mayrand, app. 3","ville":"Saint-Félix-de-Valois","region":"Lanaudière","type":"5½","etage":"Demi sous-sol","prix":1295,"href":"/logements/5-saint-felix-de-valois-704980","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/f172ff3a7518f949dce2f05308b72c0760c0bebb-2000x1333.jpg","prixLabel":"À partir de 1 295$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-08-01","lat":46.1654852,"lng":-73.4312112,"immeubleId":"immeuble-bs-78722"},{"slug":"3-261-rue-beauvilliers-005-626597","titre":"3½ — 261 Rue Beauvilliers","adresse":"261 Rue Beauvilliers","adresseUnite":"261 Rue Beauvilliers, app. 5","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"3½","etage":"2e Étage","prix":950,"href":"/logements/3-261-rue-beauvilliers-005-626597","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/52e052a8c456e330f4d0d5010517e0e9730082c8-960x640.jpg","prixLabel":"À partir de 950$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-01-01","lat":46.29497500000001,"lng":-73.3778921,"immeubleId":"immeuble-bs-75005"},{"slug":"4-665-rue-saint-christophe-4-864233","titre":"4½ — 665 Rue Saint Christophe","adresse":"665 Rue Saint Christophe","adresseUnite":"665 Rue Saint Christophe, app. 4","ville":"Trois-Rivières","region":"Mauricie","type":"4½","etage":"1er Étage","prix":1125,"href":"/logements/4-665-rue-saint-christophe-4-864233","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/a4b591d5d109d04e6b5bd9b655cb7a8b16f37174-1500x1000.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-05-01","lat":46.3563173,"lng":-72.5493661,"immeubleId":"immeuble-bs-85269"},{"slug":"3-655-rue-saint-christophe-5-864228","titre":"3½ — 655 Rue Saint Christophe","adresse":"655 Rue Saint Christophe","adresseUnite":"655 Rue Saint Christophe, app. 5","ville":"Trois-Rivières","region":"Mauricie","type":"3½","etage":"2e Étage","prix":1015,"href":"/logements/3-655-rue-saint-christophe-5-864228","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ed01996639d09df99a096ad3bbd66909834068f9-1500x1000.jpg","prixLabel":"À partir de 1 015$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-05-01","lat":46.3563512,"lng":-72.549229,"immeubleId":"immeuble-bs-85268"},{"slug":"3-330-rue-de-bienville-5-446232","titre":"3½ — 330 Rue de Bienville","adresse":"330 Rue de Bienville","adresseUnite":"330 Rue de Bienville, app. 5","ville":"Berthierville","region":"Lanaudière","type":"3½","etage":"2e Étage","prix":1025,"href":"/logements/3-330-rue-de-bienville-5-446232","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/2ce77fa83290f349521effb98fb314608c78ecbe-1500x1000.jpg","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0897064,"lng":-73.1735708,"immeubleId":"immeuble-bs-58779"},{"slug":"5-18045-boulevard-des-acadiens-204-691050","titre":"5½ — 18045 Boulevard des Acadiens","adresse":"18045 Boulevard des Acadiens","adresseUnite":"18045 Boulevard des Acadiens, app. 204","ville":"Bécancour","region":"Mauricie","type":"5½","etage":"2e Étage","prix":1295,"href":"/logements/5-18045-boulevard-des-acadiens-204-691050","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/d946661625993b9d4c2db058391578e23609682e-1500x1000.jpg","prixLabel":"À partir de 1 295$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-10-01","lat":46.2667659,"lng":-72.5128878,"immeubleId":"immeuble-bs-77420"},{"slug":"3-saint-ambroise-de-kildare-446194","titre":"3½ — 1135 Route 343","adresse":"1135 Route 343","adresseUnite":"1135 Route 343, app. 105","ville":"Saint-Ambroise-de-Kildare","region":"Lanaudière","type":"3½","etage":"Demi sous-sol","prix":1025,"href":"/logements/3-saint-ambroise-de-kildare-446194","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/efc965fdc03a53f7ab9a42708ac78344e274c608-1189x701.png","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0810661,"lng":-73.5555309,"immeubleId":"immeuble-bs-58774"},{"slug":"3-91-rue-pelland-303-923023","titre":"3½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 303","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"3½","etage":"3e Étage","prix":1050,"href":"/logements/3-91-rue-pelland-303-923023","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/732ea35813d6713e5845d6f6008a4bdf797ffea9-1500x1000.jpg","prixLabel":"À partir de 1 050$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-lachute-951585","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 5","ville":"Lachute","region":"Laurentides","type":"3½","etage":"Demi sous-sol","prix":1100,"href":"/logements/3-lachute-951585","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 100$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949604","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 5","ville":"Lachute","region":"Laurentides","type":"3½","etage":"Demi sous-sol","prix":1100,"href":"/logements/3-lachute-949604","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 100$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-229-rue-beauvilliers-8-800651","titre":"5½ — 229 Rue Beauvilliers","adresse":"229 Rue Beauvilliers","adresseUnite":"229 Rue Beauvilliers, app. 8","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"5½","etage":"3e Étage","prix":1125,"href":"/logements/5-229-rue-beauvilliers-8-800651","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/b2b1693d80df7a82d734d390c6d9a15c772d31e9-1500x1000.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-09-15","lat":46.29442419999999,"lng":-73.3787123,"immeubleId":"immeuble-bs-82484"},{"slug":"4-231-rue-mayrand-7-924674","titre":"4½ — 231 Rue Mayrand","adresse":"231 Rue Mayrand","adresseUnite":"231 Rue Mayrand, app. 7","ville":"Saint-Félix-de-Valois","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1150,"href":"/logements/4-231-rue-mayrand-7-924674","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/5f01ea4a0b8011ed9be3abd89011327391b8122f-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.165023,"lng":-73.43081839999999,"immeubleId":"immeuble-bs-86915"},{"slug":"5-saint-charles-borromee-406701","titre":"5½ — 1041 Rue de la Visitation","adresse":"1041 Rue de la Visitation","adresseUnite":"1041 Rue de la Visitation, app. 201","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"5½","etage":"1er Étage","prix":1300,"href":"/logements/5-saint-charles-borromee-406701","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/3e3f9ca67216c81e8b67e57a575c1f494f6e63b0-1994x1333.jpg","prixLabel":"À partir de 1 300$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0610267,"lng":-73.4838512,"immeubleId":"immeuble-bs-55266"},{"slug":"4-saint-charles-borromee-406740","titre":"4½ — 1039 Rue de la Visitation","adresse":"1039 Rue de la Visitation","adresseUnite":"1039 Rue de la Visitation, app. 305","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1150,"href":"/logements/4-saint-charles-borromee-406740","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/cffcb18a72dfa64b7a391c589f8be82165b7d9cf-1496x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0790799,"lng":-73.5532216,"immeubleId":"immeuble-bs-55267"},{"slug":"4-2062-rue-de-la-visitation-202-816478","titre":"4½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 202","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1150,"href":"/logements/4-2062-rue-de-la-visitation-202-816478","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40f40c3737360e92e0e65592f38bd5e50029b563-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"4-2064-rue-de-la-visitation-205-831862","titre":"4½ — 2064 Rue de la Visitation","adresse":"2064 Rue de la Visitation","adresseUnite":"2064 Rue de la Visitation, app. 205","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1150,"href":"/logements/4-2064-rue-de-la-visitation-205-831862","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/b6dd95cac818b21fe04ae09b39ce4cb96bb43895-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-02-01","lat":46.0699158,"lng":-73.49557279999999,"immeubleId":"immeuble-bs-83787"},{"slug":"4-261-rue-beauvilliers-008-626600","titre":"4½ — 261 Rue Beauvilliers","adresse":"261 Rue Beauvilliers","adresseUnite":"261 Rue Beauvilliers, app. 8","ville":"Saint-Gabriel-de-Brandon","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1100,"href":"/logements/4-261-rue-beauvilliers-008-626600","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ccfe523ffc1637521dbe10339800a2d15b4e296e-1500x1000.jpg","prixLabel":"À partir de 1 100$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.29497500000001,"lng":-73.3778921,"immeubleId":"immeuble-bs-75005"},{"slug":"3-330-rue-de-bienville-8-abordable-446235","titre":"3½ — 330 Rue de Bienville","adresse":"330 Rue de Bienville","adresseUnite":"330 Rue de Bienville, app. 8","ville":"Berthierville","region":"Lanaudière","type":"3½","etage":"3e Étage","prix":1025,"href":"/logements/3-330-rue-de-bienville-8-abordable-446235","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/2ce77fa83290f349521effb98fb314608c78ecbe-1500x1000.jpg","prixLabel":"À partir de 1 025$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0897064,"lng":-73.1735708,"immeubleId":"immeuble-bs-58779"},{"slug":"5-1135-quebec-343-401-446208","titre":"5½ — 1135 Route 343","adresse":"1135 Route 343","adresseUnite":"1135 Route 343, app. 401","ville":"Saint-Ambroise-de-Kildare","region":"Lanaudière","type":"5½","etage":"3e Étage","prix":1285,"href":"/logements/5-1135-quebec-343-401-446208","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/5e30a107011e4bf7808331c3f4cfbc997995963e-1500x1000.jpg","prixLabel":"À partir de 1 285$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0810661,"lng":-73.5555309,"immeubleId":"immeuble-bs-58774"},{"slug":"4-91-rue-pelland-102-923016","titre":"4½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 102","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"4½","etage":"1er Étage","prix":1075,"href":"/logements/4-91-rue-pelland-102-923016","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/b826299e7897eee4a7b12985fbe27ec563859ebe-1500x1000.jpg","prixLabel":"À partir de 1 075$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-lachute-951588","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 102","ville":"Lachute","region":"Laurentides","type":"3½","etage":"1er Étage","prix":1125,"href":"/logements/3-lachute-951588","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949613","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 102","ville":"Lachute","region":"Laurentides","type":"3½","etage":"1er Étage","prix":1125,"href":"/logements/3-lachute-949613","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-2062-rue-de-la-visitation-204-816480","titre":"4½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 204","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1150,"href":"/logements/4-2062-rue-de-la-visitation-204-816480","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/da7590154f749a136760cd295d44183bc60d4cc7-2000x1333.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"4-2064-rue-de-la-visitation-302-831865","titre":"4½ — 2064 Rue de la Visitation","adresse":"2064 Rue de la Visitation","adresseUnite":"2064 Rue de la Visitation, app. 302","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1150,"href":"/logements/4-2064-rue-de-la-visitation-302-831865","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40f40c3737360e92e0e65592f38bd5e50029b563-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-02-01","lat":46.0699158,"lng":-73.49557279999999,"immeubleId":"immeuble-bs-83787"},{"slug":"5-saint-ambroise-de-kildare-446207","titre":"5½ — 1135 Route 343","adresse":"1135 Route 343","adresseUnite":"1135 Route 343, app. 306","ville":"Saint-Ambroise-de-Kildare","region":"Lanaudière","type":"5½","etage":"2e Étage","prix":1285,"href":"/logements/5-saint-ambroise-de-kildare-446207","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/4c68bfc7b442dfa67b3727e7d6573c7dafeb381a-1500x1000.jpg","prixLabel":"À partir de 1 285$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0810661,"lng":-73.5555309,"immeubleId":"immeuble-bs-58774"},{"slug":"4-91-rue-pelland-105-923027","titre":"4½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 105","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"4½","etage":"1er Étage","prix":1075,"href":"/logements/4-91-rue-pelland-105-923027","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/a179956ff6428d2858b61fe90ec83fd78b80d38d-1500x1000.jpg","prixLabel":"À partir de 1 075$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-lachute-951591","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 105","ville":"Lachute","region":"Laurentides","type":"3½","etage":"1er Étage","prix":1125,"href":"/logements/3-lachute-951591","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949616","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 105","ville":"Lachute","region":"Laurentides","type":"3½","etage":"1er Étage","prix":1125,"href":"/logements/3-lachute-949616","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-2062-rue-de-la-visitation-205-816481","titre":"4½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 205","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1150,"href":"/logements/4-2062-rue-de-la-visitation-205-816481","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/b6dd95cac818b21fe04ae09b39ce4cb96bb43895-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"4-2064-rue-de-la-visitation-304-831880","titre":"4½ — 2064 Rue de la Visitation","adresse":"2064 Rue de la Visitation","adresseUnite":"2064 Rue de la Visitation, app. 304","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1150,"href":"/logements/4-2064-rue-de-la-visitation-304-831880","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/da7590154f749a136760cd295d44183bc60d4cc7-2000x1333.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-02-01","lat":46.0699158,"lng":-73.49557279999999,"immeubleId":"immeuble-bs-83787"},{"slug":"4-91-rue-pelland-204-923025","titre":"4½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 204","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1075,"href":"/logements/4-91-rue-pelland-204-923025","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/647ecc5763a972c5f3a1aabcbd1adbcb12944ba9-1500x1000.jpg","prixLabel":"À partir de 1 075$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-lachute-951594","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 202","ville":"Lachute","region":"Laurentides","type":"3½","etage":"2e Étage","prix":1125,"href":"/logements/3-lachute-951594","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949619","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 202","ville":"Lachute","region":"Laurentides","type":"3½","etage":"2e Étage","prix":1125,"href":"/logements/3-lachute-949619","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-2062-rue-de-la-visitation-302-816484","titre":"4½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 302","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1150,"href":"/logements/4-2062-rue-de-la-visitation-302-816484","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40f40c3737360e92e0e65592f38bd5e50029b563-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"4-2064-rue-de-la-visitation-305-831881","titre":"4½ — 2064 Rue de la Visitation","adresse":"2064 Rue de la Visitation","adresseUnite":"2064 Rue de la Visitation, app. 305","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1150,"href":"/logements/4-2064-rue-de-la-visitation-305-831881","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/b6dd95cac818b21fe04ae09b39ce4cb96bb43895-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-02-01","lat":46.0699158,"lng":-73.49557279999999,"immeubleId":"immeuble-bs-83787"},{"slug":"4-91-rue-pelland-205-923028","titre":"4½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 205","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"4½","etage":"2e Étage","prix":1075,"href":"/logements/4-91-rue-pelland-205-923028","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/a179956ff6428d2858b61fe90ec83fd78b80d38d-1500x1000.jpg","prixLabel":"À partir de 1 075$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-lachute-952150","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 205","ville":"Lachute","region":"Laurentides","type":"3½","etage":"2e Étage","prix":1125,"href":"/logements/3-lachute-952150","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949624","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 205","ville":"Lachute","region":"Laurentides","type":"3½","etage":"2e Étage","prix":1125,"href":"/logements/3-lachute-949624","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-2062-rue-de-la-visitation-304-816486","titre":"4½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 304","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1150,"href":"/logements/4-2062-rue-de-la-visitation-304-816486","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/da7590154f749a136760cd295d44183bc60d4cc7-2000x1333.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"5-2064-rue-de-la-visitation-106-831857","titre":"5½ — 2064 Rue de la Visitation","adresse":"2064 Rue de la Visitation","adresseUnite":"2064 Rue de la Visitation, app. 106","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"5½","etage":"1er Étage","prix":1325,"href":"/logements/5-2064-rue-de-la-visitation-106-831857","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ff5472dade10919d6e16be853d8937a070b9eb16-1500x1000.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-02-01","lat":46.0699158,"lng":-73.49557279999999,"immeubleId":"immeuble-bs-83787"},{"slug":"4-91-rue-pelland-302-923020","titre":"4½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 302","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1075,"href":"/logements/4-91-rue-pelland-302-923020","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/b826299e7897eee4a7b12985fbe27ec563859ebe-1500x1000.jpg","prixLabel":"À partir de 1 075$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-lachute-952152","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 302","ville":"Lachute","region":"Laurentides","type":"3½","etage":"3e Étage","prix":1125,"href":"/logements/3-lachute-952152","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949627","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 302","ville":"Lachute","region":"Laurentides","type":"3½","etage":"3e Étage","prix":1125,"href":"/logements/3-lachute-949627","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-2062-rue-de-la-visitation-305-816487","titre":"4½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 305","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1150,"href":"/logements/4-2062-rue-de-la-visitation-305-816487","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/b6dd95cac818b21fe04ae09b39ce4cb96bb43895-1500x1000.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"5-2064-rue-de-la-visitation-206-831863","titre":"5½ — 2064 Rue de la Visitation","adresse":"2064 Rue de la Visitation","adresseUnite":"2064 Rue de la Visitation, app. 206","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"5½","etage":"2e Étage","prix":1325,"href":"/logements/5-2064-rue-de-la-visitation-206-831863","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ff5472dade10919d6e16be853d8937a070b9eb16-1500x1000.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-02-01","lat":46.0699158,"lng":-73.49557279999999,"immeubleId":"immeuble-bs-83787"},{"slug":"4-91-rue-pelland-304-923026","titre":"4½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 305","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1075,"href":"/logements/4-91-rue-pelland-304-923026","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/a179956ff6428d2858b61fe90ec83fd78b80d38d-1500x1000.jpg","prixLabel":"À partir de 1 075$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-lachute-952155","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 305","ville":"Lachute","region":"Laurentides","type":"3½","etage":"3e Étage","prix":1125,"href":"/logements/3-lachute-952155","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949630","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 305","ville":"Lachute","region":"Laurentides","type":"3½","etage":"3e Étage","prix":1125,"href":"/logements/3-lachute-949630","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 125$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-2062-rue-de-la-visitation-106-816476","titre":"5½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 106","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"5½","etage":"1er Étage","prix":1325,"href":"/logements/5-2062-rue-de-la-visitation-106-816476","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ff5472dade10919d6e16be853d8937a070b9eb16-1500x1000.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"5-2064-rue-de-la-visitation-306-831882","titre":"5½ — 2064 Rue de la Visitation","adresse":"2064 Rue de la Visitation","adresseUnite":"2064 Rue de la Visitation, app. 306","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"5½","etage":"3e Étage","prix":1325,"href":"/logements/5-2064-rue-de-la-visitation-306-831882","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ff5472dade10919d6e16be853d8937a070b9eb16-1500x1000.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-02-01","lat":46.0699158,"lng":-73.49557279999999,"immeubleId":"immeuble-bs-83787"},{"slug":"4-91-rue-pelland-305-923029","titre":"4½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 305","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"4½","etage":"3e Étage","prix":1075,"href":"/logements/4-91-rue-pelland-305-923029","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/a179956ff6428d2858b61fe90ec83fd78b80d38d-1500x1000.jpg","prixLabel":"À partir de 1 075$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"3-lachute-951581","titre":"3½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 1","ville":"Lachute","region":"Laurentides","type":"3½","etage":"Demi sous-sol","prix":1150,"href":"/logements/3-lachute-951581","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"3-lachute-949600","titre":"3½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 1","ville":"Lachute","region":"Laurentides","type":"3½","etage":"Demi sous-sol","prix":1150,"href":"/logements/3-lachute-949600","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/912dd0c5f52e5201660e2d6550d7475367b2260a-960x720.jpg","prixLabel":"À partir de 1 150$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-2062-rue-de-la-visitation-206-816482","titre":"5½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 206","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"5½","etage":"2e Étage","prix":1325,"href":"/logements/5-2062-rue-de-la-visitation-206-816482","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ff5472dade10919d6e16be853d8937a070b9eb16-1500x1000.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"5-91-rue-pelland-206-923031","titre":"5½ — 91 Rue Pelland","adresse":"91 Rue Pelland","adresseUnite":"91 Rue Pelland, app. 206","ville":"Sainte-Élisabeth","region":"Lanaudière","type":"5½","etage":"2e Étage","prix":1250,"href":"/logements/5-91-rue-pelland-206-923031","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/bbbbd9da2349a9b90e50fa355396d5cc821e54cd-1500x1000.jpg","prixLabel":"À partir de 1 250$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2026-07-01","lat":46.0941322,"lng":-73.3491466,"immeubleId":"immeuble-bs-86670"},{"slug":"4-lachute-951583","titre":"4½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 3","ville":"Lachute","region":"Laurentides","type":"4½","etage":"Demi sous-sol","prix":1300,"href":"/logements/4-lachute-951583","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 300$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"4-lachute-949602","titre":"4½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 3","ville":"Lachute","region":"Laurentides","type":"4½","etage":"Demi sous-sol","prix":1300,"href":"/logements/4-lachute-949602","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 300$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-2062-rue-de-la-visitation-306-816488","titre":"5½ — 2062 Rue de la Visitation","adresse":"2062 Rue de la Visitation","adresseUnite":"2062 Rue de la Visitation, app. 306","ville":"Saint-Charles-Borromée","region":"Lanaudière","type":"5½","etage":"3e Étage","prix":1325,"href":"/logements/5-2062-rue-de-la-visitation-306-816488","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/ff5472dade10919d6e16be853d8937a070b9eb16-1500x1000.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible dès maintenant","dateDisponibilite":"2025-12-01","lat":46.0697127,"lng":-73.495232,"immeubleId":"immeuble-bs-82930"},{"slug":"4-lachute-951586","titre":"4½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 6","ville":"Lachute","region":"Laurentides","type":"4½","etage":"Demi sous-sol","prix":1300,"href":"/logements/4-lachute-951586","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 300$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"4-lachute-949605","titre":"4½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 6","ville":"Lachute","region":"Laurentides","type":"4½","etage":"Demi sous-sol","prix":1300,"href":"/logements/4-lachute-949605","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 300$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-lachute-951589","titre":"4½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 103","ville":"Lachute","region":"Laurentides","type":"4½","etage":"1er Étage","prix":1325,"href":"/logements/4-lachute-951589","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"4-lachute-949614","titre":"4½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 103","ville":"Lachute","region":"Laurentides","type":"4½","etage":"1er Étage","prix":1325,"href":"/logements/4-lachute-949614","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-lachute-951592","titre":"4½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 106","ville":"Lachute","region":"Laurentides","type":"4½","etage":"1er Étage","prix":1325,"href":"/logements/4-lachute-951592","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"4-lachute-949617","titre":"4½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 106","ville":"Lachute","region":"Laurentides","type":"4½","etage":"1er Étage","prix":1325,"href":"/logements/4-lachute-949617","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-lachute-952148","titre":"4½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 203","ville":"Lachute","region":"Laurentides","type":"4½","etage":"2e Étage","prix":1325,"href":"/logements/4-lachute-952148","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"4-lachute-949620","titre":"4½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 203","ville":"Lachute","region":"Laurentides","type":"4½","etage":"2e Étage","prix":1325,"href":"/logements/4-lachute-949620","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-lachute-952157","titre":"4½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 206","ville":"Lachute","region":"Laurentides","type":"4½","etage":"2e Étage","prix":1325,"href":"/logements/4-lachute-952157","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"4-lachute-949625","titre":"4½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 206","ville":"Lachute","region":"Laurentides","type":"4½","etage":"2e Étage","prix":1325,"href":"/logements/4-lachute-949625","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-lachute-952153","titre":"4½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 303","ville":"Lachute","region":"Laurentides","type":"4½","etage":"3e Étage","prix":1325,"href":"/logements/4-lachute-952153","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"4-lachute-949628","titre":"4½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 303","ville":"Lachute","region":"Laurentides","type":"4½","etage":"3e Étage","prix":1325,"href":"/logements/4-lachute-949628","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"4-lachute-952156","titre":"4½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 306","ville":"Lachute","region":"Laurentides","type":"4½","etage":"3e Étage","prix":1325,"href":"/logements/4-lachute-952156","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"4-lachute-949631","titre":"4½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 306","ville":"Lachute","region":"Laurentides","type":"4½","etage":"3e Étage","prix":1325,"href":"/logements/4-lachute-949631","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/40dfde9dacd291a776ca46454854a5960ea0222c-960x720.jpg","prixLabel":"À partir de 1 325$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-lachute-951584","titre":"5½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 4","ville":"Lachute","region":"Laurentides","type":"5½","etage":"Demi sous-sol","prix":1500,"href":"/logements/5-lachute-951584","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"5-lachute-949603","titre":"5½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 4","ville":"Lachute","region":"Laurentides","type":"5½","etage":"Demi sous-sol","prix":1500,"href":"/logements/5-lachute-949603","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-lachute-951587","titre":"5½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 101","ville":"Lachute","region":"Laurentides","type":"5½","etage":"1er Étage","prix":1500,"href":"/logements/5-lachute-951587","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"5-lachute-949612","titre":"5½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 101","ville":"Lachute","region":"Laurentides","type":"5½","etage":"1er Étage","prix":1500,"href":"/logements/5-lachute-949612","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-lachute-951590","titre":"5½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 104","ville":"Lachute","region":"Laurentides","type":"5½","etage":"1er Étage","prix":1500,"href":"/logements/5-lachute-951590","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"5-lachute-949615","titre":"5½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 104","ville":"Lachute","region":"Laurentides","type":"5½","etage":"1er Étage","prix":1500,"href":"/logements/5-lachute-949615","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-lachute-951593","titre":"5½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 201","ville":"Lachute","region":"Laurentides","type":"5½","etage":"2e Étage","prix":1500,"href":"/logements/5-lachute-951593","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"5-lachute-949618","titre":"5½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 201","ville":"Lachute","region":"Laurentides","type":"5½","etage":"2e Étage","prix":1500,"href":"/logements/5-lachute-949618","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-lachute-952149","titre":"5½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 204","ville":"Lachute","region":"Laurentides","type":"5½","etage":"2e Étage","prix":1500,"href":"/logements/5-lachute-952149","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"5-lachute-949622","titre":"5½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 204","ville":"Lachute","region":"Laurentides","type":"5½","etage":"2e Étage","prix":1500,"href":"/logements/5-lachute-949622","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-lachute-952151","titre":"5½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 301","ville":"Lachute","region":"Laurentides","type":"5½","etage":"3e Étage","prix":1500,"href":"/logements/5-lachute-952151","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"5-lachute-949626","titre":"5½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 301","ville":"Lachute","region":"Laurentides","type":"5½","etage":"3e Étage","prix":1500,"href":"/logements/5-lachute-949626","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"},{"slug":"5-lachute-952154","titre":"5½ — 391 Avenue d'Argenteuil","adresse":"391 Avenue d'Argenteuil","adresseUnite":"391 Avenue d'Argenteuil, app. 304","ville":"Lachute","region":"Laurentides","type":"5½","etage":"3e Étage","prix":1500,"href":"/logements/5-lachute-952154","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mai 2027","dateDisponibilite":"2027-05-01","lat":45.6442878,"lng":-74.3440633,"immeubleId":"immeuble-bs-87997"},{"slug":"5-lachute-949629","titre":"5½ — 395 Avenue d'Argenteuil","adresse":"395 Avenue d'Argenteuil","adresseUnite":"395 Avenue d'Argenteuil, app. 304","ville":"Lachute","region":"Laurentides","type":"5½","etage":"3e Étage","prix":1500,"href":"/logements/5-lachute-949629","photo":"https://cdn.sanity.io/images/4ae0mkdu/production/780ba9c846ba0360c7ba42791323a5cf696aae5e-960x720.jpg","prixLabel":"À partir de 1 500$ / mois","disponibiliteLabel":"Disponible à partir du 1 mars 2027","dateDisponibilite":"2027-03-01","lat":45.6441148,"lng":-74.3443927,"immeubleId":"immeuble-bs-87947"}]</script> <script type="module" src="/_astro/index.astro_astro_type_script_index_0_lang.D8Pp2MJx.js?dpl=6a770c5aa9d6f6000809ad95"></script> </main> <footer class="border-t border-warm-200 bg-warm-100"> <div class="mx-auto max-w-7xl px-4 py-12 sm:px-6"> <div class="grid gap-8 sm:grid-cols-2 lg:grid-cols-4"> <!-- Col 1 : Logo + tagline --> <div> <img src="/logo-location-di.png" alt="Location DI" class="h-12"> <p class="mt-3 text-sm font-semibold text-warm-800">Bien logé, bien accompagné.</p> <p class="mt-2 max-w-xs text-sm leading-relaxed text-warm-600">124Une équipe locative à échelle humaine pour t'accompagner.125</p> </div> <!-- Col 2 : Coordonnées + Confiance --> <div> <p class="text-sm font-semibold text-warm-900">Coordonnées</p> <div class="mt-2 space-y-1 text-sm text-warm-600"> <p>544 Rue Notre-Dame</p><p>Repentigny, QC J6A 2T8</p><p>Local 101</p> <p class="mt-2"> <a href="tel:4388123694" class="hover:text-accent-600">438-812-3694</a> </p> <p> <a href="mailto:location@spheredi.com" class="hover:text-accent-600">location@spheredi.com</a> </p> </div> <div class="mt-5"> <p class="text-sm font-semibold text-warm-900">Confiance</p> <div class="mt-2 space-y-1.5 text-sm text-warm-600"> <p class="flex gap-2"> <span class="text-accent-600">✓</span> <span>Plus de 750 logements à louer à travers le Québec</span> </p><p class="flex gap-2"> <span class="text-accent-600">✓</span> <span>Moderne et abordable</span> </p><p class="flex gap-2"> <span class="text-accent-600">✓</span> <a href="https://spheredi.com" target="_blank" rel="noopener noreferrer" class="hover:text-accent-600"> Groupe Sphère DI – Promoteur immobilier d'expérience </a> </p> </div> </div> </div> <!-- Col 3 : Disponibilités + Sociaux + CTA --> <div> <p class="text-sm font-semibold text-warm-900">Disponibilités</p> <div class="mt-2 space-y-1 text-sm text-warm-600"> <p>Lun-ven 8h à 16h</p> <p class="text-warm-500">Soirs et fins de semaine couverts</p> </div> <div class="mt-5"> <p class="text-sm font-semibold text-warm-900">Suis-nous</p> <div class="mt-2 flex gap-3"> <a href="https://www.facebook.com/1018488254690464" target="_blank" rel="noopener noreferrer" aria-label="Page Facebook Location DI - Gestionnaire d'immeubles" class="flex h-8 w-8 items-center justify-center rounded-full border border-warm-300 text-warm-400 transition hover:border-accent-400 hover:text-accent-600"> <svg class="h-4 w-4" fill="currentColor" viewBox="0 0 24 24"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg> </a> </div> </div> <a href="/logements" class="mt-5 inline-flex items-center justify-center rounded-xl bg-accent-500 px-5 py-2.5 text-sm font-semibold text-white transition hover:bg-accent-400">126Voir les logements127</a> </div> <!-- Col 4 : Navigation --> <div> <p class="text-sm font-semibold text-warm-900">Navigation</p> <div class="mt-2 space-y-1 text-sm"> <a href="/" class="block text-warm-600 hover:text-accent-600">Accueil</a> <a href="/logements" class="block text-warm-600 hover:text-accent-600">Logements</a> <a href="/notre-entreprise" class="block text-warm-600 hover:text-accent-600">Notre entreprise</a> <a href="/contact" class="block text-warm-600 hover:text-accent-600">Contact</a> <a href="/contact?mode=proprietaire" class="block text-warm-500 hover:text-warm-700">Propriétaires?</a> </div> <div class="mt-5"> <p class="text-sm font-semibold text-warm-900">Régions</p> <div class="mt-2 space-y-1 text-sm"> <a href="/logements/region/lanaudiere" class="block text-warm-600 hover:text-accent-600"> Lanaudière </a><a href="/logements/region/laurentides" class="block text-warm-600 hover:text-accent-600"> Laurentides </a><a href="/logements/region/mauricie" class="block text-warm-600 hover:text-accent-600"> Mauricie </a><a href="/logements/region/montreal" class="block text-warm-600 hover:text-accent-600"> Montréal </a> </div> </div> </div> </div> <div class="mt-10 flex flex-col items-center justify-between gap-4 border-t border-warm-200 pt-6 sm:flex-row"> <div class="flex flex-wrap justify-center gap-x-4 gap-y-2 text-sm text-warm-500 sm:justify-start"> <a href="/politique-confidentialite" class="hover:text-warm-700">Politique de confidentialité</a> <span>·</span> <a href="/conditions-utilisation" class="hover:text-warm-700">Conditions d'utilisation</a> <span>·</span> <a href="/suppression-donnees" class="hover:text-warm-700">Suppression des données</a> <span>·</span> <a href="#" data-consent-manage class="hover:text-warm-700">Gérer mes préférences</a> <span>·</span> <a href="https://spheredi.com" target="_blank" rel="noopener noreferrer" class="hover:text-warm-700">128Groupe Sphère DI ↗129</a> </div> <p class="text-sm text-warm-400">© 2026 Location DI - Tous droits réservés</p> </div> </div> </footer> <nav class="fixed inset-x-0 bottom-0 z-40 flex border-t border-warm-200/60 bg-cream/95 shadow-[0_-2px_8px_rgba(0,0,0,0.04)] backdrop-blur-sm md:hidden" style="padding-bottom: env(safe-area-inset-bottom);" aria-label="Navigation mobile principale"> <a href="/logements" class="flex flex-1 flex-col items-center justify-center gap-1 py-3 text-xs font-semibold text-warm-700 transition hover:text-accent-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent-500"> <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-4.35-4.35M17 11a6 6 0 11-12 0 6 6 0 0112 0z"></path> </svg> <span>Trouve ton logement</span> </a> <a href="/contact" class="flex flex-1 flex-col items-center justify-center gap-1 border-l border-warm-200/60 py-3 text-xs font-semibold text-warm-700 transition hover:text-accent-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent-500"> <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path> </svg> <span>Contact</span> </a> </nav> <!-- Floating chat button + panel --><div id="chat-humain" class="fixed right-4 z-50 bottom-[calc(5rem+env(safe-area-inset-bottom))] flex flex-col items-end gap-3 sm:bottom-6 sm:right-6" data-messenger-page-id="1018488254690464" data-astro-cid-ryytxnzt> <!-- Panel (hidden by default) --> <div id="chat-panel" class="hidden flex flex-col bg-white fixed inset-x-0 z-50 w-full h-[var(--vv-h,100dvh)] top-[var(--vv-offset-top,0px)] bottom-auto sm:relative sm:inset-auto sm:top-auto sm:bottom-auto sm:w-[400px] sm:h-auto sm:max-h-[580px] sm:rounded-2xl sm:border sm:border-warm-200 sm:shadow-xl" role="dialog" aria-modal="true" aria-label="Clavardage avec Lea" data-astro-cid-ryytxnzt> <!-- Header (sticky en haut, safe area iOS top, swipe-to-close mobile) --> <div id="chat-header" class="shrink-0 z-10 border-b border-warm-100 bg-accent-50 px-5 py-4 touch-none" style="padding-top: max(1rem, env(safe-area-inset-top));" data-astro-cid-ryytxnzt> <!-- Handle bar mobile only (visual cue swipe-to-close pattern Messenger natif) --> <div id="chat-header-handle" class="mx-auto mb-2 h-1.5 w-12 rounded-full bg-warm-300 sm:hidden" data-astro-cid-ryytxnzt></div> <div class="flex items-center justify-between gap-2" data-astro-cid-ryytxnzt> <h3 class="font-serif text-lg font-bold text-warm-900" data-astro-cid-ryytxnzt>Chat avec nous</h3> <div class="flex items-center gap-1" data-astro-cid-ryytxnzt> <!-- Mutation 2b#2 (Codex) : Porte de sortie humaine persistante.130 Bouton compact "Équipe" dans le header, mobile = icône seule (économie d'espace),131 desktop = icône + label. Same handler que chat-trigger-team-contact welcome. --> <button id="chat-header-team" class="flex h-11 items-center justify-center gap-1.5 rounded-full px-3 text-xs font-semibold text-accent-700 transition hover:bg-accent-100 sm:h-8" aria-label="Texter l'équipe (SMS)" data-astro-cid-ryytxnzt> <svg class="h-4 w-4 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-ryytxnzt> <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 9.75h4.5m-4.5 3H12m6.75-6.75c1.243 0 2.25 1.007 2.25 2.25v6c0 1.243-1.007 2.25-2.25 2.25h-2.69l-3.31 2.48V15.75H5.25A2.25 2.25 0 013 13.5v-6c0-1.243 1.007-2.25 2.25-2.25h13.5z" data-astro-cid-ryytxnzt></path> </svg> <span class="hidden sm:inline" data-astro-cid-ryytxnzt>Texter</span> </button> <button id="chat-close" class="flex h-11 w-11 items-center justify-center rounded-full text-warm-400 transition hover:bg-warm-100 hover:text-warm-600 sm:h-7 sm:w-7" aria-label="Fermer le chat" data-astro-cid-ryytxnzt> <svg class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-ryytxnzt> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" data-astro-cid-ryytxnzt></path> </svg> </button> </div> </div> <div id="chat-header-meta" class="mt-1.5 flex items-center gap-2" data-astro-cid-ryytxnzt> <!-- Badge (C''' non-retour) : « Assistant IA » par défaut, remplacé définitivement par132 « Équipe Location DI » (même style) dès l'état HUMAIN (setHeaderHumain) — le laisser133 dire « IA » contredirait le point de non-retour. Jamais reversé (aller simple). --> <span id="chat-header-ia-badge" class="inline-flex items-center gap-1 rounded-full bg-accent-100 px-2.5 py-0.5 text-xs font-semibold text-accent-700" data-astro-cid-ryytxnzt> <span class="h-1.5 w-1.5 rounded-full bg-accent-500" data-astro-cid-ryytxnzt></span> <span id="chat-header-ia-badge-label" data-astro-cid-ryytxnzt>Assistant IA</span> </span> <!-- Porte-état (D69) : « Équipe en ligne » seulement quand la présence GI est PROUVÉE134 (gi_disponible, maj par maybeUpdateWelcomeForEtat) ; « Vous êtes avec l'équipe »135 (générique, C''') en état HUMAIN — défaut/repli honnête ci-dessous sinon. --> <span id="chat-header-status" class="text-xs text-warm-500" data-astro-cid-ryytxnzt>Assistante virtuelle 24/7</span> </div> </div> <!-- Messages area --> <div id="chat-messages" class="flex-1 overflow-y-auto [overflow-anchor:auto] px-4 py-4 space-y-3 min-h-0 sm:min-h-[200px] sm:max-h-[320px]" data-astro-cid-ryytxnzt> <!-- Welcome message (2 bulles aerees - T03d ajustement esthetique) --> <div id="chat-welcome" data-astro-cid-ryytxnzt> <div id="chat-welcome-intro" class="mb-2 rounded-xl bg-warm-50 px-3.5 py-2.5 text-sm text-warm-700 max-w-[80%]" data-astro-cid-ryytxnzt>136Bonjour! Je suis Léa, l'assistante virtuelle de Location DI.137</div> <div id="chat-welcome-role" class="mb-3 rounded-xl bg-warm-50 px-3.5 py-2.5 text-sm text-warm-700 max-w-[80%]" data-astro-cid-ryytxnzt>138Je prépare votre demande pour notre équipe humaine.139</div> <!-- Action rapide texto (G2-express, D74 amendée : le texto précède la voix). Masquée140 quand la présence d'équipe est PROUVÉE (vibe ACCUEIL : écrire ici EST la ligne141 directe — setVibeEquipeEnLigne).142 Rétrogradation 2026-07-11 (finding « widget vs texté », SCOPE MOBILE) : sur mobile,143 « Texter l'équipe » ouvre l'app SMS → deux canaux en parallèle avec le champ. On144 rétrograde donc le CTA en LIEN DISCRET sur mobile (le champ = le geste), tout en145 gardant le BOUTON visible sur desktop (`sm:`), où le clic n'ouvre pas d'app SMS (repli146 numéro/formulaire) → aucune confusion. Icône bulle de texto sur les deux. La ligne147 d'invite est retirée (le placeholder « Posez votre question » la rendait redondante).148 Ids conservés (JS : toggle hidden + handler). --> <div id="chat-welcome-team-cta" class="flex flex-col mb-3 w-full sm:max-w-[80%]" data-astro-cid-ryytxnzt> <button id="chat-trigger-team-contact" class="chat-quick-action inline-flex items-center gap-1.5 self-start text-xs font-medium text-accent-600 transition hover:text-accent-700 hover:underline sm:gap-2.5 sm:rounded-xl sm:border sm:border-accent-200 sm:bg-accent-50 sm:px-3 sm:py-2 sm:text-sm sm:text-accent-700 sm:no-underline sm:hover:border-accent-300 sm:hover:bg-accent-100 sm:hover:no-underline" aria-label="Texter l'équipe (SMS)" data-astro-cid-ryytxnzt> <svg class="h-4 w-4 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-ryytxnzt> <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 9.75h4.5m-4.5 3H12m6.75-6.75c1.243 0 2.25 1.007 2.25 2.25v6c0 1.243-1.007 2.25-2.25 2.25h-2.69l-3.31 2.48V15.75H5.25A2.25 2.25 0 013 13.5v-6c0-1.243 1.007-2.25 2.25-2.25h13.5z" data-astro-cid-ryytxnzt></path> </svg>149Ou texter l'équipe150</button> </div> </div> </div> <!-- Typing indicator (hidden) --> <div id="chat-typing" class="hidden px-4 pb-2" data-astro-cid-ryytxnzt> <div class="flex items-center gap-1.5 rounded-xl bg-warm-50 px-3.5 py-2.5 max-w-[80%]" data-astro-cid-ryytxnzt> <span class="h-2 w-2 rounded-full bg-warm-400 animate-bounce" style="animation-delay: 0ms" data-astro-cid-ryytxnzt></span> <span class="h-2 w-2 rounded-full bg-warm-400 animate-bounce" style="animation-delay: 150ms" data-astro-cid-ryytxnzt></span> <span class="h-2 w-2 rounded-full bg-warm-400 animate-bounce" style="animation-delay: 300ms" data-astro-cid-ryytxnzt></span> </div> </div> <!-- Input area (sticky bas, safe area iOS bottom) --> <div class="shrink-0 border-t border-warm-100 bg-white px-4 py-3" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));" data-astro-cid-ryytxnzt> <!-- Bandeau « Répondre à » (reply-to, D65) : visible seulement quand une bulle GI a été151 choisie via le bouton « Répondre » ; annulable via le X. --> <div id="chat-reply-banner" class="hidden mb-2 items-start gap-2 rounded-lg bg-warm-50 px-3 py-2" data-astro-cid-ryytxnzt> <div class="min-w-0 flex-1" data-astro-cid-ryytxnzt> <p class="text-[10px] font-bold uppercase tracking-wider text-accent-600" data-astro-cid-ryytxnzt>Réponse à</p> <p id="chat-reply-banner-text" class="truncate text-xs text-warm-600" data-astro-cid-ryytxnzt></p> </div> <button id="chat-reply-banner-cancel" type="button" class="shrink-0 text-warm-400 hover:text-warm-600" aria-label="Annuler la réponse" data-astro-cid-ryytxnzt> <svg class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-ryytxnzt> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" data-astro-cid-ryytxnzt></path> </svg> </button> </div> <!-- Ancrage Turnstile (fix conversion 2026-07-06, trace validation-2026-07-06) : quand152 Cloudflare exige une interaction, la case se rend ICI, collée au champ de saisie —153 l'ancien conteneur position:fixed bas-GAUCHE sur <body> la rendait invisible du chat154 (suspect n° 1 du trou 75 % ouvre→écrit). Vide = zéro hauteur (empty:hidden). --> <div id="chat-turnstile-anchor" class="empty:hidden mb-2 flex justify-center" data-astro-cid-ryytxnzt></div> <form id="chat-form" class="flex items-center gap-2" data-astro-cid-ryytxnzt> <!-- Honeypot anti-bot (garde adaptative « B+ », 2026-07-14) : champ leurre invisible et hors155 tabulation. Un humain ne le voit jamais (hors écran, aria-hidden, tabindex -1) ; un bot qui156 remplit les champs le remplit -> la route /tour le lit comme signal de risque. --> <input id="chat-hp" type="text" name="website" tabindex="-1" autocomplete="off" aria-hidden="true" class="absolute left-[-9999px] top-0 h-0 w-0 opacity-0" data-astro-cid-ryytxnzt> <input id="chat-input" type="text" placeholder="Posez votre question..." maxlength="2000" autocomplete="off" autocorrect="on" spellcheck="true" enterkeyhint="send" class="flex-1 rounded-xl border border-warm-200 bg-warm-50 px-3.5 py-2.5 text-base sm:text-sm text-warm-800 placeholder:text-warm-400 outline-none transition focus:border-accent-300 focus:ring-2 focus:ring-accent-100" data-astro-cid-ryytxnzt> <button id="chat-send" type="submit" class="flex h-12 w-12 shrink-0 items-center justify-center rounded-xl bg-accent-500 text-white transition hover:bg-accent-400 disabled:opacity-50 disabled:cursor-not-allowed sm:h-10 sm:w-10" aria-label="Envoyer" data-astro-cid-ryytxnzt> <svg class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-ryytxnzt> <path stroke-linecap="round" stroke-linejoin="round" d="M6 12L3.269 3.126A59.768 59.768 0 0121.485 12 59.77 59.77 0 013.27 20.876L5.999 12zm0 0h7.5" data-astro-cid-ryytxnzt></path> </svg> </button> </form> </div> </div> <!-- Floating trigger button --> <button id="chat-toggle" class="relative flex h-14 w-14 items-center justify-center rounded-full bg-accent-500 text-white shadow-lg transition hover:bg-accent-400 hover:shadow-xl focus:outline-none focus:ring-2 focus:ring-accent-300 focus:ring-offset-2 sm:flex" aria-label="Clavardez avec nous" data-astro-cid-ryytxnzt> <!-- Chat icon (default) --> <svg id="chat-icon-open" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-ryytxnzt> <path stroke-linecap="round" stroke-linejoin="round" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z" data-astro-cid-ryytxnzt></path> </svg> <!-- Close icon (when open) --> <svg id="chat-icon-close" class="hidden h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" data-astro-cid-ryytxnzt> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" data-astro-cid-ryytxnzt></path> </svg> <!-- Badge non-lu (E3, tranche E P5-T22) : COMPTE des réponses GI arrivées panneau fermé OU157 onglet caché (SSE et polling passent par le même entonnoir public) ; « 9+ » au158 delà de 9 ; remis à zéro à l'ouverture du panneau. Le « 1 » ci-dessous n'est qu'un159 contenu initial : updateUnreadBadge() pose toujours le vrai compte AVANT d'afficher. --> <span id="chat-unread-badge" class="hidden absolute -top-1 -right-1 h-5 min-w-[1.25rem] items-center justify-center rounded-full bg-red-500 px-1 text-[11px] font-bold text-white" aria-hidden="true" data-astro-cid-ryytxnzt>1</span> </button> </div> <script type="module" src="/_astro/ChatWidget.astro_astro_type_script_index_0_lang.C0_536Sr.js?dpl=6a770c5aa9d6f6000809ad95"></script> <aside id="consent-banner" class="fixed inset-x-0 bottom-0 z-[60] hidden" role="region" aria-label="Préférences de confidentialité"> <div class="mx-auto max-w-[1800px] px-4 pb-4 sm:px-8"> <div class="rounded-2xl border border-warm-200 bg-white/95 px-4 py-3 shadow-lg backdrop-blur sm:px-6 sm:py-4"> <div class="flex flex-col gap-3 sm:flex-row sm:items-center"> <p class="min-w-0 flex-1 text-sm leading-relaxed text-warm-700">160Nous utilisons des témoins (cookies) pour la mesure d'audience et un signal de présence161 pour vous offrir le service en direct avec notre équipe.162<a href="/politique-confidentialite" class="whitespace-nowrap text-accent-600 hover:underline">163Politique de confidentialité164</a> </p> <div class="flex shrink-0 items-center gap-2"> <button type="button" id="consent-refuse" class="rounded-full border border-warm-300 px-4 py-1.5 text-xs font-semibold text-warm-700 transition hover:bg-warm-100">165Refuser166</button> <button type="button" id="consent-accept" class="rounded-full bg-accent-700 px-5 py-1.5 text-xs font-semibold text-white shadow-sm transition hover:bg-accent-800">167OK168</button> </div> </div> </div> </div> </aside> <script type="module" src="/_astro/ConsentBanner.astro_astro_type_script_index_0_lang.DnUHoAqY.js?dpl=6a770c5aa9d6f6000809ad95"></script> </body></html>