
html{
  min-height:100%;
  background-color:var(--footer-bg) !important;
}

body.page-imoveis_detalhe{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  background-color:var(--footer-bg) !important;
}

body.page-imoveis_detalhe > footer.re-footer{
  margin-bottom:0 !important;
  border-bottom:0 !important;
  background-color:var(--footer-bg) !important;
}

body > footer.re-footer{
  margin-top:auto;
  flex:0 0 auto;
}

.re-footer{
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  background:var(--footer-bg) !important;
  color:var(--footer-text) !important;
}

/* Faixa de chamada */
.re-footer .re-footer-cta{
  margin:0;
  border-top:1px solid var(--footer-line);
  border-bottom:1px solid var(--footer-line);
  background:var(--footer-bg) !important;
}

.re-footer .re-footer-cta-inner{
  min-height:122px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding-top:22px;
  padding-bottom:22px;
}

.re-footer .re-footer-cta-inner > div{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.re-footer .re-footer-cta-inner span{
  color:var(--footer-text) !important;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.re-footer .re-footer-cta-inner h2{
  margin:0;
  color:var(--footer-text) !important;
  font-size:1.35rem;
  font-weight:650;
  letter-spacing:-.03em;
}

.re-footer .re-footer-cta-btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  padding:0 16px;
  border:0;
  border-radius:10px;
  background:var(--site-footer-cta) !important;
  color:var(--footer-text) !important;
  text-decoration:none !important;
  font-size:.75rem;
  font-weight:750;
  box-shadow:none !important;
  transition:background-color .18s ease,transform .18s ease;
}

.re-footer .re-footer-cta-btn:hover,
.re-footer .re-footer-cta-btn:focus-visible{
  background:var(--footer-accent-hover) !important;
  color:var(--footer-text) !important;
  transform:translateY(-1px);
}

/* Conteúdo principal */
.re-footer .re-footer-main{
  padding-top:56px;
  padding-bottom:22px;
}

.re-footer .re-footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  color:var(--footer-text) !important;
  text-decoration:none !important;
  font-size:1rem;
  font-weight:600;
}

.re-footer .re-footer-logo-wrap{
  width:170px;
  height:92px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:18px;
  background:var(--site-color-surface);
  overflow:hidden;
}

.re-footer .re-footer-logo{
  max-width:170px;
  max-height:92px;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:16px;
}

.re-footer .re-footer-intro{
  max-width:390px;
  margin:14px 0 15px;
  color:var(--footer-text) !important;
  font-size:.74rem;
  line-height:1.75;
}

.re-footer .re-footer-creci{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.065);
  color:var(--footer-text) !important;
  font-size:.63rem;
  font-weight:650;
}

/* Redes sociais */
.re-footer .re-footer-social{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:19px;
}

.re-footer .re-footer-social a{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:var(--footer-text) !important;
  text-decoration:none !important;
  font-size:.82rem;
  box-shadow:none !important;
  transition:background-color .18s ease,transform .18s ease;
}

.re-footer .re-footer-social a:hover,
.re-footer .re-footer-social a:focus-visible{
  background:var(--footer-accent-hover) !important;
  color:var(--footer-text) !important;
  transform:translateY(-1px);
}

/* Colunas */
.re-footer .re-footer-title{
  margin:4px 0 22px;
  color:var(--footer-text) !important;
  font-size:.76rem;
  font-weight:720;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.re-footer .re-footer-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.re-footer .re-footer-links a{
  color:var(--footer-text) !important;
  text-decoration:none !important;
  font-size:.7rem;
  line-height:1.35;
  transition:color .18s ease,transform .18s ease;
}

.re-footer .re-footer-links a:hover,
.re-footer .re-footer-links a:focus-visible{
  color:var(--site-footer-link-hover) !important;
  transform:translateX(2px);
}

/* Atendimento */
.re-footer .re-footer-contact{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.re-footer .re-footer-contact-item{
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  align-items:start;
  gap:8px;
  color:var(--footer-text) !important;
  text-decoration:none !important;
  font-size:.7rem;
  line-height:1.55;
}

.re-footer .re-footer-contact-item span{
  color:var(--footer-text) !important;
}

.re-footer .re-footer-contact-item i{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.06);
  color:var(--footer-icon) !important;
  font-size:.72rem;
}

.re-footer .re-footer-contact-item[href]:hover,
.re-footer .re-footer-contact-item[href]:focus-visible{
  color:var(--footer-text) !important;
}


/* =========================================================
   ASSINATURA SYSIMOBIL
   Bloco institucional do desenvolvedor, centralizado neste
   arquivo e com cores controladas por site-theme.css.
========================================================= */
.re-footer .re-footer-sysimobil{
  width:100%;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin-top:38px;
  padding:15px 17px;
  border:1px solid var(--site-footer-tech-line);
  border-radius:16px;
  background:var(--site-footer-tech-bg);
  color:var(--footer-text) !important;
  text-decoration:none !important;
  box-shadow:none;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}

.re-footer .re-footer-sysimobil:hover,
.re-footer .re-footer-sysimobil:focus-visible{
  background:var(--site-footer-tech-bg-hover);
  border-color:rgba(255,255,255,.20);
  color:var(--footer-text) !important;
  transform:translateY(-1px);
}

.re-footer .re-footer-sysimobil-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--site-footer-tech-icon-bg);
  color:var(--site-footer-tech-icon) !important;
  font-size:1.18rem;
}

.re-footer .re-footer-sysimobil-copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.re-footer .re-footer-sysimobil-kicker{
  color:var(--site-footer-tech-kicker) !important;
  font-size:.59rem;
  font-weight:750;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.re-footer .re-footer-sysimobil-copy strong{
  color:var(--site-footer-tech-title) !important;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.025em;
}

.re-footer .re-footer-sysimobil-copy small{
  max-width:690px;
  color:var(--site-footer-tech-copy) !important;
  font-size:.67rem;
  line-height:1.55;
}

.re-footer .re-footer-sysimobil-link{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 13px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:var(--site-footer-tech-cta) !important;
  font-size:.65rem;
  font-weight:750;
  white-space:nowrap;
  transition:background-color .18s ease,transform .18s ease;
}

.re-footer .re-footer-sysimobil:hover .re-footer-sysimobil-link,
.re-footer .re-footer-sysimobil:focus-visible .re-footer-sysimobil-link{
  background:var(--site-footer-cta);
}

.re-footer .re-footer-sysimobil:hover .re-footer-sysimobil-link i,
.re-footer .re-footer-sysimobil:focus-visible .re-footer-sysimobil-link i{
  transform:translate(1px,-1px);
}

.re-footer .re-footer-sysimobil-link i{
  transition:transform .18s ease;
}

.re-footer .re-footer-developed{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.re-footer .re-footer-developed a{
  color:var(--site-footer-link-hover) !important;
  text-decoration:none !important;
  font-weight:750;
}

.re-footer .re-footer-developed a:hover,
.re-footer .re-footer-developed a:focus-visible{
  color:var(--footer-text) !important;
}

/* Rodapé inferior */
.re-footer .re-footer-bottom{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:44px;
  padding:15px 0 0;
  border-top:1px solid var(--footer-line);
  color:var(--footer-text) !important;
  font-size:.62rem;
}

.re-footer .re-footer-bottom span{
  color:var(--footer-text) !important;
}

/* WhatsApp flutuante é renderizado pelo footer.php e fica centralizado aqui. */
.re-whatsapp-float{
  position:fixed;
  z-index:1060;
  right:22px;
  bottom:22px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--site-footer-whatsapp) !important;
  color:var(--site-footer-text) !important;
  text-decoration:none !important;
  font-size:1.28rem;
  box-shadow:0 12px 32px rgba(12,97,58,.25);
  transition:transform .18s ease,background-color .18s ease;
}

.re-whatsapp-float:hover,
.re-whatsapp-float:focus-visible{
  background:var(--site-footer-whatsapp-hover) !important;
  color:var(--site-footer-text) !important;
  transform:translateY(-2px);
}

@media (max-width:991.98px){
  .re-footer .re-footer-cta-inner{
    min-height:auto;
  }
}

@media (max-width:767.98px){
  .re-footer .re-footer-logo-wrap{
    width:115px;
    height:68px;
    border-radius:14px;
  }

  .re-footer .re-footer-logo{
    max-width:115px;
    max-height:68px;
    border-radius:12px;
  }

  .re-footer .re-footer-cta-inner{
    align-items:flex-start;
    flex-direction:column;
    padding-top:26px;
    padding-bottom:26px;
  }

  .re-footer .re-footer-cta-btn{
    width:100%;
  }

  .re-footer .re-footer-main{
    padding-top:42px;
  }

  .re-footer .re-footer-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
}


@media (max-width:767.98px){
  .re-footer .re-footer-sysimobil{
    grid-template-columns:44px minmax(0,1fr);
    gap:12px;
    margin-top:30px;
    padding:14px;
    border-radius:14px;
  }

  .re-footer .re-footer-sysimobil-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    font-size:1rem;
  }

  .re-footer .re-footer-sysimobil-link{
    grid-column:1 / -1;
    width:100%;
    margin-top:2px;
  }

  .re-footer .re-footer-developed{
    flex-wrap:wrap;
  }
}

@media (max-width:420px){
  .re-whatsapp-float{
    right:14px;
    bottom:14px;
    width:48px;
    height:48px;
    font-size:1.16rem;
  }
}
