.pagina-listagem-seo {
  background: #f6f6f4;
  color: var(--preto);
}

.cabecalho-listagem {
  position: relative;
  min-height: 76px;
  padding: .6rem clamp(1rem, 4vw, 4rem);
  display: flex;
  align-items: center;
  gap: 1.5rem;
  justify-content: space-between;
  background: var(--cor-primaria);
  box-shadow: var(--sombra-embaixo);
}

.logo-listagem img { display: block; width: 118px; height: auto; max-height: 58px; object-fit: contain; }
.cabecalho-listagem nav { display: flex; align-items: center; justify-content: center; gap: clamp(.8rem, 2vw, 1.7rem); flex-wrap: wrap; }
.cabecalho-listagem a { color: var(--preto); font-weight: 700; text-decoration: none; }
.cabecalho-listagem nav a:hover, .rodape-listagem a:hover { text-decoration: underline; }
.botao-contato { border: 1px solid rgba(47,47,47,.45); border-radius: 999px; padding: .65rem .9rem; white-space: nowrap; }
.botao-contato:hover { background: var(--preto); color: var(--branco); }

.hero-listagem { padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 6vw, 7rem); color: #fff; background: linear-gradient(115deg, rgba(24,24,24,.95), rgba(47,47,47,.79)), url('/assets/home-hero.jpeg') center/cover; }
.breadcrumb-listagem { display: flex; gap: .55rem; align-items: center; flex-wrap: wrap; font-size: .88rem; margin-bottom: 1.2rem; color: rgba(255,255,255,.79); }
.breadcrumb-listagem a { color: #fff; }
.hero-listagem h1 { max-width: 920px; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.12; margin: 0 0 .75rem; text-transform: capitalize; }
.hero-listagem > p { max-width: 760px; font-size: 1.04rem; color: rgba(255,255,255,.9); }
.atalhos-finalidade { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.atalhos-finalidade a { border: 1px solid rgba(255,255,255,.72); color: #fff; text-decoration: none; border-radius: 999px; padding: .45rem .85rem; font-weight: 700; }
.atalhos-finalidade a:hover, .atalhos-finalidade a.ativo { background: var(--cor-primaria); border-color: var(--cor-primaria); color: var(--preto); }

.conteudo-listagem { max-width: 1440px; margin: 0 auto; padding: clamp(1.25rem, 4vw, 3rem) clamp(1rem, 4vw, 2.5rem) 4rem; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 2rem; align-items: start; }
.filtros-seo { position: sticky; top: 1rem; padding: 1.2rem; background: #fff; border-radius: var(--radius); box-shadow: 0 2px 12px rgba(0,0,0,.09); }
.filtros-seo h2 { font-size: 1.2rem; margin-bottom: .8rem; }
.filtros-seo h3 { font-size: .92rem; margin: 1.55rem 0 .45rem; text-transform: uppercase; letter-spacing: .04em; color: #646464; }
.filtros-seo ul { list-style: none; max-height: 350px; overflow: auto; }
.filtros-seo li + li { border-top: 1px solid #eee; }
.filtros-seo li a { display: flex; align-items: baseline; gap: .4rem; padding: .55rem 0; color: var(--preto); text-decoration: none; font-size: .92rem; }
.filtros-seo li a:hover { color: #9a7510; text-decoration: underline; }
.filtros-seo li span { color: #777; font-size: .78rem; margin-left: auto; }
.filtros-seo small { display: block; color: #777; font-size: .76rem; }
.link-busca-avancada { display: block; background: var(--preto); color: #fff; padding: .65rem .75rem; border-radius: var(--radius-sm); text-decoration: none; font-weight: 700; font-size: .88rem; }
.link-busca-avancada:hover { background: #111; }

.contador-listagem { margin: 0 0 1rem; color: #5f5f5f; }
.contador-listagem strong { color: var(--preto); }
.grade-imoveis-servidor { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.card-imovel-servidor { overflow: hidden; background: #fff; border-radius: var(--radius); box-shadow: 0 2px 12px rgba(0,0,0,.1); display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.card-imovel-servidor:hover { transform: translateY(-4px); box-shadow: 0 8px 22px rgba(0,0,0,.17); }
.imagem-card-servidor { display: block; position: relative; height: 190px; background: #eee; overflow: hidden; }
.imagem-card-servidor img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.card-imovel-servidor:hover .imagem-card-servidor img { transform: scale(1.04); }
.codigo-card, .finalidade-card { position: absolute; top: .75rem; color: #fff; background: rgba(28,28,28,.78); border-radius: 999px; padding: .26rem .55rem; font-size: .72rem; font-weight: 700; }
.codigo-card { left: .75rem; }.finalidade-card { right: .75rem; background: var(--cor-primaria); color: var(--preto); }
.conteudo-card-servidor { padding: 1rem; display: flex; flex: 1; flex-direction: column; }
.dados-rapidos-card { display: flex; gap: .7rem; list-style: none; color: #676767; font-size: .82rem; margin: 0 0 .85rem; min-height: 1.25rem; }
.dados-rapidos-card li { white-space: nowrap; }.dados-rapidos-card i { color: #b08a17; }
.conteudo-card-servidor h2 { font-size: 1.08rem; line-height: 1.28; margin-bottom: .35rem; }
.conteudo-card-servidor h2 a { color: var(--preto); text-decoration: none; }.conteudo-card-servidor h2 a:hover { text-decoration: underline; }
.local-card { font-size: .86rem; color: #666; margin-bottom: .55rem; }.local-card i { color: #af8715; }
.resumo-card { color: #555; font-size: .84rem; line-height: 1.45; margin-bottom: .8rem; }
.valor-card { margin-top: auto; font-weight: 700; font-size: 1.06rem; color: #222; }
.botao-ficha { color: #5e4806; text-decoration: none; font-size: .86rem; font-weight: 700; margin-top: .85rem; }.botao-ficha:hover { text-decoration: underline; }
.aviso-mais-resultados { margin-top: 1.5rem; padding: 1rem; background: #fff9de; border-left: 4px solid var(--cor-primaria); border-radius: var(--radius-sm); }.aviso-mais-resultados a { color: #594400; font-weight: 700; }
.rodape-listagem { text-align: center; padding: 2rem 1rem; color: #eee; background: var(--preto); font-size: .9rem; }.rodape-listagem a { color: var(--cor-primaria); }

@media (max-width: 1100px) { .grade-imoveis-servidor { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) { .cabecalho-listagem { flex-wrap: wrap; }.cabecalho-listagem nav { order: 3; width: 100%; justify-content: flex-start; }.conteudo-listagem { grid-template-columns: 1fr; }.filtros-seo { position: static; }.filtros-seo ul { max-height: 200px; }.imagem-card-servidor { height: 210px; } }
@media (max-width: 560px) { .cabecalho-listagem { padding: .7rem 1rem; gap: .6rem; }.logo-listagem img { width: 96px; }.botao-contato { font-size: .8rem; }.cabecalho-listagem nav { gap: .7rem; font-size: .85rem; }.grade-imoveis-servidor { grid-template-columns: 1fr; }.hero-listagem { padding: 2.5rem 1rem; } }
