:root{–bv-primary:#2563eb;–bv-primary-dark:#1d4ed8;–bv-success:#059669;–bv-warning:#d97706;–bv-danger:#dc2626;–bv-bg:#f0f9ff;–bv-card:#fff;–bv-border:#e2e8f0;–bv-text:#1e293b;–bv-muted:#64748b;–bv-radius:12px}
*{box-sizing:border-box}
.sim-wrap{max-width:760px;margin:0 auto;font-family:system-ui,-apple-system,sans-serif;color:var(–bv-text);line-height:1.6}
.sim-wrap h2{font-size:1.5rem;margin:0 0 .5rem;color:var(–bv-primary-dark)}
.sim-intro{background:var(–bv-bg);border-left:4px solid var(–bv-primary);padding:1rem 1.25rem;border-radius:0 var(–bv-radius) var(–bv-radius) 0;margin-bottom:1.5rem;font-size:.95rem}
.sim-steps{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}
.sim-step-dot{flex:1;min-width:80px;text-align:center;padding:.5rem;border-radius:var(–bv-radius);background:var(–bv-border);color:var(–bv-muted);font-size:.8rem;font-weight:600;transition:all .3s}
.sim-step-dot.active{background:var(–bv-primary);color:#fff}
.sim-step-dot.done{background:var(–bv-success);color:#fff}
.sim-card{background:var(–bv-card);border:1px solid var(–bv-border);border-radius:var(–bv-radius);padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.sim-card h3{margin:0 0 1rem;font-size:1.15rem;color:var(–bv-text)}
.sim-field{margin-bottom:1.25rem}
.sim-field label{display:block;font-weight:600;margin-bottom:.4rem;font-size:.9rem}
.sim-field .hint{color:var(–bv-muted);font-size:.8rem;margin-top:.2rem}
.sim-field input[type= »number »],.sim-field input[type= »text »],.sim-field select{width:100%;padding:.6rem .8rem;border:1px solid var(–bv-border);border-radius:8px;font-size:1rem;transition:border-color .2s}
.sim-field input:focus,.sim-field select:focus{outline:none;border-color:var(–bv-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.sim-range-wrap{position:relative;padding-top:.5rem}
.sim-range-wrap input[type= »range »]{width:100%;-webkit-appearance:none;height:8px;border-radius:4px;background:linear-gradient(to right,var(–bv-primary) 0%,var(–bv-border) 0%);outline:none}
.sim-range-wrap input[type= »range »]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(–bv-primary);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.sim-range-val{text-align:center;font-size:1.8rem;font-weight:700;color:var(–bv-primary);margin:.5rem 0}
.sim-range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(–bv-muted)}
.sim-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}
.sim-opt{border:2px solid var(–bv-border);border-radius:var(–bv-radius);padding:.8rem 1rem;cursor:pointer;transition:all .2s;text-align:center}
.sim-opt:hover{border-color:var(–bv-primary);background:var(–bv-bg)}
.sim-opt.selected{border-color:var(–bv-primary);background:var(–bv-bg);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.sim-opt .opt-icon{font-size:1.5rem;margin-bottom:.3rem}
.sim-opt .opt-label{font-weight:600;font-size:.9rem}
.sim-opt .opt-desc{font-size:.75rem;color:var(–bv-muted);margin-top:.2rem}
.sim-checkbox{display:flex;align-items:center;gap:.6rem;padding:.6rem;border:1px solid var(–bv-border);border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:.5rem}
.sim-checkbox:hover{background:var(–bv-bg)}
.sim-checkbox input{width:18px;height:18px;accent-color:var(–bv-primary)}
.sim-checkbox span{font-size:.9rem}
.sim-nav{display:flex;gap:1rem;justify-content:space-between;margin-top:1.5rem}
.sim-btn{padding:.7rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}
.sim-btn-primary{background:var(–bv-primary);color:#fff}
.sim-btn-primary:hover{background:var(–bv-primary-dark);transform:translateY(-1px)}
.sim-btn-secondary{background:var(–bv-border);color:var(–bv-text)}
.sim-btn-secondary:hover{background:#cbd5e1}
.sim-btn-cta{background:var(–bv-success);color:#fff;width:100%;padding:.9rem;font-size:1.1rem;margin-top:1rem}
.sim-btn-cta:hover{background:#047857;transform:translateY(-1px)}
.sim-hidden{display:none}
.sim-results{animation:fadeIn .5s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.sim-result-header{text-align:center;padding:1.5rem;background:linear-gradient(135deg,#ecfdf5,#f0f9ff);border-radius:var(–bv-radius);margin-bottom:1.5rem}
.sim-result-header .big-number{font-size:2.5rem;font-weight:800;color:var(–bv-success)}
.sim-result-header .label{color:var(–bv-muted);font-size:.9rem;margin-bottom:.3rem}
.sim-result-header .sub{font-size:.85rem;color:var(–bv-muted);margin-top:.3rem}
.sim-aid-row{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(–bv-border);transition:background .2s}
.sim-aid-row:hover{background:var(–bv-bg)}
.sim-aid-row:last-child{border-bottom:none}
.sim-aid-name{font-weight:500;font-size:.9rem}
.sim-aid-name .badge{display:inline-block;font-size:.65rem;padding:.1rem .4rem;border-radius:4px;margin-left:.4rem;font-weight:600;vertical-align:middle}
.badge-yes{background:#dcfce7;color:#166534}
.badge-no{background:#fef2f2;color:#991b1b}
.badge-maybe{background:#fef9c3;color:#854d0e}
.sim-aid-amount{font-weight:700;font-size:1rem}
.sim-aid-amount.positive{color:var(–bv-success)}
.sim-aid-amount.zero{color:var(–bv-muted)}
.sim-total-row{display:flex;justify-content:space-between;padding:1rem;background:var(–bv-bg);border-radius:8px;margin-top:.5rem;font-weight:700}
.sim-total-row .amount{font-size:1.2rem;color:var(–bv-success)}
.sim-reste-row{display:flex;justify-content:space-between;padding:1rem;background:#fef2f2;border-radius:8px;margin-top:.5rem;font-weight:700}
.sim-reste-row .amount{font-size:1.2rem;color:var(–bv-danger)}
.sim-savings{text-align:center;margin:1.5rem 0;padding:1rem;background:linear-gradient(135deg,#fef9c3,#ecfdf5);border-radius:var(–bv-radius)}
.sim-savings .pct{font-size:2rem;font-weight:800;color:var(–bv-success)}
.sim-disclaimer{font-size:.75rem;color:var(–bv-muted);margin-top:1rem;padding:.8rem;background:#f8fafc;border-radius:8px;line-height:1.5}
.sim-error{color:var(–bv-danger);font-size:.8rem;margin-top:.3rem;display:none}
@media(max-width:600px){.sim-range-val{font-size:1.4rem}.sim-result-header .big-number{font-size:2rem}.sim-options{grid-template-columns:1fr}}
Quel est le montant estime de vos travaux ?
22 000 € (plafond MaPrimeAdapt)
Votre profil
Votre situation specifique
Autonome (pas de GIR evalue)
GIR 5-6 (faible dependance)
GIR 3-4 (dependance moderee)
GIR 1-2 (forte dependance)
Detail des aides
—
—
Prochaines etapes
- Verifiez votre eligibilite detaillee
- Consultez les travaux eligibles
- Obtenez 2-3 devis aupres d’artisans qualifies
- Deposez votre dossier sur monprojet.anah.gouv.fr
- Attendez l’accord avant de demarrer les travaux
Recevez votre estimation par email
Gratuit et sans engagement. Un conseiller peut vous rappeler pour vous accompagner.
Vos donnees sont traitees conformement a notre politique de confidentialite.
(function(){
var rng=document.getElementById(‘montantRange’),
disp=document.getElementById(‘montantDisplay’);
function fmtEur(n){return n.toLocaleString(‘fr-FR’)+’ u20ac’}
rng.addEventListener(‘input’,function(){
var v=parseInt(this.value);
disp.textContent=fmtEur(v);
var pct=(v-1000)/(22000-1000)*100;
this.style.background=’linear-gradient(to right,#2563eb ‘+pct+’%,#e2e8f0 ‘+pct+’%)’;
});
rng.dispatchEvent(new Event(‘input’));
window.selectOpt=function(el,groupId){
var grp=document.getElementById(groupId);
grp.querySelectorAll(‘.sim-opt’).forEach(function(o){o.classList.remove(‘selected’)});
el.classList.add(‘selected’);
};
function getOpt(groupId){
var sel=document.querySelector(‘#’+groupId+’ .sim-opt.selected’);
return sel?sel.getAttribute(‘data-val’): »;
}
window.goStep=function(n){
for(var i=1;i<=4;i++){
var el=document.getElementById('step'+i);
if(el)el.classList.toggle('sim-hidden',i!==n);
}
document.querySelectorAll('.sim-step-dot').forEach(function(d){
var s=parseInt(d.getAttribute('data-step'));
d.classList.remove('active','done');
if(s0||handicap===’50’||handicap===’80’))||(age===’moins60’&&(handicap===’50’||handicap===’80’));
if(ageOk && revenus!==’intermediaires’){
mpa.eligible=true;
var taux=revenus===’tres_modestes’?0.70:0.50;
mpa.montant=Math.round(montantHT*taux);
mpa.raison=’Taux ‘+Math.round(taux*100)+’% (revenus ‘+(revenus===’tres_modestes’?’tres modestes’:’modestes’)+’)’;
}else if(!ageOk){
mpa.raison=’Age/situation non eligible’;
}else{
mpa.raison=’Revenus trop eleves’;
}
}else if(statut===’locataire’){
mpa.raison=’Reservee aux proprietaires occupants’;
}else{
mpa.raison=’Logement de moins de 15 ans’;
}
aides.push(mpa);
// 2. Credit impot accessibilite (25%)
var ci={nom: »Credit d’impot accessibilite (25%) »,montant:0,eligible:true,raison: »};
var plafondCI=foyer===’couple’?10000:5000;
var baseCI=mpa.eligible?Math.max(0,montantHT-mpa.montant):montantHT;
ci.montant=Math.min(Math.round(baseCI*0.25),plafondCI);
ci.raison=’25% du reste apres MaPrimeAdapt, plafond ‘+fmtEur(plafondCI);
aides.push(ci);
// 3. TVA reduite 5.5%
var tva={nom:’Economie TVA (5,5% au lieu de 20%)’,montant:0,eligible:false,raison: »};
if(anciennete!==’moins2′){
tva.eligible=true;
tva.montant=Math.round(montantHT*0.145);
tva.raison=’Logement de plus de 2 ans’;
}else{
tva.raison=’Logement de moins de 2 ans’;
}
aides.push(tva);
// 4. CARSAT / caisse retraite
var carsat={nom:’Aide caisse de retraite (CARSAT/MSA)’,montant:0,eligible:false,raison: »};
if(!mpa.eligible && age!==’moins60′ && (gir===0||gir>=5) && revenus!==’intermediaires’){
carsat.eligible=true;
carsat.montant=Math.min(Math.round(montantHT*0.35),3500);
carsat.raison=’Estimation (non cumulable avec MaPrimeAdapt)’;
}else if(mpa.eligible){
carsat.raison=’Non cumulable avec MaPrimeAdapt’;
}else{
carsat.raison=’Conditions non remplies’;
}
aides.push(carsat);
// 5. APA
var apa={nom:’APA (Allocation Personnalisee d’Autonomie)’,montant:0,eligible:false,raison: »};
if((age===’60-69’||age===’70plus’)&&gir>0&&gir<=4){
apa.eligible=true;
var tauxAPA=gir<=2?0.15:0.10;
apa.montant=Math.min(Math.round(montantHT*tauxAPA),4000);
apa.raison='GIR '+(gir=5){
apa.raison=’Reservee aux GIR 1 a 4′;
}else{
apa.raison=’Conditions d’age non remplies’;
}
aides.push(apa);
// 6. PCH
var pch={nom:’PCH (Prestation de Compensation du Handicap)’,montant:0,eligible:false,raison: »};
if(handicap===’80’ && !(apa.eligible)){
pch.eligible=true;
pch.montant=Math.min(Math.round(montantHT*0.50),10000);
pch.raison=’Taux d’incapacite 80%+, volet amenagement’;
}else if(handicap===’80’ && apa.eligible){
pch.raison=’Non cumulable avec l’APA’;
}else{
pch.raison=’Taux d’incapacite < 80%';
}
aides.push(pch);
// 7. Action Logement
var al={nom:'Action Logement',montant:0,eligible:false,raison:''};
if(salarie){
al.eligible=true;
al.montant=Math.min(5000,montantHT);
al.raison='Salarie/retraite du prive, jusqu'a 5 000 u20ac';
}else{
al.raison='Reserve aux salaries/retraites du prive';
}
aides.push(al);
// Calcul totaux
aides.forEach(function(a){if(a.eligible)totalAides+=a.montant});
var montantTTC=Math.round(montantHT*(tva.eligible?1.055:1.20));
var resteAvantAides=montantTTC;
var reste=Math.max(0,montantHT-totalAides);
if(tva.eligible) reste=Math.round(reste*1.055);
else reste=Math.round(reste*1.20);
var pctEco=Math.round((1-reste/montantTTC)*100);
// Affichage
document.getElementById('resteACharge').textContent=fmtEur(reste);
document.getElementById('totalTravaux').textContent=fmtEur(montantTTC);
document.getElementById('pctEconomie').textContent=pctEco+'%';
document.getElementById('totalAides').textContent='- '+fmtEur(totalAides);
document.getElementById('resteDetail').textContent=fmtEur(reste);
var html='';
aides.forEach(function(a){
var badge=a.eligible?'Eligible‘:’Non eligible‘;
var amtClass=a.eligible&&a.montant>0?’positive’:’zero’;
html+=’
html+=’
‘+a.raison+’
‘;
html+=’
‘;
html+=’
‘;
});
document.getElementById(‘aidesDetail’).innerHTML=html;
goStep(4);
};
window.submitLead=function(){
var prenom=document.getElementById(‘leadPrenom’).value.trim();
var email=document.getElementById(‘leadEmail’).value.trim();
var tel=document.getElementById(‘leadTel’).value.trim();
var cp=document.getElementById(‘leadCP’).value.trim();
if(!prenom||!email||email.indexOf(‘@’)<1){
document.getElementById('leadError').textContent='Merci de renseigner votre prenom et un email valide.';
document.getElementById('leadError').classList.remove('sim-hidden');
return;
}
var btn=document.getElementById('leadSubmitBtn');
btn.disabled=true;btn.textContent='Envoi en cours…';
document.getElementById('leadError').classList.add('sim-hidden');
var reste=document.getElementById('resteACharge').textContent;
var total=document.getElementById('totalTravaux').textContent;
var pct=document.getElementById('pctEconomie').textContent;
var payload={
source:'simulateur-reste-a-charge',
site:'bien-vieillir.solutions',
prenom:prenom,email:email,tel:tel,code_postal:cp,
simulation:{reste_a_charge:reste,total_travaux:total,economie_pct:pct,
montant_ht:parseInt(document.getElementById('montantRange').value),
revenus:document.querySelector('#optRevenus .sim-opt.selected')?.getAttribute('data-val')||'',
age:document.querySelector('#optAge .sim-opt.selected')?.getAttribute('data-val')||'',
statut:document.querySelector('#optStatut .sim-opt.selected')?.getAttribute('data-val')||''},
timestamp:new Date().toISOString()
};
fetch('https://julien1sikoutris.app.n8n.cloud/webhook/bv-simulateur-lead',{
method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(payload),mode:'no-cors'
}).then(function(){
document.getElementById('leadForm').innerHTML='
Merci ‘+prenom+’ !
Votre estimation a ete envoyee a ‘+email+’.
Un conseiller peut vous contacter pour vous accompagner dans vos demarches.
‘;
}).catch(function(){
document.getElementById(‘leadForm’).innerHTML=’
Merci ‘+prenom+’ !
Votre demande a ete enregistree.
‘;
});
};
})();
Besoin d'un devis ?
Obtenez une estimation gratuite pour votre projet d'adaptation.