Plantas de quatro suítes ou mais na Praia Brava, faixa em que estão as coberturas e as unidades de maior metragem do bairro. Os 17 com valor divulgado vão de R$ 1.100.000,00 a R$ 32.000.000,00, com mediana de R$ 9.800.000,00. As menores plantas partem de 56 m². As construtoras com mais projetos neste recorte são — (2), Brava Beach Group (2), Mussi Empreendimentos (1). Entre os que têm localização confirmada, a distância média até a orla é de 0,6 km.
Lançamentos Imobiliários
PreçoR$ 0 — 30M+
m²0 — 1.000m²+
Onde estão os lançamentos
Veja a localização de cada empreendimento no mapa e explore por região
Fale agora com nossa equipe e receba plantas, valores atualizados e condições especiais deste empreendimento.
'+
''+
'
';
}
window.openLbModal=function(gallery,startIdx,title){
imgs=gallery||[];idx=startIdx||0;
lbTitle.textContent=title||'';
buildSlides(gallery,title||'');
lbThumbs.innerHTML='';
_slides.forEach(function(s,i){
var t=document.createElement('div');
if(s.type==='cta'){
t.className='lb-thumb'+(i===idx?' active':'');
t.innerHTML='';
}else{
t.className='lb-thumb'+(i===idx?' active':'');
t.innerHTML='';
}
t.addEventListener('click',function(){goTo(i)});
lbThumbs.appendChild(t);
});
goTo(idx);
modal.classList.add('lb-open');
document.body.style.overflow='hidden';
requestAnimationFrame(function(){modal.classList.add('lb-visible')});
};
window.closeLbModal=function(){
modal.classList.remove('lb-visible');
setTimeout(function(){modal.classList.remove('lb-open');document.body.style.overflow='';lbImg.src=''},300);
};
var ctaOverlay=null;
function goTo(i){
if(i<0)i=_slides.length-1;if(i>=_slides.length)i=0;
idx=i;
var slide=_slides[idx];
if(ctaOverlay){ctaOverlay.remove();ctaOverlay=null}
if(slide.type==='cta'){
lbImg.style.display='none';
ctaOverlay=document.createElement('div');
ctaOverlay.style.cssText='display:flex;align-items:center;justify-content:center;width:100%;height:100%';
ctaOverlay.innerHTML=renderCta();
document.getElementById('lbMain').appendChild(ctaOverlay);
}else{
lbImg.style.display='';
lbImg.src=slide.src;
}
lbCounter.textContent=(idx+1)+' / '+_slides.length;
lbThumbs.querySelectorAll('.lb-thumb').forEach(function(t,j){
t.classList.toggle('active',j===idx);
if(j===idx)t.scrollIntoView({behavior:'smooth',block:'nearest',inline:'center'});
});
}
window.lbNav=function(dir){goTo(idx+dir)};
document.addEventListener('keydown',function(e){
if(!modal.classList.contains('lb-open'))return;
if(e.key==='Escape')closeLbModal();
if(e.key==='ArrowLeft')lbNav(-1);
if(e.key==='ArrowRight')lbNav(1);
});
document.getElementById('lbMain').addEventListener('click',function(e){
if(e.target===this)closeLbModal();
});
var tx=0;
modal.addEventListener('touchstart',function(e){tx=e.touches[0].clientX},{passive:true});
modal.addEventListener('touchend',function(e){
var dx=e.changedTouches[0].clientX-tx;
if(Math.abs(dx)>50){if(dx>0)lbNav(-1);else lbNav(1)}
},{passive:true});
document.querySelectorAll('.prop-card').forEach(function(card){
var galleryAttr=card.getAttribute('data-gallery');
if(!galleryAttr)return;
var gallery;
try{gallery=JSON.parse(galleryAttr)}catch(e){return}
if(!gallery.length)return;
var nameEl=card.querySelector('.prop-name');
var title=nameEl?nameEl.textContent:'';
var btn=document.createElement('button');
btn.className='photos-btn';
btn.innerHTML=''+gallery.length+' fotos';
btn.addEventListener('click',function(e){
e.stopPropagation();e.preventDefault();
openLbModal(gallery,0,title);
});
var thumb=card.querySelector('.prop-thumb');
if(thumb){thumb.style.position='relative';thumb.appendChild(btn)}
});
})();
// ═══════════════════════════════════════════════════════
// PILL TOGGLE
// ═══════════════════════════════════════════════════════
function togglePill(el){el.classList.toggle('active');applyFilters();}
function getActivePills(id){var els=document.querySelectorAll('#'+id+' .fb-pill.active');var vals=[];els.forEach(function(el){vals.push(el.dataset.val);});return vals;}
// ═══ MULTI-SELECT DROPDOWNS (Fase / Entrega / Construtora) ═══
function toggleMsel(id){
var panel=document.getElementById(id+'Panel');
var wasOpen=panel.classList.contains('open');
document.querySelectorAll('.fb-msel-panel.open').forEach(function(p){p.classList.remove('open');});
if(!wasOpen){panel.classList.add('open');var s=panel.querySelector('.fb-msel-search');if(s)setTimeout(function(){s.focus();},0);}
}
document.addEventListener('click',function(e){
if(!e.target.closest('.fb-msel')){document.querySelectorAll('.fb-msel-panel.open').forEach(function(p){p.classList.remove('open');});}
});
function getMselValues(id){var els=document.querySelectorAll('#'+id+'Panel input[type=checkbox]:checked');var vals=[];els.forEach(function(el){vals.push(el.value);});return vals;}
function setMselValues(id,vals){document.querySelectorAll('#'+id+'Panel input[type=checkbox]').forEach(function(el){el.checked=vals.indexOf(el.value)!==-1;});}
function clearMsel(id){document.querySelectorAll('#'+id+'Panel input[type=checkbox]').forEach(function(el){el.checked=false;});applyFilters();}
function updateMselLabel(id,defaultLabel){var vals=getMselValues(id);var btn=document.getElementById(id+'Btn');if(!btn)return;btn.textContent=vals.length?(defaultLabel+' ('+vals.length+')'):defaultLabel;btn.classList.toggle('fb-msel-btn-active',vals.length>0);}
function refreshAllMselLabels(){updateMselLabel('mselBairro','Localização');updateMselLabel('mselFase','Fase');updateMselLabel('mselEntrega','Entrega');updateMselLabel('mselConstrutora','Construtora');updateMselLabel('mselSuites','Suítes');updateMselLabel('mselVagas','Vagas');}
function filterMselSearch(id,q){q=(q||'').toLowerCase().trim();document.querySelectorAll('#'+id+'Panel .fb-msel-opt').forEach(function(opt){var name=(opt.querySelector('.fb-msel-name')||{}).textContent||'';opt.style.display=name.toLowerCase().indexOf(q)!==-1?'':'none';});}
var FASE_GROUPS={'lancamento':['lancamento'],'pre-lancamento':['pre-lancamento'],'em-obras':['em-obras'],'entregue':['entregue']};
var BAIRRO_GROUPS={'praia-brava':['praia-brava']};
function buildFilterMeta(){
var cards=document.querySelectorAll('.prop-card:not(#noResults)');
var bairroCount={},faseCount={},entregaCount={},construtoraCount={};
cards.forEach(function(card){
var cb=card.dataset.bairro||'';
var cf=card.dataset.fase||'';
var ce=card.dataset.entrega||'';
Object.keys(BAIRRO_GROUPS).forEach(function(k){if(BAIRRO_GROUPS[k].indexOf(cb)!==-1)bairroCount[k]=(bairroCount[k]||0)+1;});
Object.keys(FASE_GROUPS).forEach(function(k){if(FASE_GROUPS[k].indexOf(cf)!==-1)faseCount[k]=(faseCount[k]||0)+1;});
if(ce)entregaCount[ce]=(entregaCount[ce]||0)+1;
var cEl=card.querySelector('.prop-construtora');
var cName=cEl?cEl.textContent.trim():'';
if(cName&&cName!=='—'&&cName!=='-'){card.dataset.construtora=cName;construtoraCount[cName]=(construtoraCount[cName]||0)+1;}
});
document.querySelectorAll('[data-cnt]').forEach(function(el){
var k=el.dataset.cnt;
var n=bairroCount[k]||faseCount[k]||entregaCount[k]||0;
el.textContent=n?('('+n+')'):'';
});
var opts=document.getElementById('mselConstrutoraOptions');
if(opts){
var names=Object.keys(construtoraCount).sort(function(a,b){return a.localeCompare(b,'pt-BR');});
var html='';
names.forEach(function(n){
var esc=n.replace(/&/g,'&').replace(/"/g,'"').replace(/'+esc+'('+construtoraCount[n]+')';
});
opts.innerHTML=html||'
Nenhuma construtora encontrada
';
}
}
// ═══ DUAL RANGE SLIDERS ═══
function fmtP(v){if(v>=30000000)return'30M+';if(v>=1000000)return(v/1000000).toFixed(1)+'M';return Math.round(v/1000)+'k';}
function updateDualPreco(){
var mn=document.getElementById('rangePrecoMin'),mx=document.getElementById('rangePrecoMax');
if(parseInt(mn.value)>parseInt(mx.value)){var t=mn.value;mn.value=mx.value;mx.value=t;}
var lo=parseInt(mn.value),hi=parseInt(mx.value);
document.getElementById('rangePrecoVal').textContent='R$ '+fmtP(lo)+' — '+fmtP(hi);
var pLo=lo/30000000*100,pHi=hi/30000000*100;
var fill=document.getElementById('fillPreco');fill.style.left=pLo+'%';fill.style.width=(pHi-pLo)+'%';
applyFilters();
}
function updateDualArea(){
var mn=document.getElementById('rangeAreaMin'),mx=document.getElementById('rangeAreaMax');
if(parseInt(mn.value)>parseInt(mx.value)){var t=mn.value;mn.value=mx.value;mx.value=t;}
var lo=parseInt(mn.value),hi=parseInt(mx.value);
document.getElementById('rangeAreaVal').textContent=lo+'m² — '+(hi>=1000?'1.000m²+':hi+'m²');
var pLo=lo/1000*100,pHi=hi/1000*100;
var fill=document.getElementById('fillArea');fill.style.left=pLo+'%';fill.style.width=(pHi-pLo)+'%';
applyFilters();
}
function resetFilters(){document.getElementById('filterSearch').value='';document.querySelectorAll('.fb-msel-panel input[type=checkbox]').forEach(function(e){e.checked=false;});document.getElementById('filterSort').value='relevancia';document.getElementById('rangePrecoMin').value=0;document.getElementById('rangePrecoMax').value=30000000;updateDualPreco();document.getElementById('rangeAreaMin').value=0;document.getElementById('rangeAreaMax').value=1000;updateDualArea();document.querySelectorAll('.fb-pill.active').forEach(function(e){e.classList.remove('active');});applyFilters();}
function stepPreco(dir){
var mn=document.getElementById('rangePrecoMin');var mx=document.getElementById('rangePrecoMax');var step=100000;
if(dir<0){var v=parseInt(mn.value)+step;if(v>parseInt(mx.value))v=parseInt(mx.value);mn.value=v;}
else{var v=parseInt(mx.value)-step;if(vparseInt(mx.value))v=parseInt(mx.value);mn.value=v;}
else{var v=parseInt(mx.value)-step;if(v0){
var mn=parseInt(card.dataset.suitesMin)||0;
var mx=parseInt(card.dataset.suitesMax)||mn;
if(!(mn===0&&mx===0)){
var match=false;
suites.forEach(function(sv){
var s=parseInt(sv);
if(s>=4){if(mx>=4)match=true;}
else{if(s>=mn&&s<=mx)match=true;}
});
if(!match)show=false;
}
}
if(show&&vagas.length>0){
var vagaText=(card.querySelector('.prop-details')||{}).textContent||'';
var vagaMatch=vagaText.match(/(\d+)[\s–-]*(\d*)\s*vaga/i);
if(vagaMatch){
var vMin=parseInt(vagaMatch[1]);var vMax=vagaMatch[2]?parseInt(vagaMatch[2]):vMin;
var vmatch=false;
vagas.forEach(function(vv){
var vg=parseInt(vv);
if(vg>=3){if(vMax>=3)vmatch=true;}
else{if(vg>=vMin&&vg<=vMax)vmatch=true;}
});
if(!vmatch)show=false;
}
}
if(show&&(minPreco>0||maxPreco<30000000)){var cp=card.dataset.preco||'';var p=parseFloat(cp)||0;if(p===0||cp==='sob-consulta')show=false;else if(pmaxPreco)show=false;}
if(show&&(minArea>0||maxArea<1000)){var areaFound=false;var hasAreaSpec=false;card.querySelectorAll('.spec-lbl').forEach(function(lbl){if(lbl.textContent.trim()==='m²'){hasAreaSpec=true;var valEl=lbl.previousElementSibling;if(valEl){var nums=valEl.textContent.match(/[\d.]+/g);if(nums){var aMin=parseFloat(nums[0]);var aMax=nums.length>1?parseFloat(nums[nums.length-1]):aMin;if(aMax>=minArea&&aMin<=maxArea)areaFound=true;}}}});if(hasAreaSpec&&!areaFound)show=false;}
card.classList.toggle('hidden',!show);
if(show)visible++;
});
var vc=document.querySelectorAll('.prop-card:not(.hidden):not(#noResults)');
vc.forEach(function(c,i){c.classList.remove('lm-hidden');if(i>=20)c.classList.add('lm-hidden');});
var rc=document.getElementById('resultsCount');if(rc)rc.textContent=visible+' Lançamento'+(visible!==1?'s':'');
var nr=document.getElementById('noResults');if(nr)nr.style.display=visible===0?'block':'none';
updateLoadMore();updateURL();refreshAllMselLabels();
}
function updateURL(){
var p=new URLSearchParams();
var b=getMselValues('mselBairro');
var f=getMselValues('mselFase');
var s=document.getElementById('filterSearch').value;
var e=getMselValues('mselEntrega');
var c=getMselValues('mselConstrutora');
var sort=document.getElementById('filterSort').value;
var su=getMselValues('mselSuites');
var vg=getMselValues('mselVagas');
var mnP=parseInt(document.getElementById('rangePrecoMin').value);
var mxP=parseInt(document.getElementById('rangePrecoMax').value);
var mnA=parseInt(document.getElementById('rangeAreaMin').value);
var mxA=parseInt(document.getElementById('rangeAreaMax').value);
if(b.length)p.set('bairro',b.join(','));
if(f.length)p.set('fase',f.join(','));
if(s)p.set('q',s);
if(e.length)p.set('entrega',e.join(','));
if(c.length)p.set('construtora',c.map(function(v){return encodeURIComponent(v);}).join(','));
if(su.length)p.set('suites',su.join(','));
if(vg.length)p.set('vagas',vg.join(','));
if(mnP>0)p.set('preco_min',mnP);
if(mxP<30000000)p.set('preco_max',mxP);
if(mnA>0)p.set('area_min',mnA);
if(mxA<1000)p.set('area_max',mxA);
if(sort&&sort!=='relevancia')p.set('ordem',sort);
var qs=p.toString();
history.replaceState(null,'',window.location.pathname+(qs?'?'+qs:''));
}
function applySort(){const sort=document.getElementById('filterSort').value;const grid=document.getElementById('propGrid');const nr=document.getElementById('noResults');const cards=Array.from(grid.querySelectorAll('.prop-card:not(#noResults)'));cards.sort((a,b)=>{const na=(a.querySelector('.prop-name')||{}).textContent||'';const nb=(b.querySelector('.prop-name')||{}).textContent||'';if(sort==='az')return na.localeCompare(nb,'pt-BR');if(sort==='za')return nb.localeCompare(na,'pt-BR');if(sort==='menor-preco'){const pa=parseFloat(a.dataset.preco)||9999999;const pb=parseFloat(b.dataset.preco)||9999999;return pa-pb;}if(sort==='maior-preco'){const pa=parseFloat(a.dataset.preco)||0;const pb=parseFloat(b.dataset.preco)||0;return pb-pa;}return 0;});cards.forEach(c=>grid.appendChild(c));if(nr)grid.appendChild(nr);applyFilters();}
function loadMore(){var hidden=document.querySelectorAll('.prop-card.lm-hidden:not(.hidden)');var batch=Array.from(hidden).slice(0,20);batch.forEach(function(c){c.classList.remove('lm-hidden');});updateLoadMore();}
function updateLoadMore(){var hidden=document.querySelectorAll('.prop-card.lm-hidden:not(.hidden)');var wrap=document.getElementById('loadMoreWrap');var btn=document.getElementById('loadMoreBtn');if(!wrap)return;if(hidden.length>0){wrap.classList.remove('hidden');if(btn)btn.textContent='Carregar + '+Math.min(20,hidden.length)+' Lançamentos';}else{wrap.classList.add('hidden');}}
(function initLoadState(){
var grid=document.getElementById('propGrid');
if(!grid)return;
var cards=Array.from(grid.querySelectorAll('.prop-card:not(#noResults)'));
cards.forEach(function(c,i){if(i>=20)c.classList.add('lm-hidden');});
updateLoadMore();
})();
Este site utiliza cookies para melhorar sua experiência de navegação e analisar o tráfego. Ao continuar navegando, você concorda com nossa política de privacidade.
1 / 1
Perguntas frequentes
Neste portal estão publicados 20 empreendimentos nesse recorte na Praia Brava, em Itajaí — SC. A lista é atualizada conforme novos lançamentos são divulgados.
Os valores divulgados vão de R$ 1.100.000,00 a R$ 32.000.000,00, com mediana de R$ 9.800.000,00. Valores sujeitos a alteração pela construtora.
Fale com nosso corretor especialista em Praia Brava pelo WhatsApp (47) 99170-2508 para receber plantas, tabela atualizada e agendar visita.