/* [2026-09-28 pagina-bairro] Página do bairro nos modelos sem desenho próprio.
   Só o que o modelo não tem: foto, números, preço por m² e outros bairros. Cartão, título, botões e
   cartões de imóvel são os do próprio modelo. Tudo neutro: herda fonte e cor, e os cinzas são
   transparências sobre o fundo do modelo (funciona em modelo claro e escuro). */
.c49bairro{ padding-top:6px; }
.c49bairro__topo{ align-items:stretch; }
.c49bairro__topo > [class*="col-"]{ display:flex; flex-direction:column; }
.c49bairro__topo > [class*="col-"] > [id^="c49wrap-"]{ flex:1 1 auto; display:flex; flex-direction:column; }
.c49bairro__topo .card.c49wrap-card{ flex:1 1 auto; }

/* foto: preenche o cartão do modelo */
.c49bairro__foto{ position:relative; min-height:300px; overflow:hidden; padding:0!important; }
.c49bairro__foto img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.c49bairro__foto--vazia{ display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg, rgba(128,128,128,.10), rgba(128,128,128,.22)); }
.c49bairro__foto-icone{ font-size:64px; line-height:1; opacity:.35; }

/* resumo: cidade, números e botões */
.c49bairro__resumo .card-block{ display:flex; flex-direction:column; gap:16px; }
.c49bairro__local{ margin:0; font-size:.78em; font-weight:700; letter-spacing:.14em; text-transform:uppercase; opacity:.7; }
.c49bairro__numeros{ display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; margin:0; padding:0; }
.c49bairro__numeros > div{ margin:0; padding:10px 12px 11px; border-radius:10px; background:rgba(128,128,128,.10); }
.c49bairro__numeros dt{ margin:0 0 4px; font-size:.7em; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.72; }
.c49bairro__numeros dd{ margin:0; font-size:1.55em; font-weight:700; line-height:1.1; }
.c49bairro__numeros dd small{ display:block; margin-top:4px; font-size:.5em; font-weight:600; line-height:1.3; opacity:.85; white-space:nowrap; }
.c49bairro__acoes{ display:flex; flex-direction:column; gap:10px; margin-top:auto; }
.c49bairro__acoes .btn{ margin:0!important; }
/* modelo que nao pinta o .c49btn-main: cor de destaque do proprio modelo (o script do modulo decide) */
.c49bairro--acento .c49btn-main{ background:var(--c49b-acento)!important; border-color:var(--c49b-acento)!important; color:var(--c49b-acento-txt,#fff)!important; font-weight:600; }
.c49bairro--acento .c49btn-main:hover{ filter:brightness(.93); }
.c49bairro--acento .c49bairro__acoes .btn-secondary{ background:transparent!important; border:1.5px solid var(--c49b-acento)!important; color:var(--c49b-acento)!important; font-weight:600; }

/* texto do bairro */
.c49bairro__texto{ max-width:78ch; }
.c49bairro__texto p{ margin:0 0 1em; line-height:1.75; }
.c49bairro__texto p:last-child{ margin-bottom:0; }
.c49bairro__texto ul, .c49bairro__texto ol{ margin:0 0 1em; padding-left:1.3em; }
.c49bairro__texto li{ margin:.3em 0; line-height:1.65; }

/* preço anunciado por m² (mesmos números e textos da ficha) */
.c49bairro-m2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); gap:16px; }
.c49bairro-m2__grupo{ margin:0; padding:14px 16px 12px; border-radius:10px; background:rgba(128,128,128,.07); }
.c49bairro-m2__tipo{ margin:0; padding:0; border:0; font-family:inherit; font-size:1.05em; font-weight:700; line-height:1.25; letter-spacing:normal; text-transform:none; }
.c49bairro-m2__tipo::before, .c49bairro-m2__tipo::after{ display:none; content:none; }
.c49bairro-m2__sub{ margin:2px 0 10px; font-size:.72em; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.7; }
.c49bairro-m2__cells{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; padding:0; }
.c49bairro-m2__cells > div{ margin:0; padding:8px 10px 9px; border-radius:8px; background:rgba(128,128,128,.09); }
.c49bairro-m2__cells dt{ margin:0 0 2px; font-size:.66em; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.7; }
.c49bairro-m2__cells dd{ margin:0; font-size:1.25em; font-weight:700; line-height:1.2; }
.c49bairro-m2__cells dd small{ font-size:.6em; font-weight:500; opacity:.75; }
.c49bairro-m2__cells dd.c49bairro-m2__var{ font-size:.95em; line-height:1.35; }
.c49bairro-m2__cells dd span{ font-size:.8em; font-weight:500; opacity:.7; }
.c49bairro-m2__svg{ display:block; width:100%!important; height:58px!important; max-width:none; overflow:visible; margin:8px 0 2px; font:inherit; }
.c49bairro-m2__svg text{ fill:currentColor; font-family:inherit; }
.c49bairro-m2__track{ fill:currentColor; fill-opacity:.12; }
.c49bairro-m2__band{ fill:currentColor; fill-opacity:.2; }
.c49bairro-m2__tick{ stroke:currentColor; stroke-opacity:.7; stroke-width:2.4; stroke-linecap:round; }
.c49bairro-m2__num{ font-size:11.5px; fill-opacity:.8; }
.c49bairro-m2__num--tipico{ font-weight:700; fill-opacity:1; }
.c49bairro-m2__amostra{ margin:6px 0 0; padding-top:8px; border-top:1px solid rgba(128,128,128,.22); font-size:.78em; line-height:1.45; opacity:.75; }
.c49bairro-m2__fonte{ margin:12px 0 0; font-size:.78em; text-align:right; opacity:.7; }

/* lista de imóveis: âncora do "Ver imóveis" */
.c49bairro__imoveis{ scroll-margin-top:16px; }
@media (prefers-reduced-motion: no-preference){ html:has(.c49bairro){ scroll-behavior:smooth; } }

/* outros bairros */
.c49bairro__outros{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.c49bairro__vizinho{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:170px; padding:14px 16px; border-radius:10px; overflow:hidden; color:#fff!important; text-decoration:none!important; background-color:#3a3f45; background-size:cover; background-position:center; isolation:isolate; transition:transform .2s ease, box-shadow .2s ease; }
.c49bairro__vizinho::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.28) 45%, rgba(0,0,0,0) 72%); }
.c49bairro__vizinho--vazio{ background-image:linear-gradient(160deg, #59616b, #2f343a); }
.c49bairro__vizinho:hover{ transform:translateY(-3px); box-shadow:0 12px 26px -14px rgba(0,0,0,.55); }
.c49bairro__vizinho-nome{ font-size:1.2em; font-weight:700; line-height:1.15; text-shadow:0 1px 6px rgba(0,0,0,.35); }
.c49bairro__vizinho-n{ margin-top:3px; font-size:.72em; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.92; }

@media (max-width:991px){
  .c49bairro__foto{ min-height:240px; aspect-ratio:16/10; }
}
@media (max-width:575px){
  .c49bairro-m2__cells{ grid-template-columns:1fr; }
  .c49bairro__numeros dd{ font-size:1.4em; }
}
