/* Diego Barroso: cores, fontes e detalhes só deste site (gerado por imob-kit/gera.js a partir de dados.json) */
:root { --bg: #0b0b0c; --card: #141416; --ink: #f2f2f1; --muted: #a7a7a9; --dark: #000000; --dark-ink: #f2f2f1; --accent: #f2f2f1; --accent-ink: #0b0b0c; --gold: #bdbdbd; --f-head: "Libre Caslon Display", Georgia, serif; --f-body: "Plus Jakarta Sans", system-ui, sans-serif; --head-w: 400; --head-ls: -.01em; }

/* Diego (12/11): fundo PRETO (o Diego gostou), sem fios amarelos; sem moldura e sem dourado (pedido do Luiz 12/11) */
:root { --ouro-h: linear-gradient(90deg, #9c7424, #c9a24a 25%, #ecd08a 50%, #c9a24a 75%, #9c7424); --ouro-v: linear-gradient(180deg, #9c7424, #c9a24a 25%, #ecd08a 50%, #c9a24a 75%, #9c7424); --ouro-l: 2px; }
:root { --line: rgba(255, 255, 255, .12); }
body { background: var(--bg); color: var(--ink); }
.card { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08); transition: box-shadow .4s; }
.card:hover { box-shadow: 0 0 0 1px rgba(255, 255, 255, .22); }
.topo.solido, .topo.claro { background: rgba(6, 6, 7, .95); color: var(--ink); box-shadow: 0 1px 0 rgba(255, 255, 255, .1); }
.topo.solido .marca .sig .tr, .topo.claro .marca .sig .tr { stroke: #fff; }
.selo { background: rgba(0, 0, 0, .78); color: #fff; border: 1px solid rgba(255, 255, 255, .3); }
.selo.vend { background: #000 !important; color: #fff !important; }
.grade-vend .card .foto::after { background: rgba(0, 0, 0, .82); color: #fff; }
.coracao { background: rgba(0, 0, 0, .62); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.coracao[aria-pressed="true"] svg { fill: #fff; stroke: #fff; }
.quem .retrato .placa { background: rgba(0, 0, 0, .86); color: var(--ink); border: 1px solid rgba(255, 255, 255, .18); }
.quem .retrato .placa small { color: var(--muted); }
.cmp input, .cmp select, .cmp textarea, .opcoes button, .chip, .res-top select { background: #141416; color: var(--ink); }
.chip[aria-pressed="true"], .opcoes button[aria-pressed="true"] { background: #f2f2f1; color: #0b0b0c; border-color: #f2f2f1; }
.gal-acoes button { background: rgba(0, 0, 0, .78); color: #fff; }
.barra-im { background: rgba(6, 6, 7, .96) !important; border-top: 1px solid rgba(255, 255, 255, .12); }
.folha { background: #111113; color: var(--ink); }
.im-desc, .im-desc * { color: #d6d6d4; }
/* busca da capa em grafite */
.bk { --bk-line: rgba(255, 255, 255, .14); --bk-tint: #1b1b1e; color: var(--ink); }
.bk-corpo { background: #101012; box-shadow: 0 0 0 1px rgba(255, 255, 255, .12), 0 30px 60px -30px #000; }
.bk .bk-c { background: #18181b; border-color: rgba(255, 255, 255, .14); }
.bk .bk-c:hover, .bk .bk-c.on, .bk .bk-c:focus-within { background: #1d1d20; border-color: rgba(255, 255, 255, .45); }
.bk .bk-c span, .bk .bk-rs { color: #c9c9c7; }
.bk-l { background: #141416; color: var(--ink); }
.bk-p, .bk-cod input { background: #18181b; color: var(--ink); }
.bk-ir { box-shadow: 0 14px 30px -16px rgba(255, 255, 255, .25); }
/* faixa do Instagram */
.igf { background: #000 !important; color: var(--ink) !important; box-shadow: 0 1px 0 rgba(255, 255, 255, .08), 0 -1px 0 rgba(255, 255, 255, .08); }
.igf-bt { background: #f2f2f1 !important; color: #0b0b0c !important; }
.igf-av img { border-color: #000 !important; }
.igf-av i { color: #0b0b0c !important; background: #f2f2f1 !important; }
.anuncie, .rodape { box-shadow: 0 -1px 0 rgba(255, 255, 255, .08); }


/* os 4 tipos com a mesma altura */
.mosaico[data-n="4"] a:first-child { aspect-ratio: 4 / 5; }

/* teste do Michael (11/11): fonte League Spartan no título de todos os cartões */
.card .txt h3 { font-family: "League Spartan", system-ui, sans-serif; font-weight: 600; letter-spacing: -.01em; }
.h-tit, .h-sobre { font-family: "League Spartan", system-ui, sans-serif; font-weight: 600; letter-spacing: -.01em; }
/* "busca" da capa em dourado (o Diego gostou, 12/11) */
.hero h1 em { color: #d4bc3a; }
/* estrela do "Imóvel em destaque" em dourado (12/11) */
.tour-selo svg { fill: #d4bc3a; filter: drop-shadow(0 0 1px rgba(0, 0, 0, .45)); }
/* "procura" de "O que você procura?" em dourado, igual ao "busca" da capa (12/11) */
h2 em.dourado { color: #d4bc3a; }
/* faixa do Instagram com dourado (12/11): título, @, botão, selo e anel da foto */
.igf-t small { color: #d4bc3a !important; opacity: 1 !important; }
.igf-t b { color: #d4bc3a; }
.igf-bt { background: #d4bc3a !important; color: #0b0b0c !important; }
.igf-av { background: linear-gradient(160deg, #ecd08a, #d4bc3a 55%, #9c7424) !important; }
.igf-av i { background: #d4bc3a !important; color: #0b0b0c !important; }
/* foto nova do Quem atende (12/11, 3:4 da cintura pra cima): quadro na mesma proporção, sem sobra */
.quem .retrato { aspect-ratio: 3 / 4 !important; }
@media (max-width: 900px) { .quem .retrato { aspect-ratio: 3 / 4 !important; } }
/* passar o mouse: fica douradinho da esquerda para a direita (12/11) — botões enchem de ouro, links tipo "Ver os 20 imóveis" pintam o texto e o traço */
@media (hover: hover) {
  .btn:not(.btn-wa), .bk-ir { background-image: linear-gradient(#d4bc3a, #d4bc3a) !important; background-repeat: no-repeat !important; background-position: 0 0 !important; background-size: 0% 100% !important;
    transition: background-size .5s cubic-bezier(.65, 0, .35, 1), color .25s ease .15s, border-color .5s ease, transform .2s ease; }
  .btn:not(.btn-wa):hover, .bk-ir:hover { background-size: 100% 100% !important; color: #0b0b0c !important; border-color: #d4bc3a !important; }
  .link-seta { position: relative; border-bottom-color: transparent; background: linear-gradient(90deg, #d4bc3a 0 50%, currentColor 50% 100%) 100% 0 / 200% 100% no-repeat; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; transition: background-position .5s cubic-bezier(.65, 0, .35, 1); }
  .link-seta::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, #d4bc3a 0 50%, currentColor 50% 100%) 100% 0 / 200% 100% no-repeat; transition: background-position .5s cubic-bezier(.65, 0, .35, 1); }
  .link-seta:hover, .link-seta:hover::after { background-position: 0 0; }
  .link-seta svg { transition: transform .35s var(--ease), color .2s ease .3s; }
  .link-seta:hover svg { color: #d4bc3a; }
}
/* CRECI 51009 (12/11): a linha "Corretor de imóveis · CRECI" fica embaixo do título da capa; o olho repetido de baixo sai */
.hero .hero-txt > .olho { display: none; }
.hero-creci { opacity: .85; }
/* CRECI em dourado só nas seções que já têm dourado (capa, Quem atende, Contato); rodapé fica branco (12/11) */
.creci-o { color: #d4bc3a; font-weight: 600; }
/* lista da busca (12/11): o fundo branco do busca.css ganhava do escuro e o texto claro sumia; agora lista sólida escura, letra branca, número e marcado legíveis */
.bk .bk-l { background: #161618; color: #f4f4f2; border: 1px solid rgba(255, 255, 255, .18); box-shadow: 0 28px 60px -22px #000; scrollbar-color: #4a4a50 #161618; }
.bk .bk-l li { color: #f4f4f2; font-weight: 500; }
.bk .bk-l li em { background: rgba(255, 255, 255, .1); color: #d6d6d3; }
.bk .bk-l li:hover, .bk .bk-l li.at { background: #2a2a2f; }
.bk .bk-l li[aria-selected="true"] { color: #fff; font-weight: 700; background: #222226; }
.bk .bk-l li[aria-selected="true"] em { background: #d4bc3a; color: #0b0b0c; }
.bk .bk-l li.bk-todos { color: #c9c9c6; border-bottom-color: rgba(255, 255, 255, .14); }
.bk .bk-l li.bk-nada { color: #c9c9c6; }
.bk .bk-in input { color: #f4f4f2; }
.bk .bk-in input::placeholder { color: #cfcfcb; opacity: 1; }
/* "Mais filtros" (12/11): botões estavam brancos com letra branca; agora grafite com letra branca, marcado em dourado, e só aparecem as características que dá para escolher */
.bk .bk-p { background: #1c1c1f; border: 1px solid rgba(255, 255, 255, .22); color: #f4f4f2; }
.bk .bk-p:hover { border-color: rgba(255, 255, 255, .55); }
.bk .bk-p[aria-pressed="true"] { background: #d4bc3a; border-color: #d4bc3a; color: #0b0b0c; }
.bk .bk-cp em { color: inherit; opacity: .75; }
.bk .bk-mais, .bk .bk-mais span { color: #f4f4f2; }
.bk .bk-mais small { color: #c9c9c6; }
.bk .bk-cod input { background: #1c1c1f; color: #f4f4f2; border-color: rgba(255, 255, 255, .22); }
/* selo "Exclusivo" (12/11): dourado, no cartão e na página do imóvel */
.card .selo.esc { background: #d4bc3a !important; color: #0b0b0c !important; border-color: #d4bc3a !important; }
.excl-o { display: inline-block; margin-left: 6px; padding: 3px 9px; border-radius: 999px; background: #d4bc3a; color: #0b0b0c; font-weight: 700; letter-spacing: .12em; }
/* tarja de Reservado/Vendido (12/11): atravessa a foto do cartão, sem preço; vendido em preto, reservado em dourado */
.card .foto .tarja { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); z-index: 3; padding: 11px 0; text-align: center; background: rgba(0, 0, 0, .84); color: #fff; font: 700 13px/1 var(--f-body); letter-spacing: .34em; text-transform: uppercase; box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .6); pointer-events: none; }
.card .foto .tarja.res { background: rgba(212, 188, 58, .95); color: #0b0b0c; }
.grade-vend .card .foto::after { content: none !important; }
.preco-tarja { display: inline-block; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #f4f4f2; }
.preco-tarja.res, .card .preco .preco-tarja:not(:empty) { color: #d4bc3a; }
/* abas de situação na lista (12/11) */
.sit-abas { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 22px; }
.sit-abas button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); background: #1c1c1f; color: #f4f4f2; font: 600 14px/1 var(--f-body); cursor: pointer; }
.sit-abas button em { font-style: normal; font-size: 12px; min-width: 22px; padding: 3px 7px; border-radius: 999px; background: rgba(255, 255, 255, .12); text-align: center; }
.sit-abas button[aria-selected="true"] { background: #d4bc3a; border-color: #d4bc3a; color: #0b0b0c; }
.sit-abas button[aria-selected="true"] em { background: rgba(0, 0, 0, .15); }
.sit-abas button:hover { border-color: rgba(255, 255, 255, .55); }
.vazio[hidden], .vend-sec[hidden], .grade[hidden] { display: none !important; }
