:root{
  --verde:#91B075;
  --verde-escuro:#5f7a4a;
  --oliva:#8a9a5b;
  --areia:#f2ede3;
  --areia-clara:#f8f5ef;
  --texto:#23281f;
  --texto-suave:#5b6155;
  --branco:#ffffff;
  --borda:#e2ddd0;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;color:var(--texto);background:var(--areia-clara);line-height:1.6;}
h1,h2,h3{font-family:'Playfair Display',serif;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

/* Header */
header{background:var(--verde-escuro);padding:20px 0;position:relative;}
header.header-hero{background:transparent;position:absolute;top:0;left:0;right:0;z-index:10;}
header .wrap{display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-link{display:flex;align-items:center;gap:12px;}
.selo{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--branco);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.selo::before{content:"";position:absolute;inset:5px;border-radius:50%;border:0.5px solid rgba(255,255,255,.6);}
.selo span{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;color:var(--branco);letter-spacing:2px;font-size:13px;}
.brand-name{color:var(--branco);font-size:16px;font-weight:500;line-height:1.35;}
.brand-name span{display:block;}
.brand-name small{display:block;font-family:'Inter',sans-serif;font-size:10px;font-weight:400;letter-spacing:1px;color:rgba(255,255,255,.75);margin-top:2px;}
.brand-social{display:flex;gap:12px;align-items:center;margin-left:18px;padding-left:18px;border-left:1px solid rgba(255,255,255,.35);}
.brand-social a{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;color:var(--branco);}
.brand-social svg{width:14px;height:14px;fill:currentColor;}
.menu-toggle{
  display:none;background:none;border:1px solid rgba(255,255,255,.6);
  width:38px;height:38px;border-radius:2px;cursor:pointer;
  align-items:center;justify-content:center;flex-shrink:0;
}
.menu-toggle svg{width:18px;height:18px;stroke:var(--branco);fill:none;stroke-width:1.8;}
nav{display:flex;gap:28px;align-items:center;}
nav a{color:var(--branco);font-size:14px;}
nav a.cta{border:1px solid rgba(255,255,255,.7);padding:8px 18px;border-radius:2px;}
nav a.ativo{border-bottom:1px solid rgba(255,255,255,.8);padding-bottom:3px;}

/* Breadcrumb */
.breadcrumb{padding:20px 0 0;font-size:13px;color:var(--texto-suave);}
.breadcrumb a{color:var(--texto-suave);}
.breadcrumb a:hover{color:var(--verde-escuro);}

/* Botões genéricos */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-size:14px;font-weight:500;border-radius:2px;border:none;cursor:pointer;}
.btn-primario{background:var(--verde-escuro);color:var(--branco);}
.btn-secundario{background:transparent;border:1px solid var(--borda);color:var(--texto);}
.btn svg{width:16px;height:16px;fill:currentColor;}

/* Cards de imóvel (reutilizado em Home, Listado e Ficha) */
.card{background:var(--branco);border:1px solid var(--borda);display:flex;flex-direction:column;}
.card-img{height:190px;position:relative;background-color:#e9e4d6;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.card-tag{position:absolute;top:12px;left:12px;background:var(--verde-escuro);color:var(--branco);font-size:11px;letter-spacing:0.5px;padding:5px 10px;}
.card-body{padding:18px;flex:1;display:flex;flex-direction:column;}
.card-price{font-size:19px;font-weight:600;color:var(--verde-escuro);font-family:'Inter',sans-serif;letter-spacing:-0.2px;}
.card-cond{font-size:12px;color:var(--texto-suave);margin-top:2px;}
.card-title{font-size:14px;margin-top:9px;font-weight:500;}
.card-loc{font-size:13px;color:var(--texto-suave);margin-top:4px;}
.card-specs{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--borda);
  display:flex;gap:12px;font-size:12px;color:var(--texto-suave);flex-wrap:wrap;
}
.card-specs span{display:flex;align-items:center;gap:5px;}
.card-specs svg{width:14px;height:14px;stroke:var(--texto-suave);fill:none;stroke-width:1.6;flex-shrink:0;}

/* Ícones reutilizáveis (área, quartos, banheiros, vagas) via classes utilitárias */
.ic{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.6;flex-shrink:0;}

footer{background:var(--verde-escuro);color:rgba(255,255,255,.85);padding:44px 0 24px;}
.footer-bottom{max-width:1180px;margin:0 auto;padding:0 24px;font-size:12px;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

@media (max-width:900px){
  .menu-toggle{display:flex;}
  nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--verde-escuro);flex-direction:column;align-items:flex-start;
    gap:0;padding:8px 24px 20px;z-index:20;
    box-shadow:0 14px 28px rgba(0,0,0,.18);
  }
  nav.aberto{display:flex;}
  nav a{width:100%;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.15);}
  nav a.cta{border:1px solid rgba(255,255,255,.7);text-align:center;margin-top:10px;}
}
