.elementor-278 .elementor-element.elementor-element-431c518{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-278 .elementor-element.elementor-element-431c518.e-con{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-278 .elementor-element.elementor-element-d6decd1{--display:flex;}/* Start custom CSS *//* === GRID PRINCIPAL === */
.grade-imoveis {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 32px;
  padding: 32px;
  box-sizing: border-box;
}

/* === CARD === */
.card-imovel {
  position: relative;
  display: block;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  padding: 16px;
  transition: transform 0.3s ease;
  font-family: 'Exo 2', sans-serif;
}

.card-imovel:hover {
  transform: translateY(-6px);
}

/* === CONTEÚDO CLICÁVEL DENTRO DO CARD === */
.card-imovel .card-conteudo {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* === TÍTULO / VALOR / ENDEREÇO === */
.card-imovel .titulo {
  font-size: 0.84rem;
  font-weight: 600;
  color: #444;
  margin-bottom: 6px;
}

.card-imovel:hover .titulo {
  color: #000;
}

.card-imovel .valor {
  font-size: 1.4rem;
  font-weight: 700;
  color: #000;
  margin-bottom: 4px;
}

.card-imovel .area {
  font-size: 0.9rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 10px;
}

.card-imovel .endereco {
  font-size: 0.85rem;
  color: #888;
}

.card-imovel:hover .endereco {
  color: #000;
}

/* === CARACTERÍSTICAS (quartos, vagas, banheiros) === */
.card-imovel .caracteristicas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 0.9rem;
  font-weight: 600;
  color: #000;
  margin-bottom: 10px;
  align-items: center;
}

.card-imovel .caracteristicas img {
  vertical-align: middle;
  margin-right: 6px;
}
/* === SELOS / TAGS === */
.card-imovel .selos-imovel {
  position: absolute;
  top: 25px;
  left: 30px;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  z-index: 10;
}

.card-imovel .selo {
  background-color: #eefaff;
  color: #000;
  font-size: 0.7rem;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 700;
  text-transform: none;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* === GALERIA === */
.card-imovel .galeria {
  height: 220px;
  overflow: hidden;
  position: relative;
  margin-bottom: 12px;
  border-radius: 12px;
}

/* Ajusta a estrutura interna do Swiper */
.card-imovel .acf-gallery-slide.swiper {
  height: 100%;
  width: 100%;
  position: relative;
}

/* Swiper Slide */
.card-imovel .swiper-slide {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-imovel .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

/* === SWIPER NAVEGAÇÃO & PAGINAÇÃO === */
.card-imovel .galeria-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.card-imovel .galeria-wrapper .swiper-pagination {
  position: absolute !important;
  bottom: 12px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  justify-content: center !important;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.card-imovel:hover .swiper-pagination {
  opacity: 1 !important;
}


/* Botões de navegação */
.card-imovel .swiper-button-next,
.card-imovel .swiper-button-prev {
  background: rgba(255, 255, 255, 0.85) !important;
  color: #000 !important;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.card-imovel .swiper-button-prev {
  left: 10px;
}

.card-imovel .swiper-button-next {
  right: 10px;
}

.card-imovel .swiper-button-next::after,
.card-imovel .swiper-button-prev::after {
  font-size: 16px !important;
  color: #000 !important;
}

/* Bolinhas de paginação centralizadas */
.card-imovel .swiper-pagination {
  position: absolute !important;
  bottom: 12px !important;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.card-imovel .swiper-pagination-bullet {
  background: #ccc !important;
  opacity: 1 !important;
  margin: 0 4px !important;
}

.card-imovel .swiper-pagination-bullet-active {
  background: #000 !important;
}

.card-imovel:hover .swiper-button-next,
.card-imovel:hover .swiper-button-prev,
.card-imovel:hover .swiper-pagination {
  opacity: 1 !important;
}


/* === Botão Favoritar === */
.card-imovel .fav-btn {
  position: absolute;
  top: 25px;
  right: 25px;
  width: 36px;
  height: 36px;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 20;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.card-imovel .fav-btn:hover {
  background-color: #77c8e8;
}

.card-imovel .fav-btn svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #043956;
  stroke-width: 2;
  transition: all 0.3s ease;
}

.card-imovel .fav-btn.favorito-ativo svg {
  fill: #ff0000;
  stroke: #ff0000;
}

.card-imovel .fav-btn:hover svg {
  fill: #043956;
  stroke: #043956;
}

.card-imovel .fav-btn.favorito-ativo {
  background-color: rgba(255, 0, 0, 0.2);
}

.card-imovel .fav-btn.favorito-ativo:hover {
  background-color: #77c8e8;
}
/* === RESPONSIVO === */
@media screen and (max-width: 480px) {
  .card-imovel .caracteristicas {
    gap: 10px;
  }

  .card-imovel .swiper-slide img {
    height: 180px;
  }
}/* End custom CSS */