
:root{
  --brand-header:#0F172A;
  --brand-menu:#0F766E;
  --brand-primary:#0FB083;
  --brand-primary-hover:#0F766E;

  --brand-footer:#C4D4DF;
  --brand-footer-box:#E0E8EE;

  --brand-bg:#F4F7F9;
  --brand-bg-soft:#EDF3F5;
  --brand-surface:#FFFFFF;

  --brand-text:#0F172A;
  --brand-muted:#64748B;
  --brand-line:#D8E1E6;

  --brand-dark-card:#1E293B;
  --brand-teal-soft:#E7F7F3;

  /* aliases para compatibilidade com temas antigos */
  --primary:#0FB083;
  --primary-hover:#0F766E;
  --primary-dark:#0F172A;

  --vintage-espresso:#0F172A;
  --vintage-coffee:#0F766E;
  --vintage-brown:#0FB083;
  --vintage-caramel:#5AC8B2;
  --vintage-beige:#EDF3F5;

  --green-main:#0F766E;
  --green-dark:#0F172A;
}

body{
  background:var(--brand-bg) !important;
  color:var(--brand-text);
}

/* Boxes retos em todo o site */
.card,
.property-card,
.search-box,
.section-box,
.contact-card,
.info-card,
.lead-card,
.anunciar-card,
.sobre-card,
.home-request-box,
.luxury-benefit-card,
.luxury-footer-panel,
.luxury-footer-section-card,
.sysimobil-footer-promo,
.form-control,
.form-select,
.btn,
.toolbar-chip,
.price,
.price-badge,
.badge-destaque,
.banner-badge-destaque{
  border-radius:0 !important;
}

/* Botões principais */
.btn-primary,
.btn-success,
.btn-ver-imovel,
.home-property-details-btn,
.home-request-primary{
  background:var(--brand-primary) !important;
  border-color:var(--brand-primary) !important;
  color:#fff !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn-ver-imovel:hover,
.home-property-details-btn:hover,
.home-request-primary:hover{
  background:var(--brand-primary-hover) !important;
  border-color:var(--brand-primary-hover) !important;
  color:#fff !important;
}

/* Outline */
.btn-outline-primary,
.luxury-outline-btn,
.home-view-properties-btn{
  color:var(--brand-menu) !important;
  border-color:var(--brand-menu) !important;
  background:#fff !important;
}

.btn-outline-primary:hover,
.luxury-outline-btn:hover,
.home-view-properties-btn:hover{
  color:#fff !important;
  background:var(--brand-menu) !important;
  border-color:var(--brand-menu) !important;
}

/* Inputs */
.form-control,
.form-select{
  background:#fff !important;
  border-color:var(--brand-line) !important;
  color:var(--brand-text) !important;
}

.form-control:focus,
.form-select:focus{
  border-color:var(--brand-primary) !important;
  box-shadow:0 0 0 .2rem rgba(15,176,131,.12) !important;
}

/* Links e ícones */
a{
  color:var(--brand-menu);
}

a:hover{
  color:var(--brand-primary);
}

.text-primary,
.text-success{
  color:var(--brand-menu) !important;
}

.bg-primary,
.bg-success{
  background:var(--brand-primary) !important;
}

.border-primary,
.border-success{
  border-color:var(--brand-primary) !important;
}

/* Cards */
.property-card,
.card-imovel,
.more-card,
.card{
  background:#fff !important;
  border-color:var(--brand-line) !important;
}

.property-card h3,
.property-card h3 a,
.card-imovel h5,
.card-imovel h5 a,
.more-card h5,
.more-card h5 a{
  color:var(--brand-header) !important;
}

.property-card .price,
.card-imovel .price,
.price,
.price-badge{
  background:var(--brand-header) !important;
  color:#fff !important;
}

.detail-item i,
.icons-imovel i{
  color:var(--brand-menu) !important;
}

.detail-value{
  color:var(--brand-header) !important;
}

.detail-label,
.location,
.text-muted{
  color:var(--brand-muted) !important;
}

/* Chips/filtros */
.toolbar-chip{
  background:#fff !important;
  color:var(--brand-header) !important;
  border-color:var(--brand-line) !important;
}

.toolbar-chip:hover{
  background:var(--brand-teal-soft) !important;
  color:var(--brand-menu) !important;
  border-color:var(--brand-menu) !important;
}

.toolbar-chip.is-active,
.toolbar-chip.active,
.toolbar-chip--sort.is-active{
  background:var(--brand-menu) !important;
  border-color:var(--brand-menu) !important;
  color:#fff !important;
}

/* Headings */
h1,h2,h3,h4,h5,h6{
  color:var(--brand-header);
}

.luxury-section-eyebrow,
.banner-destaques-eyebrow,
.hero-eyebrow{
  color:var(--brand-menu) !important;
}

/* Benefícios */
.luxury-benefit-card{
  background:var(--brand-dark-card) !important;
  border-color:var(--brand-dark-card) !important;
  color:#fff !important;
}

.luxury-benefit-card h3{
  color:#fff !important;
}

.luxury-benefit-card p{
  color:#D7E1E7 !important;
}

.luxury-benefit-icon{
  color:var(--brand-primary) !important;
  background:rgba(15,176,131,.12) !important;
}

/* CTA */
.home-request-cta{
  background:var(--brand-bg-soft) !important;
}

.home-request-box{
  background:#fff !important;
  border-color:var(--brand-line) !important;
}

.home-request-secondary{
  background:var(--brand-header) !important;
  border-color:var(--brand-header) !important;
  color:#fff !important;
}

/* Footer */
.luxury-footer,
.footer-dark,
footer{
  background:var(--brand-footer) !important;
  color:var(--brand-header) !important;
}

.luxury-footer-panel,
.luxury-footer-section-card,
.sysimobil-footer-promo{
  background:var(--brand-footer-box) !important;
  border-color:#B4C5CF !important;
}

.luxury-footer h4,
.luxury-footer-brand-text strong{
  color:var(--brand-header) !important;
}

.luxury-footer-copy,
.luxury-footer-links a,
.luxury-footer-contact,
.luxury-footer-contact li,
.luxury-footer-email{
  color:#475569 !important;
}

.luxury-footer-links i,
.luxury-footer-contact i{
  color:var(--brand-menu) !important;
}

/* Paginação */
.pagination .page-link{
  color:var(--brand-menu) !important;
  border-color:var(--brand-line) !important;
  border-radius:0 !important;
}

.pagination .page-item.active .page-link{
  background:var(--brand-menu) !important;
  border-color:var(--brand-menu) !important;
  color:#fff !important;
}

/* Elementos que devem continuar circulares */
.whatsapp,
.whatsapp-float,
.corretor-avatar,
.corretor-avatar-default,
.footer-social a,
.lb-close,
.lb-prev,
.lb-next{
  border-radius:50% !important;
}


/* Estilos da página: listagens de imóveis */

body{
    background:var(--listing-bg);
}

.topo{
    text-align:center;
    margin-bottom:28px;
}

.topo h1{
    font-weight:800;
    margin-bottom:10px;
}

.topo p{
    color:var(--text-soft);
}

.listing-toolbar{
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-bottom:32px;
}

.chip-group,
.sort-group{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:center;
}

.toolbar-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    text-decoration:none;
    background:#e9edf3;
    color:#243144;
    padding:12px 18px;
    border-radius:999px;
    font-weight:600;
    transition:all .2s ease;
    border:1px solid transparent;
}

.toolbar-chip:hover{
    transform:translateY(-1px);
    color:#10233f;
    background:#dde4ee;
}

.toolbar-chip.is-active{
    background:#0f9b6b;
    color:var(--color-white);
    box-shadow:0 10px 24px rgba(15, 155, 107, .18);
}

.toolbar-chip--sort.is-active{
    background:#163a63;
    box-shadow:0 10px 24px rgba(22, 58, 99, .18);
}

.toolbar-chip i{
    font-size:16px;
    line-height:1;
}

.card-imovel{
    background:var(--color-white);
    border-radius:20px;
    overflow:hidden;
    height:100%;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    transition:.2s;
}

.card-imovel:hover{
    transform:translateY(-5px);
}

.card-imovel img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.card-body-custom{
    padding:20px;
}

.details{
    display:flex;
    justify-content:space-between;
    gap:10px;
    border-top:1px solid var(--border-subtle);
    border-bottom:1px solid var(--border-subtle);
    padding:12px 0;
    margin:15px 0;
}

.detail-item{
    flex:1;
    text-align:center;
}

.detail-item i{
    display:block;
    color:var(--color-sale);
    font-size:18px;
    margin-bottom:4px;
}

.detail-value{
    font-weight:700;
}

.detail-label{
    font-size:12px;
    color:var(--text-soft);
}

.loading{
    display:none;
    text-align:center;
    padding:40px 0;
}

.badge-locacao{
    position:absolute;
    top:15px;
    left:15px;
    background:var(--color-success);
    color:var(--color-white);
    padding:8px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:700;
    z-index:10;
}

.card-image{
    position:relative;
}

@media (max-width: 768px){
    .toolbar-chip{
        width:100%;
        justify-content:center;
    }
}


/* =========================================================
   CARDS - URL AMIGÁVEL + IDENTIDADE MARROM
========================================================= */

/* A imagem inteira é clicável */
.card-imovel-link-foto{
    display:block;
    width:100%;
    text-decoration:none;
}

.card-imovel-link-foto img{
    display:block;
    width:100%;
}

/* Ícones das características no marrom padrão do site */
.card-imovel .detail-item i{
    color:var(--vintage-brown) !important;
}

/* Botão Ver Imóvel */
.card-imovel .btn-ver-imovel{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;

    background:var(--vintage-brown) !important;
    border-color:var(--vintage-brown) !important;
    color:#fff !important;

    font-weight:700;
    box-shadow:none !important;
}

.card-imovel .btn-ver-imovel i{
    color:#fff !important;
}

.card-imovel .btn-ver-imovel:hover,
.card-imovel .btn-ver-imovel:focus{
    background:var(--vintage-coffee) !important;
    border-color:var(--vintage-coffee) !important;
    color:#fff !important;
}


/* =========================================================
   LISTAGENS VENDA / LOCAÇÃO - IDENTIDADE MARROM DO SITE
========================================================= */

.listing-page-vintage{
  color:var(--vintage-espresso, #0F172A);
}

.listing-page-vintage h1,
.listing-page-vintage h2,
.listing-page-vintage .topo h1{
  color:var(--vintage-espresso, #0F172A) !important;
}

.listing-page-vintage .topo p,
.listing-page-vintage .text-muted{
  color:var(--vintage-brown, #0FB083) !important;
}

.listing-page-vintage .toolbar-chip{
  background:#fff !important;
  color:var(--vintage-brown, #0FB083) !important;
  border:1px solid var(--vintage-beige, #EDF3F5) !important;
}

.listing-page-vintage .toolbar-chip i{
  color:var(--vintage-caramel, #5AC8B2) !important;
}

.listing-page-vintage .toolbar-chip:hover{
  background:var(--vintage-beige, #EDF3F5) !important;
  color:var(--vintage-espresso, #0F172A) !important;
  border-color:var(--vintage-caramel, #5AC8B2) !important;
}

.listing-page-vintage .toolbar-chip.is-active,
.listing-page-vintage .toolbar-chip--sort.is-active{
  background:var(--vintage-brown, #0FB083) !important;
  color:#fff !important;
  border-color:var(--vintage-brown, #0FB083) !important;
}

.listing-page-vintage .toolbar-chip.is-active i,
.listing-page-vintage .toolbar-chip--sort.is-active i{
  color:#fff !important;
}

.listing-page-vintage .card-imovel,
.listing-page-vintage .property-card{
  background:#fff !important;
  color:var(--vintage-espresso, #0F172A) !important;
  border:1px solid var(--vintage-beige, #EDF3F5) !important;
  box-shadow:0 10px 28px rgba(74,52,40,.08) !important;
}

.listing-page-vintage .card-imovel h5,
.listing-page-vintage .card-imovel h5 a,
.listing-page-vintage .property-card h3,
.listing-page-vintage .property-card h3 a{
  color:var(--vintage-espresso, #0F172A) !important;
}

.listing-page-vintage .location,
.listing-page-vintage .detail-label{
  color:var(--vintage-brown, #0FB083) !important;
}

.listing-page-vintage .detail-item i{
  color:var(--vintage-brown, #0FB083) !important;
}

.listing-page-vintage .detail-value{
  color:var(--vintage-espresso, #0F172A) !important;
}

.listing-page-vintage .details{
  border-top-color:var(--vintage-beige, #EDF3F5) !important;
  border-bottom-color:var(--vintage-beige, #EDF3F5) !important;
}

.listing-page-vintage .price,
.listing-page-vintage .preco,
.listing-page-vintage .valor{
  background:var(--vintage-coffee, #0F172A) !important;
  color:#fff !important;
}

.listing-page-vintage .badge-finalidade,
.listing-page-vintage .badge-finalidade-venda,
.listing-page-vintage .badge-finalidade-locacao{
  background:var(--vintage-caramel, #5AC8B2) !important;
  color:#fff !important;
}

.listing-page-vintage .btn,
.listing-page-vintage .btn-primary,
.listing-page-vintage .btn-ver-imovel{
  background:var(--vintage-brown, #0FB083) !important;
  border-color:var(--vintage-brown, #0FB083) !important;
  color:#fff !important;
}

.listing-page-vintage .btn:hover,
.listing-page-vintage .btn-primary:hover,
.listing-page-vintage .btn-ver-imovel:hover{
  background:var(--vintage-coffee, #0F172A) !important;
  border-color:var(--vintage-coffee, #0F172A) !important;
  color:#fff !important;
}


/* PREÇO DOS IMÓVEIS - MARROM PADRÃO DO SITE */
.listing-page-vintage .price,
.listing-page-vintage .preco,
.listing-page-vintage .valor,
.listing-page-vintage .property-price,
.listing-page-vintage .card-price,
.listing-page-vintage [class*="price"],
.listing-page-vintage [class*="preco"]{
    color:var(--vintage-brown, #0FB083) !important;
}

/* Caso o valor esteja em strong/span dentro do bloco */
.listing-page-vintage .price *,
.listing-page-vintage .preco *,
.listing-page-vintage .valor *,
.listing-page-vintage .property-price *,
.listing-page-vintage .card-price *{
    color:var(--vintage-brown, #0FB083) !important;
}
\n\n/* FILTRO DA LISTAGEM — MESMO COMPONENTE DO HERO */\n.listing-hero-filter{\n    margin-top:24px !important;\n    margin-bottom:30px !important;\n    border-radius:0 !important;\n}\n\n.listing-hero-filter .luxury-search-btn{\n    min-width:190px;\n}\n

/* Respiro entre filtro e grade de imóveis */
.listing-page-vintage .listing-search-panel + .container,
.listing-page-vintage .listing-search-panel + .listing-results,
.listing-page-vintage .listing-search-panel + .row{
  margin-top:0 !important;
}

.listing-page-vintage .listing-results,
.listing-page-vintage .imoveis-grid{
  padding-top:4px !important;
}

/* Tablets */
@media(max-width:991.98px){
  .listing-page-vintage .listing-search-panel{
    margin-bottom:46px !important;
  }

  .listing-page-vintage .listing-search-form{
    grid-template-columns:1fr 1fr !important;
  }

  .listing-page-vintage .listing-search-action{
    grid-column:1 / -1 !important;
  }

  .listing-page-vintage .listing-search-action .btn{
    width:100% !important;
  }
}

/* Celular */
@media(max-width:575.98px){
  .listing-page-vintage .listing-search-panel{
    margin:20px 14px 38px !important;
    padding:18px 16px 20px !important;
    border-radius:8px !important;
  }

  .listing-page-vintage .listing-search-form{
    grid-template-columns:1fr !important;
    gap:11px !important;
  }

  .listing-page-vintage .listing-search-action{
    grid-column:auto !important;
  }
}


/* =========================================================
   FILTRO HERO — VENDA / LOCAÇÃO
   Estrutura: Tipo | Finalidade | Região/Zona | Código | Buscar
========================================================= */

.listing-page-vintage .listing-hero-filter{
    width:100% !important;
    margin:30px 0 62px !important;
    padding:30px 28px !important;

    background:#FFFFFF !important;
    border:1px solid #D9E3E8 !important;
    border-radius:16px !important;

    box-shadow:0 12px 32px rgba(15,23,42,.09) !important;
}

.listing-page-vintage .listing-hero-filter-form{
    display:grid !important;
    grid-template-columns:
        minmax(180px,1.15fr)
        minmax(180px,1.15fr)
        minmax(150px,.78fr)
        minmax(160px,.82fr)
        minmax(155px,.78fr) !important;
    gap:16px !important;
    align-items:end !important;

    width:100% !important;
    margin:0 !important;
}

.listing-page-vintage .listing-hero-filter-field{
    min-width:0 !important;
}

.listing-page-vintage .listing-hero-filter-field .search-label{
    display:block !important;
    margin:0 0 10px !important;

    color:#64748B !important;
    font-size:.69rem !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
}

.listing-page-vintage .listing-hero-filter .form-control,
.listing-page-vintage .listing-hero-filter .form-select{
    width:100% !important;
    height:48px !important;
    min-height:48px !important;

    padding:0 15px !important;

    background:#FFFFFF !important;
    color:#0F172A !important;

    border:1px solid #CFDCE3 !important;
    border-radius:9px !important;

    font-size:.85rem !important;
    font-weight:500 !important;

    box-shadow:none !important;
    outline:none !important;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease !important;
}

.listing-page-vintage .listing-hero-filter .form-select:disabled{
    background:#F8FAFB !important;
    color:#334155 !important;
    opacity:1 !important;
    cursor:default !important;
}

.listing-page-vintage .listing-hero-filter .form-control:hover,
.listing-page-vintage .listing-hero-filter .form-select:not(:disabled):hover{
    border-color:#8FCBBF !important;
}

.listing-page-vintage .listing-hero-filter .form-control:focus,
.listing-page-vintage .listing-hero-filter .form-select:focus{
    border-color:#0FB083 !important;
    box-shadow:0 0 0 3px rgba(15,176,131,.12) !important;
}

.listing-page-vintage .listing-hero-filter-action{
    display:flex !important;
    align-items:flex-end !important;
    min-width:0 !important;
}

.listing-page-vintage .listing-hero-search-btn{
    width:100% !important;
    height:48px !important;
    min-height:48px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;

    padding:0 20px !important;

    background:#0F978D !important;
    color:#FFFFFF !important;

    border:1px solid #0F978D !important;
    border-radius:9px !important;

    font-size:.85rem !important;
    font-weight:800 !important;

    box-shadow:0 7px 16px rgba(15,151,141,.20) !important;

    transition:
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease !important;
}

.listing-page-vintage .listing-hero-search-btn:hover,
.listing-page-vintage .listing-hero-search-btn:focus{
    background:#0F766E !important;
    border-color:#0F766E !important;
    color:#FFFFFF !important;

    box-shadow:0 9px 20px rgba(15,118,110,.22) !important;
    transform:translateY(-1px) !important;
}

/* O espaçamento real é aplicado ao próprio filtro, não ao grid Bootstrap */
.listing-page-vintage .listing-hero-filter + #lista-imoveis{
    margin-top:0 !important;
}

/* Tablet */
@media(max-width:1199.98px){
    .listing-page-vintage .listing-hero-filter{
        margin-bottom:54px !important;
        padding:24px !important;
    }

    .listing-page-vintage .listing-hero-filter-form{
        grid-template-columns:1fr 1fr !important;
    }

    .listing-page-vintage .listing-hero-filter-action{
        grid-column:1 / -1 !important;
    }

    .listing-page-vintage .listing-hero-search-btn{
        width:100% !important;
    }
}

/* Celular */
@media(max-width:575.98px){
    .listing-page-vintage .listing-hero-filter{
        margin:22px 0 42px !important;
        padding:20px 16px !important;
        border-radius:12px !important;
    }

    .listing-page-vintage .listing-hero-filter-form{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    .listing-page-vintage .listing-hero-filter-action{
        grid-column:auto !important;
    }
}



/* =========================================================
   FILTRO EM ACORDEÃO — VENDA / LOCAÇÃO
========================================================= */
.listing-page-vintage .listing-filter-accordion{
  width:100% !important;
  margin:28px 0 58px !important;
}

.listing-page-vintage .listing-filter-toggle{
  width:100% !important;
  min-height:64px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:14px 18px !important;
  background:#fff !important;
  border:1px solid #D9E3E8 !important;
  border-left:4px solid #0FB083 !important;
  border-radius:10px !important;
  color:#0F172A !important;
  box-shadow:0 8px 24px rgba(15,23,42,.07) !important;
  text-align:left !important;
}

.listing-page-vintage .listing-filter-toggle:hover{
  background:#FBFDFD !important;
  border-color:#C6DAD8 !important;
  border-left-color:#0FB083 !important;
}

.listing-page-vintage .listing-filter-toggle-left{
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  min-width:0 !important;
}

.listing-page-vintage .listing-filter-toggle-left > i{
  width:38px !important;
  height:38px !important;
  flex:0 0 38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#E7F7F3 !important;
  color:#0F766E !important;
  border-radius:8px !important;
  font-size:1.05rem !important;
}

.listing-page-vintage .listing-filter-toggle-copy{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
}

.listing-page-vintage .listing-filter-toggle-copy strong{
  color:#0F172A !important;
  font-size:.88rem !important;
  font-weight:800 !important;
}

.listing-page-vintage .listing-filter-toggle-copy small{
  color:#64748B !important;
  font-size:.72rem !important;
}

.listing-page-vintage .listing-filter-toggle-icon{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#0F766E !important;
  transition:transform .22s ease !important;
}

.listing-page-vintage .listing-filter-toggle[aria-expanded="true"] .listing-filter-toggle-icon{
  transform:rotate(180deg) !important;
}

.listing-page-vintage .listing-filter-collapse .listing-hero-filter{
  margin:10px 0 0 !important;
  border-radius:10px !important;
  box-shadow:0 10px 28px rgba(15,23,42,.07) !important;
}

@media(max-width:991.98px){
  .listing-page-vintage .listing-filter-accordion{
    margin-bottom:48px !important;
  }
}

@media(max-width:575.98px){
  .listing-page-vintage .listing-filter-accordion{
    margin:20px 0 40px !important;
  }
  .listing-page-vintage .listing-filter-toggle{
    min-height:58px !important;
    padding:12px 13px !important;
    border-radius:9px !important;
  }
  .listing-page-vintage .listing-filter-toggle-left > i{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
    border-radius:7px !important;
  }
  .listing-page-vintage .listing-filter-toggle-copy small{
    display:none !important;
  }
}
