:root{
  --bg-body-color:#260814;
  --Black:#000;
  --White:#fff;
  --Text-white:#fff;
  --Text:#5c5e61;
  --Text-2:#161e2d;
  --Text-3:rgba(44,46,51,.6);
  --Text-4:rgba(44,46,51,.5);
  --Heading:#2c2e33;
  --Note:#a8abae;
  --Note-2:#8e8e93;
  --Primary:#4f0f29;
  --Primary-dark:#3a0b1e;
  --Sub-primary-1:#f4edf0;
  --Sub-primary-2:rgba(79,15,41,.12);
  --Sub-primary-3:rgba(159,145,96,.16);
  --shadown:rgba(79,15,41,.18);
  --Secondary:#9f9160;
  --On-primary:#ffffff;
  --Line:#ececec;
  --border:hsla(0,0%,100%,.1);
}
*{box-sizing:border-box;}
body{ font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color:var(--Text); background:#fbfbfa; }
a{ text-decoration:none; }

/* =====================================================
   CABEÇALHO PRINCIPAL
===================================================== */

.site-header{
  background:#fbf8f3;
  border-bottom:2px solid rgba(159,145,96,.72);
  box-shadow:0 8px 24px rgba(58,11,30,.16);
  padding:12px 0;
}

/* Estrutura principal do cabeçalho */
.header-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

/* =====================================================
   LOGO
===================================================== */

.site-header .logo{
  display:flex;
  align-items:center;
  width:50%;
  gap:10px;
  flex-shrink:0;
  text-decoration:none;
}

.site-header .logo img{
  display:block;
  width:auto;
  height:68px;
  max-width:100%;
}

/* =====================================================
   AÇÕES: TELEFONE E BOTÃO
===================================================== */

.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.site-header .client-area-link,
.site-header .phone-block,
.site-header .valuation-header-link,
.site-header .header-cta{
  display:inline-flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 14px;
  border:1.5px solid rgba(79,15,41,.72);
  border-radius:999px;
  background:#fff;
  color:var(--Primary);
  font-size:.78rem;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

.site-header .client-area-link i,
.site-header .phone-block i,
.site-header .valuation-header-link i,
.site-header .header-cta i{
  color:inherit;
  font-size:15px;
}

.site-header .client-area-link:hover,
.site-header .client-area-link:focus-visible,
.site-header .phone-block:hover,
.site-header .phone-block:focus-visible,
.site-header .valuation-header-link:hover,
.site-header .valuation-header-link:focus-visible{
  background:var(--Primary);
  border-color:var(--Primary);
  box-shadow:0 7px 18px rgba(79,15,41,.24);
  color:var(--White);
  transform:translateY(-2px);
}

/* Modal de seleção da área do cliente */
.client-area-modal .modal-dialog{ max-width:520px; }
.client-area-modal .modal-content{ border:0; border-radius:22px; box-shadow:0 24px 70px rgba(17,17,17,.28); overflow:hidden; }
.client-area-modal .modal-header{ align-items:flex-start; padding:1.6rem 1.6rem 1rem; border:0; }
.client-area-modal-kicker{ display:block; margin-bottom:.35rem; color:var(--Note-2); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.client-area-modal .modal-title{ color:var(--Heading); font-size:1.45rem; font-weight:800; }
.client-area-modal .modal-body{ padding:0 1.6rem 1.6rem; }
.client-area-modal-intro{ margin-bottom:1rem; color:var(--Text); }
.client-area-options{ display:grid; gap:.8rem; }
.client-area-option{ display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:12px; padding:1rem; border:1px solid var(--Line); border-radius:14px; color:var(--Heading); transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.client-area-option > i:first-child{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--Sub-primary-1); color:var(--Secondary); font-size:1.15rem; }
.client-area-option span{ display:flex; flex-direction:column; gap:2px; }
.client-area-option strong{ font-size:20px; }
.client-area-option small{ color:var(--Text-3); font-size:.82rem; }
.client-area-option > i:last-child{ color:var(--Note-2); }
.client-area-option:hover,
.client-area-option:focus-visible{ border-color:var(--Primary-dark); box-shadow:0 9px 22px var(--shadown); color:var(--Heading); transform:translateY(-2px); }

.site-header .phone-block{
  font-variant-numeric:tabular-nums;
}

.site-header .valuation-header-link{
  letter-spacing:.01em;
}

.site-header .header-cta{
  background:var(--Primary);
  border-color:var(--Primary);
  color:var(--White);
  box-shadow:0 7px 18px rgba(79,15,41,.2);
}

.site-header .header-cta:hover,
.site-header .header-cta:focus-visible{
  background:var(--Secondary);
  border-color:var(--Secondary);
  box-shadow:0 7px 18px rgba(79,15,41,.24);
  color:var(--Primary-dark);
  transform:translateY(-2px);
}

/* =====================================================
   TABLET E CELULAR
===================================================== */

@media (max-width: 767px){

  .site-header{
    padding:14px 0;
  }

  .header-container{
    flex-direction:column;
    justify-content:center;
    gap:14px;
  }

  .header-actions{
    width:100%;
    flex-direction:column;
    justify-content:center;
    gap:12px;
  }

  .site-header .client-area-link,
  .site-header .phone-block,
  .site-header .valuation-header-link,
  .site-header .header-cta{
    width:100%;
    max-width:250px;
    padding:9px 16px;
  }

  .client-area-modal .modal-dialog{ margin:.75rem; }
  .client-area-modal .modal-header{ padding:1.3rem 1.2rem .8rem; }
  .client-area-modal .modal-body{ padding:0 1.2rem 1.3rem; }
  .client-area-modal .modal-title{ font-size:1.25rem; }
}

/* ---------- Navegacao e botoes compartilhados ---------- */
.nav-link-brand{ color:var(--Heading); font-weight:600; font-size:.95rem; text-decoration:none; }
.nav-link-brand:hover, .nav-link-brand.active{ color:var(--Secondary); }
.btn-brand{ background:var(--Primary); border-color:var(--Primary); color:var(--On-primary); font-weight:600; }
.btn-brand:hover{ background:var(--Primary-dark); border-color:var(--Primary-dark); color:var(--On-primary); }
.btn-outline-brand{ border:1.5px solid var(--Primary); color:var(--Secondary); font-weight:600; border-radius:30px; padding:.5rem 1.2rem; }
.btn-outline-brand:hover{ background:var(--Sub-primary-1); color:var(--Secondary); }

/* ---------- Shared components reused across pages ---------- */
.hero-brand{
  background:linear-gradient(135deg, var(--Primary) 0%, var(--Primary-dark) 100%);
  color:var(--On-primary); padding:3.2rem 0 5.5rem;
}
.hero-brand h1{ font-weight:800; font-size:2.1rem; }
.hero-brand p{ opacity:.9; }

.search-card{
  background:#fff; border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  padding:1.4rem;
  margin-top:-3.6rem;
  position:relative; z-index:2;
}
.search-card .form-control, .search-card .form-select{ border-radius:10px; }

.results-bar{ display:flex; justify-content:space-between; align-items:center; margin:2rem 0 1rem; flex-wrap:wrap; gap:.5rem; }
.results-bar .count{ color:var(--Text-3); font-size:.92rem; }

.imovel-card{
  border:1px solid var(--Line); border-radius:16px; overflow:hidden;
  background:#fff; height:100%; text-decoration:none; color:inherit;
  display:block; transition:.18s;
}
.imovel-card:hover{ box-shadow:0 10px 26px rgba(0,0,0,.10); transform:translateY(-2px); color:inherit; }
.imovel-card .img-wrap{
  height:190px; background:var(--Sub-primary-1); display:flex; align-items:center; justify-content:center;
  color:var(--Secondary); font-size:2.2rem; overflow:hidden; position:relative;
}
.imovel-card .img-wrap img{ width:100%; height:100%; object-fit:cover; }
.imovel-card .img-placeholder{ font-size:2.2rem; }
.imovel-card .badge-finalidade{
  position:absolute; top:12px; left:12px; font-size:.68rem; font-weight:700;
  background:var(--Primary); color:var(--On-primary); padding:.35em .7em; border-radius:20px;
}
.imovel-card .body{ display:flex; flex-direction:column; gap:.55rem; padding:1rem 1.1rem 1.2rem; }
.imovel-card .price{ font-weight:800; color:var(--Heading); font-size:1.18rem; line-height:1.25; }
.imovel-card .property-location{ color:var(--Text); font-size:.78rem; line-height:1.35; }
.imovel-card .price .price-caption{
  display:block;
  margin-top:.1rem;
  color:var(--Text-3);
  font-size:.7rem;
  font-weight:600;
  line-height:1.2;
}
.imovel-card .specs{ min-height:1.25rem; color:var(--Text-3); font-size:.82rem; }
.imovel-card .specs i{ margin-right:.2rem; color:var(--Secondary); }

.skeleton{
  background:linear-gradient(90deg,#eee 25%,#f3f3f3 37%,#eee 63%);
  background-size:400% 100%; animation:shimmer 1.4s ease infinite; border-radius:8px;
}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
.empty-state{ padding:3.5rem 1rem; text-align:center; color:var(--Text-3); width:100%; }
.empty-state i{ font-size:2.4rem; color:#c7cbe0; margin-bottom:.6rem; display:block; }

.pagination .page-link{ color:var(--Secondary); border-radius:8px; margin:0 2px; border:1px solid var(--Line); }
.pagination .page-item.active .page-link{ background:var(--Primary); border-color:var(--Primary); color:var(--On-primary); }
.pagination .page-item.disabled .page-link{ color:var(--Note); background:transparent; border-color:var(--Line); }

.card-panel{ border:1px solid var(--Line); border-radius:16px; background:#fff; }

/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 991px){

    .site-header .logo{
        justify-content:center;
        width:100%;
    }

    .site-header .logo img{
        width:auto;
        height:84px;
    }

}
