{"id":220,"date":"2026-05-15T01:30:31","date_gmt":"2026-05-15T01:30:31","guid":{"rendered":"https:\/\/lehavreurbain.com\/?page_id=220"},"modified":"2026-05-20T21:26:35","modified_gmt":"2026-05-20T21:26:35","slug":"unites","status":"publish","type":"page","link":"https:\/\/lehavreurbain.com\/?page_id=220","title":{"rendered":"Unit\u00e9s"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"220\" class=\"elementor elementor-220\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fcd5820 e-flex e-con-boxed e-con e-parent\" data-id=\"fcd5820\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d66d5e1 elementor-widget elementor-widget-html\" data-id=\"d66d5e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"immeuble-interactif\">\n  <p id=\"titre-interactif\">\n    &#x1F447;&#xFE0F; Cliquez sur un &eacute;tage pour voir les disponibilit&eacute;s\n  <\/p>\n  <div id=\"vue-immeuble\">\n    <img decoding=\"async\" id=\"img-immeuble\" src=\"https:\/\/lehavreurbain.com\/wp-content\/uploads\/2026\/05\/immeuble-facade.png\" alt=\"Immeuble Le Havre Urbain\" \/>\n  <\/div>\n<\/div>\n\n<div id=\"floor-modal\">\n  <div id=\"modal-inner\">\n    <button id=\"modal-close\" onclick=\"fermerModal()\">&#x2715;<\/button>\n    <div id=\"modal-title\"><\/div>\n    <div id=\"modal-subtitle\"><\/div>\n    <div class=\"legend-row\">\n      <div class=\"legend-item\">\n        <div class=\"legend-dot legend-dot-dispo\"><\/div>\n        Disponible\n      <\/div>\n      <div class=\"legend-item\">\n        <div class=\"legend-dot legend-loue\"><\/div>\n        Lou&eacute;\n      <\/div>\n    <\/div>\n    <img decoding=\"async\" id=\"floor-plan-img\" src=\"\" alt=\"Plan\" \/>\n    <div id=\"units-container\"><\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\nvar css = \"#immeuble-interactif{font-family:'Helvetica Neue',Arial,sans-serif;max-width:1100px;margin:0 auto;padding:20px;color:#333}#vue-immeuble{position:relative;display:inline-block;width:100%;cursor:pointer}#vue-immeuble img{width:100%;display:block;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.2)}.etage-zone{position:absolute;left:0;width:100%;background:rgba(255,255,255,.08);border:2px solid transparent;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:flex-end}.etage-zone:hover{background:rgba(180,140,80,.25);border-color:rgba(200,160,80,.8)}.etage-label{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;letter-spacing:1px;pointer-events:none;opacity:0;transition:opacity .2s;background:rgba(0,0,0,.55);color:#fff;padding:3px 8px;border-radius:4px}.etage-zone:hover .etage-label{opacity:1}#titre-interactif{text-align:center;margin-bottom:14px;font-size:15px;color:#666;font-style:italic}#floor-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.72);z-index:99999;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow-y:auto}#floor-modal.open{display:flex}#modal-inner{background:#fff;border-radius:12px;max-width:1050px;width:100%;max-height:90vh;overflow-y:auto;padding:30px;position:relative;box-shadow:0 10px 40px rgba(0,0,0,.4)}#modal-close{position:absolute;top:14px;right:18px;font-size:26px;cursor:pointer;color:#888;line-height:1;background:none;border:none;z-index:2}#modal-close:hover{color:#c0392b}#modal-title{font-size:22px;font-weight:800;margin-bottom:6px;color:#1a1a2e}#modal-subtitle{font-size:14px;color:#666;margin-bottom:16px}#floor-plan-img{width:100%;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 12px rgba(0,0,0,.15)}#units-container{}.unit-card{border:2px solid #e0e0e0;border-radius:8px;padding:10px;text-align:center;background:#fafafa;transition:all .2s;display:inline-block;margin:4px;min-width:120px;vertical-align:top}.unit-card.dispo{border-color:#27ae60;background:#f0fff4}.unit-card.loue{border-color:#e74c3c;background:#fff5f5;opacity:.7}.unit-number{font-size:18px;font-weight:800;color:#1a1a2e}.unit-type{font-size:11px;color:#666;margin:2px 0}.unit-sqft{font-size:11px;color:#888}.unit-badge{display:inline-block;padding:3px 8px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px;margin-top:4px}.unit-card.dispo .unit-badge{background:#27ae60;color:#fff}.unit-card.loue .unit-badge{background:#e74c3c;color:#fff}.aile-title{font-size:16px;font-weight:700;color:#1a1a2e;margin:16px 0 8px;padding-bottom:4px;border-bottom:2px solid #eee}.units-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.legend-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px}.legend-dot{width:14px;height:14px;border-radius:50%}.legend-dot-dispo{background:#27ae60}.legend-loue{background:#e74c3c}\";\nvar s=document.createElement('style');s.id='lhu-immeuble-css';s.textContent=css;document.head.appendChild(s);\n\nvar IMG_BASE='https:\/\/lehavreurbain.com\/wp-content\/uploads\/2026\/05\/';\nvar IMG_PLANS={1:IMG_BASE+'plan-etage-1-scaled.png',2:IMG_BASE+'plan-etage-2-scaled.png',3:IMG_BASE+'plan-etage-3-scaled.png',4:IMG_BASE+'plan-etage-4-scaled.png',5:IMG_BASE+'plan-etage-5-scaled.png'};\n\n\/* =========================================================\n   STATUT DES APPARTEMENTS - FACILE A MODIFIER\n   true = DISPONIBLE | false = LOUE\n   Pour marquer un appart comme loue: changer true -> false\n   ========================================================= *\/\nvar unites={\n  '101-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '102-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '103-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '104-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '105-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '106-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '101-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '102-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '103-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '104-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true},\n  '105-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '106-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '107-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true},\n  '108-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true},\n  '109-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true},\n  '110-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true},\n  '111-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true},\n  '112-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '201-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '202-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '203-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '204-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '205-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '206-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '201-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '202-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true},\n  '203-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '204-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true},\n  '205-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '206-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '207-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true},\n  '208-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true},\n  '209-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true},\n  '210-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '211-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true},\n  '212-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '301-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '302-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '303-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '304-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '305-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '306-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '301-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '302-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '303-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '304-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true},\n  '305-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '306-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '307-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true},\n  '308-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true},\n  '309-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true},\n  '310-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true},\n  '311-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true},\n  '312-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '401-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '402-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '403-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '404-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '405-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '406-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '401-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '402-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '403-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '404-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true},\n  '405-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '406-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '407-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true},\n  '408-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true},\n  '409-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true},\n  '410-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true},\n  '411-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true},\n  '412-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '501-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '502-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '503-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '504-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '505-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true},\n  '506-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '501-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true},\n  '502-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true},\n  '503-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true},\n  '504-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true},\n  '505-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '506-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true},\n  '507-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true},\n  '508-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true},\n  '509-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true},\n  '510-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true},\n  '511-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true},\n  '512-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true}\n};\n\nvar unitesParEtage={\n  1:{aileA:['101-A','102-A','103-A','104-A','105-A','106-A'],aileB:['101-B','102-B','103-B','104-B','105-B','106-B','107-B','108-B','109-B','110-B','111-B','112-B']},\n  2:{aileA:['201-A','202-A','203-A','204-A','205-A','206-A'],aileB:['201-B','202-B','203-B','204-B','205-B','206-B','207-B','208-B','209-B','210-B','211-B','212-B']},\n  3:{aileA:['301-A','302-A','303-A','304-A','305-A','306-A'],aileB:['301-B','302-B','303-B','304-B','305-B','306-B','307-B','308-B','309-B','310-B','311-B','312-B']},\n  4:{aileA:['401-A','402-A','403-A','404-A','405-A','406-A'],aileB:['401-B','402-B','403-B','404-B','405-B','406-B','407-B','408-B','409-B','410-B','411-B','412-B']},\n  5:{aileA:['501-A','502-A','503-A','504-A','505-A','506-A'],aileB:['501-B','502-B','503-B','504-B','505-B','506-B','507-B','508-B','509-B','510-B','511-B','512-B']}\n};\n\nvar zones=[{e:5,t:8,h:11},{e:4,t:19,h:11},{e:3,t:30,h:11},{e:2,t:41,h:11},{e:1,t:52,h:11}];\n\nfunction init(){\n  var c=document.getElementById('vue-immeuble');\n  if(!c)return;\n  zones.forEach(function(z){\n    var d=document.createElement('div');\n    d.className='etage-zone';\n    d.style.top=z.t+'%';\n    d.style.height=z.h+'%';\n    var l=document.createElement('span');\n    l.className='etage-label';\n    l.innerHTML=z.e+(z.e===1?'<sup>er<\/sup>':'<sup>e<\/sup>')+' \u00e9tage';\n    d.appendChild(l);\n    d.addEventListener('click',function(){ouvrir(z.e);});\n    c.appendChild(d);\n  });\n}\n\nfunction ouvrir(e){\n  var m=document.getElementById('floor-modal');\n  document.getElementById('modal-title').innerHTML=e+(e===1?'<sup>er<\/sup>':'<sup>e<\/sup>')+' \u00e9tage';\n  var l=unitesParEtage[e];\n  var listAll=l.aileA.concat(l.aileB);\n  var dispo=listAll.filter(function(u){return unites[u]&&unites[u].statut;}).length;\n  document.getElementById('modal-subtitle').textContent=dispo+' unit\u00e9'+(dispo>1?'s':'')+' disponible'+(dispo>1?'s':'')+' sur '+listAll.length;\n  document.getElementById('floor-plan-img').src=IMG_PLANS[e]||'';\n  var uc=document.getElementById('units-container');\n  uc.innerHTML='';\n  var divA=document.createElement('div');\n  var tA=document.createElement('div');tA.className='aile-title';tA.textContent='Aile A';\n  var gA=document.createElement('div');gA.className='units-grid';\n  l.aileA.forEach(function(uid){buildCard(uid,gA);});\n  divA.appendChild(tA);divA.appendChild(gA);uc.appendChild(divA);\n  var divB=document.createElement('div');\n  var tB=document.createElement('div');tB.className='aile-title';tB.textContent='Aile B';\n  var gB=document.createElement('div');gB.className='units-grid';\n  l.aileB.forEach(function(uid){buildCard(uid,gB);});\n  divB.appendChild(tB);divB.appendChild(gB);uc.appendChild(divB);\n  m.classList.add('open');\n  document.body.style.overflow='hidden';\n}\n\nfunction buildCard(uid,parent){\n  var u=unites[uid];if(!u)return;\n  var c=document.createElement('div');c.className='unit-card '+(u.statut?'dispo':'loue');\n  var n=document.createElement('div');n.className='unit-number';n.textContent=uid;\n  var t=document.createElement('div');t.className='unit-type';t.textContent=u.type;\n  var s=document.createElement('div');s.className='unit-sqft';s.textContent=u.sqft;\n  var b=document.createElement('div');b.className='unit-badge';b.textContent=u.statut?'DISPONIBLE':'LOU\u00c9';\n  c.appendChild(n);c.appendChild(t);c.appendChild(s);c.appendChild(b);parent.appendChild(c);\n}\n\nwindow.fermerModal=function(){\n  document.getElementById('floor-modal').classList.remove('open');\n  document.body.style.overflow='';\n};\ndocument.getElementById('floor-modal').addEventListener('click',function(ev){if(ev.target===this)window.fermerModal();});\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-04a3a38 e-flex e-con-boxed e-con e-parent\" data-id=\"04a3a38\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-38cb7e2 elementor-position-top elementor-widget elementor-widget-image-box\" data-id=\"38cb7e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1402\" height=\"978\" src=\"https:\/\/lehavreurbain.com\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-8-mai-2026-17-h-36-min-56-s.png\" class=\"attachment-full size-full wp-image-222\" alt=\"\" srcset=\"https:\/\/lehavreurbain.com\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-8-mai-2026-17-h-36-min-56-s.png 1402w, https:\/\/lehavreurbain.com\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-8-mai-2026-17-h-36-min-56-s-300x209.png 300w, https:\/\/lehavreurbain.com\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-8-mai-2026-17-h-36-min-56-s-1024x714.png 1024w, https:\/\/lehavreurbain.com\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-8-mai-2026-17-h-36-min-56-s-768x536.png 768w, https:\/\/lehavreurbain.com\/wp-content\/uploads\/2026\/05\/ChatGPT-Image-8-mai-2026-17-h-36-min-56-s-18x12.png 18w\" sizes=\"(max-width: 1402px) 100vw, 1402px\" \/><\/figure><div class=\"elementor-image-box-content\"><h3 class=\"elementor-image-box-title\">Types d'appartements<\/h3><p class=\"elementor-image-box-description\">Nos unit\u00e9s disponibles<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-643261f e-flex e-con-boxed e-con e-parent\" data-id=\"643261f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97d7db6 elementor-widget elementor-widget-html\" data-id=\"97d7db6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"appartements-disponibles\">\n<style>\n#appartements-disponibles{font-family:'Helvetica Neue',Arial,sans-serif;max-width:1200px;margin:0 auto;padding:20px}\n.appt-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;align-items:center}\n.appt-filter-btn{padding:8px 16px;border:2px solid #1a1a2e;border-radius:20px;cursor:pointer;font-size:13px;font-weight:600;background:#fff;color:#1a1a2e;transition:all .2s}\n.appt-filter-btn.active,.appt-filter-btn:hover{background:#1a1a2e;color:#fff}\n.appt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}\n.appt-card{border:2px solid #e0e0e0;border-radius:12px;padding:20px;background:#fafafa;position:relative;transition:all .2s}\n.appt-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(-2px)}\n.appt-card.dispo{border-color:#27ae60}\n.appt-card.loue{border-color:#e74c3c;opacity:.6}\n.appt-status-badge{position:absolute;top:12px;right:12px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px}\n.appt-card.dispo .appt-status-badge{background:#27ae60;color:#fff}\n.appt-card.loue .appt-status-badge{background:#e74c3c;color:#fff}\n.appt-unit{font-size:22px;font-weight:800;color:#1a1a2e;margin-bottom:4px}\n.appt-type{font-size:13px;color:#555;margin-bottom:2px}\n.appt-sqft{font-size:12px;color:#888;margin-bottom:8px}\n.appt-etage{font-size:11px;color:#aaa;margin-bottom:12px}\n.appt-cta{display:inline-block;padding:8px 16px;background:#1a1a2e;color:#fff;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s}\n.appt-card.loue .appt-cta{background:#aaa;cursor:default}\n.appt-cta:hover{background:#2c3e50}\n.appt-section-title{font-size:14px;font-weight:700;color:#666;margin:20px 0 10px;text-transform:uppercase;letter-spacing:1px}\n.no-results{text-align:center;padding:40px;color:#888;font-size:16px}\n<\/style>\n\n<script>\n(function(){\n\/* =========================================================\n   STATUT DES APPARTEMENTS - FACILE A MODIFIER\n   true = DISPONIBLE | false = LOUE\n   ========================================================= *\/\nvar unites={\n  '101-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:1},\n  '102-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:1},\n  '103-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:1},\n  '104-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:1},\n  '105-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:1},\n  '106-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:1},\n  '101-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:1},\n  '102-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:1},\n  '103-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:1},\n  '104-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true,etage:1},\n  '105-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:1},\n  '106-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:1},\n  '107-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true,etage:1},\n  '108-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true,etage:1},\n  '109-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true,etage:1},\n  '110-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true,etage:1},\n  '111-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true,etage:1},\n  '112-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:1},\n  '201-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:2},\n  '202-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:2},\n  '203-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:2},\n  '204-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:2},\n  '205-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:2},\n  '206-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:2},\n  '201-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:2},\n  '202-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true,etage:2},\n  '203-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:2},\n  '204-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true,etage:2},\n  '205-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:2},\n  '206-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:2},\n  '207-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true,etage:2},\n  '208-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true,etage:2},\n  '209-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true,etage:2},\n  '210-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:2},\n  '211-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true,etage:2},\n  '212-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:2},\n  '301-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:3},\n  '302-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:3},\n  '303-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:3},\n  '304-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:3},\n  '305-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:3},\n  '306-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:3},\n  '301-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:3},\n  '302-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:3},\n  '303-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:3},\n  '304-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true,etage:3},\n  '305-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:3},\n  '306-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:3},\n  '307-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true,etage:3},\n  '308-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true,etage:3},\n  '309-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true,etage:3},\n  '310-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true,etage:3},\n  '311-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true,etage:3},\n  '312-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:3},\n  '401-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:4},\n  '402-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:4},\n  '403-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:4},\n  '404-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:4},\n  '405-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:4},\n  '406-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:4},\n  '401-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:4},\n  '402-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:4},\n  '403-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:4},\n  '404-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true,etage:4},\n  '405-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:4},\n  '406-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:4},\n  '407-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true,etage:4},\n  '408-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true,etage:4},\n  '409-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true,etage:4},\n  '410-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true,etage:4},\n  '411-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true,etage:4},\n  '412-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:4},\n  '501-A':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:5},\n  '502-A':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:5},\n  '503-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:5},\n  '504-A':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:5},\n  '505-A':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:5},\n  '506-A':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:5},\n  '501-B':{type:'A - 4\u00bd',sqft:'970 pi.ca.',statut:true,etage:5},\n  '502-B':{type:'B - 5\u00bd',sqft:'1125 pi.ca.',statut:true,etage:5},\n  '503-B':{type:'C - 3\u00bd',sqft:'703 pi.ca.',statut:true,etage:5},\n  '504-B':{type:'H - 3\u00bd',sqft:'667 pi.ca.',statut:true,etage:5},\n  '505-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:5},\n  '506-B':{type:'F - 4\u00bd',sqft:'984 pi.ca.',statut:true,etage:5},\n  '507-B':{type:'E.D - 4\u00bd',sqft:'924 pi.ca.',statut:true,etage:5},\n  '508-B':{type:'D - 3\u00bd',sqft:'610 pi.ca.',statut:true,etage:5},\n  '509-B':{type:'D.2 - 3\u00bd',sqft:'601 pi.ca.',statut:true,etage:5},\n  '510-B':{type:'E - 4\u00bd',sqft:'925 pi.ca.',statut:true,etage:5},\n  '511-B':{type:'E.1 - 4\u00bd',sqft:'908 pi.ca.',statut:true,etage:5},\n  '512-B':{type:'G - 4\u00bd',sqft:'958 pi.ca.',statut:true,etage:5}\n};\n\nvar currentFilter='all';\n\nfunction renderAppts(){\n  var grid=document.getElementById('appt-grid');\n  if(!grid)return;\n  grid.innerHTML='';\n  var ids=Object.keys(unites);\n  var filtered=ids.filter(function(id){\n    var u=unites[id];\n    if(currentFilter==='3.5')return u.type.indexOf('3\u00bd')!==-1;\n    if(currentFilter==='4.5')return u.type.indexOf('4\u00bd')!==-1||u.type.indexOf('5\u00bd')!==-1;\n    if(currentFilter==='dispo')return u.statut;\n    return true;\n  });\n  if(!filtered.length){\n    grid.innerHTML='<div class=\"no-results\">Aucun appartement trouv\u00e9<\/div>';\n    return;\n  }\n  filtered.forEach(function(id){\n    var u=unites[id];\n    var card=document.createElement('div');\n    card.className='appt-card '+(u.statut?'dispo':'loue');\n    var badge=document.createElement('div');badge.className='appt-status-badge';badge.textContent=u.statut?'DISPONIBLE':'LOU\u00c9';\n    var unit=document.createElement('div');unit.className='appt-unit';unit.textContent=id;\n    var type=document.createElement('div');type.className='appt-type';type.textContent=u.type;\n    var sqft=document.createElement('div');sqft.className='appt-sqft';sqft.textContent=u.sqft;\n    var etage=document.createElement('div');etage.className='appt-etage';etage.textContent=u.etage+(u.etage===1?'er ':'\u1d49 ')+'\u00e9tage';\n    var cta=document.createElement('a');\n    cta.className='appt-cta';\n    cta.href=u.statut?'https:\/\/lehavreurbain.com\/reserver-une-visite\/':'#';\n    cta.textContent=u.statut?'R\u00e9server une visite':'Indisponible';\n    if(!u.statut)cta.onclick=function(e){e.preventDefault();};\n    card.appendChild(badge);card.appendChild(unit);card.appendChild(type);card.appendChild(sqft);card.appendChild(etage);card.appendChild(cta);\n    grid.appendChild(card);\n  });\n}\n\nfunction init2(){\n  var container=document.getElementById('appartements-disponibles');\n  if(!container)return;\n  \/\/ Build filters\n  var filters=document.getElementById('appt-filters');\n  if(!filters)return;\n  var btns=[{k:'all',l:'Tous'},{k:'dispo',l:'Disponibles'},{k:'3.5',l:'3\u00bd'},{k:'4.5',l:'4\u00bd \/ 5\u00bd'}];\n  btns.forEach(function(b){\n    var btn=document.createElement('button');\n    btn.className='appt-filter-btn'+(b.k==='all'?' active':'');\n    btn.textContent=b.l;\n    btn.addEventListener('click',function(){\n      currentFilter=b.k;\n      filters.querySelectorAll('.appt-filter-btn').forEach(function(x){x.classList.remove('active');});\n      btn.classList.add('active');\n      renderAppts();\n    });\n    filters.appendChild(btn);\n  });\n  renderAppts();\n}\n\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init2);}else{init2();}\n})();\n<\/script>\n\n<div class=\"appt-filters\" id=\"appt-filters\"><\/div>\n<div class=\"appt-grid\" id=\"appt-grid\"><\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>&#x1F447;&#xFE0F; Cliquez sur un &eacute;tage pour voir les disponibilit&eacute;s &#x2715; Disponible Lou&eacute; Types d&rsquo;appartements Nos unit\u00e9s disponibles<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-220","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lehavreurbain.com\/index.php?rest_route=\/wp\/v2\/pages\/220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lehavreurbain.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lehavreurbain.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lehavreurbain.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lehavreurbain.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=220"}],"version-history":[{"count":5,"href":"https:\/\/lehavreurbain.com\/index.php?rest_route=\/wp\/v2\/pages\/220\/revisions"}],"predecessor-version":[{"id":387,"href":"https:\/\/lehavreurbain.com\/index.php?rest_route=\/wp\/v2\/pages\/220\/revisions\/387"}],"wp:attachment":[{"href":"https:\/\/lehavreurbain.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}