/* Lance Conferido — identidade "B1 v2" (docs/UI_UX_DESIGN.md §0). Celular primeiro. */
@font-face {
  font-family: "Schibsted Grotesk";
  src: url("fontes/schibsted-grotesk.4536bb449e82.woff2") format("woff2");
  font-weight: 400 900; font-style: normal; font-display: swap;
}
:root {
  --tinta: #0E1A33; --tinta-2: #4A5670; --tinta-3: #5E6A84; --borda-campo: #8792A8;
  --gelo: #F1F3F7; --branco: #FFFFFF; --linha: #D9DFE9; --linha-2: #E9EDF3;
  --azul: #1F4FEA; --azul-escuro: #1739B5; --azul-suave: #E8EEFF;
  --aviso-fundo: #FFF4DE; --aviso-texto: #6E4200; --erro: #B42318;
  --raio: 12px; --raio-campo: 8px;
  --fonte: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--fonte); color: var(--tinta); background: var(--gelo); line-height: 1.45; font-size: 1rem; }
::selection { background: #C9D6FF; color: var(--tinta); }
a { color: var(--azul-escuro); text-underline-offset: .18em; }
a:hover { color: var(--azul); }
:focus-visible { outline: 3px solid var(--azul); outline-offset: 2px; border-radius: 4px; }
input, select, textarea, button { font: inherit; color: inherit; caret-color: var(--azul); }
h1, h2, h3 { letter-spacing: -.015em; line-height: 1.2; text-wrap: balance; }
.i { width: 1rem; height: 1rem; flex: none; vertical-align: -.15em; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pular { position: absolute; left: -999px; top: 0; background: var(--tinta); color: #fff; padding: .6rem 1rem; z-index: 10; }
.pular:focus { left: 1rem; }
.pular:hover, .pular:focus { color: #fff; }

/* topo e rodapé */
.topo { display: flex; align-items: center; gap: 1.75rem; padding: .7rem 1rem; background: var(--branco); border-bottom: 1px solid var(--linha); }
.marca { display: inline-flex; }
.marca img { display: block; height: 28px; width: auto; }
.nav { display: flex; gap: 1.25rem; font-size: .92rem; overflow-x: auto; }
.nav a { color: var(--tinta-2); text-decoration: none; padding: .55rem 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.nav a[aria-current="page"] { color: var(--tinta); font-weight: 620; border-color: var(--azul); }
@media (max-width: 40rem) { .topo { flex-wrap: wrap; row-gap: .25rem; } .nav { width: 100%; gap: 1.1rem; } }
main { max-width: 80rem; margin: 0 auto; padding: 1rem; }
.topo-conta { margin-left: auto; display: flex; align-items: center; gap: .6rem; }
.entrar { font-size: .92rem; font-weight: 650; color: var(--azul-escuro); text-decoration: none; padding: .6rem .3rem; }
.botao-pequeno { min-height: 40px; padding: 0 .9rem; font-size: .9rem; }
.icone-conta { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--linha); border-radius: 50%; color: var(--tinta); background: var(--branco); }
.icone-conta:hover { border-color: #B9C3D4; color: var(--azul-escuro); }
@media (max-width: 40rem) { .topo .marca { order: 1; } .topo-conta { order: 2; } .nav { order: 3; } .topo-conta .botao-claro { padding: 0 .6rem; font-size: .85rem; } }
.numeros-site { display: flex; flex-wrap: wrap; gap: .3rem 1.5rem; align-items: baseline; margin: 0 0 1rem; font-size: .92rem; color: var(--tinta-2); }
.numeros-site strong { color: var(--tinta); }
.planos-topo .numeros-site { margin: .75rem 0 1rem; }
.numeros-site a { font-weight: 600; }
@media (max-width: 40rem) { .numeros-site { flex-direction: column; gap: .1rem; font-size: .88rem; } }
.numeros-definicoes { display: grid; gap: 1rem; margin: 1.25rem 0; }
.numeros-definicoes dt { font-weight: 700; }
.numeros-definicoes dd { margin: .2rem 0 0; color: var(--tinta-2); }
.faixa-beta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; margin-top: 2.5rem; padding: .8rem 1rem; border: 1px dashed var(--linha); border-radius: var(--raio); background: var(--branco); font-size: .92rem; color: var(--tinta-2); }
.faixa-beta p { margin: 0; }
.faixa-beta strong { color: var(--tinta); }
.pagina-sugestao { max-width: 40rem; display: grid; gap: 1rem; }
.pagina-sugestao h1 { margin: 0 0 .4rem; }
.pagina-sugestao textarea { width: 100%; }
.formulario .erro { margin: 0 0 .6rem; padding: .5rem .7rem; background: #FDECEA; color: var(--erro); border-radius: var(--raio-campo); font-weight: 600; }
.botao-perigo { background: var(--erro); border-color: var(--erro); }
.botao-perigo:hover { background: #8F1C13; }
.pagina-sugestao .opcoes-linha { flex-direction: column; align-items: flex-start; gap: .1rem; }
.sugestao-sobre { font-size: .92rem; color: var(--tinta-2); }
.rodape { background: var(--tinta); color: #C9D2E3; margin-top: 3rem; padding: 2.5rem max(1rem, calc((100% - 78rem) / 2)) 2rem; font-size: .9rem; }
.rodape a { color: #E9EEF8; text-decoration: none; }
.rodape a:hover { color: #fff; text-decoration: underline; }
.rodape :focus-visible { outline-color: #8AA6FF; }
.rodape-marca img { display: block; height: 30px; width: auto; }
.rodape-marca p { max-width: 34rem; margin: .8rem 0 0; color: #AEB9CF; }
.rodape-colunas { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin: 2rem 0; }
@media (min-width: 48rem) { .rodape-colunas { grid-template-columns: repeat(4, 1fr); } }
.rodape h2 { font-size: .78rem; font-weight: 650; color: #8E9AB3; margin: 0 0 .6rem; letter-spacing: .02em; }
.rodape ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .1rem; }
.rodape li a { display: inline-block; padding: .35rem 0; }
.rodape-fim { border-top: 1px solid #26324D; padding-top: 1.2rem; margin: 0; font-size: .8rem; color: #8E9AB3; }
.mensagem { padding: .75rem 1rem; background: var(--azul-suave); border: 1px solid #C9D6FF; border-radius: var(--raio-campo); }
.mensagem.error { background: #FDECEA; border-color: #F5C2BC; color: var(--erro); }

/* botões e campos */
.botao, button.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 44px; padding: 0 1.15rem;
  border: 0; border-radius: var(--raio-campo); background: var(--azul); color: #fff; font-weight: 650; text-decoration: none; cursor: pointer;
}
.botao:hover { background: var(--azul-escuro); color: #fff; }
.botao:active { transform: translateY(1px); }
.botao-secundario, button.botao-secundario { background: var(--branco); color: var(--tinta); border: 1px solid var(--borda-campo); font-weight: 600; }
.botao-secundario:hover, button.botao-secundario:hover { background: var(--gelo); color: var(--tinta); }
.botao-claro {
  display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: 0 .85rem; background: var(--branco);
  border: 1px solid var(--linha); border-radius: var(--raio-campo); color: var(--tinta); font-size: .9rem; font-weight: 600; text-decoration: none; cursor: pointer;
}
.botao-claro:hover { border-color: #B9C3D4; color: var(--tinta); }
.contagem { background: var(--azul); color: #fff; border-radius: 999px; font-size: .75rem; padding: .05rem .45rem; }
input[type=search], input[type=number], input[type=date], select, textarea {
  min-height: 44px; padding: .45rem .65rem; background: var(--branco); border: 1px solid var(--borda-campo); border-radius: var(--raio-campo); width: 100%;
}
input[type=checkbox], input[type=radio], input[type=range] { accent-color: var(--azul); }
.rotulo { display: block; font-size: .75rem; color: var(--tinta-3); line-height: 1.1; }

/* barra de busca */
.barra-busca { display: grid; grid-template-columns: 1fr; gap: .5rem; margin-bottom: 1rem; }
.barra-busca .campo {
  display: flex; align-items: center; gap: .6rem; background: var(--branco); border: 1px solid var(--borda-campo); border-radius: var(--raio-campo);
  padding: .3rem .75rem; min-height: 52px; color: var(--tinta-3);
}
.barra-busca .campo:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-suave); }
.barra-busca .campo > span { flex: 1; min-width: 0; }
.barra-busca input, .barra-busca select { border: 0; padding: 0; min-height: 26px; background: transparent; color: var(--tinta); width: 100%; }
.barra-busca input:focus-visible, .barra-busca select:focus-visible { outline: none; }
.barra-busca .botao { min-height: 52px; }
@media (min-width: 48rem) { .barra-busca { grid-template-columns: 1.6fr 1fr auto; } .barra-busca .botao { padding: 0 1.6rem; } }

/* corpo da busca: filtros + resultados */
.abre-filtros { position: absolute; opacity: 0; width: 1px; height: 1px; }
/* abas da busca: Imóveis | Veículos | Outros (o sublinhado é o mesmo do menu do topo) */
.abas-busca { display: flex; gap: .35rem; margin: -.25rem 0 1.1rem; border-bottom: 1px solid var(--linha); overflow-x: auto; scrollbar-width: none; }
.abas-busca a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .95rem; margin-bottom: -1px;
  border-bottom: 3px solid transparent; color: var(--tinta-2); font-weight: 600; text-decoration: none; white-space: nowrap; }
.abas-busca a:hover { color: var(--tinta); border-color: #C9D6FF; }
.abas-busca a[aria-current="page"] { color: var(--tinta); font-weight: 700; border-color: var(--azul); }
.busca-corpo { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.painel { font-size: .92rem; }
.painel-topo { display: flex; align-items: baseline; gap: 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--linha); }
.painel-topo h2 { font-size: 1.05rem; margin: 0; }
.painel-topo a { margin-left: auto; font-size: .85rem; font-weight: 600; }
.painel .fechar { display: none; }
.painel .grupo { border: 0; border-bottom: 1px solid var(--linha); margin: 0; padding: 0 0 .8rem; min-width: 0; }
.painel legend { padding: .75rem 0 0; margin-bottom: .3rem; font-size: .78rem; font-weight: 650; color: var(--tinta-3); }
.painel legend label { font: inherit; color: inherit; }
.painel .opcao { display: flex; align-items: center; gap: .55rem; min-height: 40px; cursor: pointer; }
.painel .opcao input { width: 17px; height: 17px; margin: 0; }
.painel input[type=range] { width: 100%; margin: .2rem 0; }
.painel .escala { display: flex; justify-content: space-between; margin: 0; font-size: .78rem; color: var(--tinta-3); }
.painel .escala output { color: var(--tinta); font-weight: 650; }
.painel .dois { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.painel-acoes { padding-top: .85rem; }
.painel-acoes .botao { width: 100%; }
.aviso-alterado { margin: 0 0 .45rem; font-size: .8rem; font-weight: 600; color: var(--azul-escuro); }
.painel select { width: 100%; }
.veu { display: none; }
.so-celular { display: inline-flex; }
@media (max-width: 59.99rem) {
  .painel { display: none; }
  .abre-filtros:checked ~ .busca-corpo .painel {
    display: flex; flex-direction: column; position: fixed; left: 0; right: 0; bottom: 0; max-height: 88vh; z-index: 1102;
    background: var(--branco); border-radius: 18px 18px 0 0; padding: .9rem 1.1rem 1rem; overflow-y: auto; box-shadow: 0 -8px 30px rgba(14, 26, 51, .18);
  }
  .abre-filtros:checked ~ .busca-corpo .veu { display: block; position: fixed; inset: 0; background: rgba(14, 26, 51, .45); z-index: 1101; }
  .painel .fechar { display: inline-grid; place-items: center; width: 40px; height: 40px; margin: -.5rem -.5rem -.5rem .25rem; color: var(--tinta-2); cursor: pointer; }
  .painel-acoes { position: sticky; bottom: -1rem; background: var(--branco); padding-bottom: .4rem; }
  .abre-filtros:focus-visible ~ .busca-corpo .so-celular { outline: 3px solid var(--azul); outline-offset: 2px; }
}
@media (min-width: 60rem) {
  .busca-corpo { grid-template-columns: 14.5rem 1fr; gap: 1.75rem; }
  /* a altura desconta o topo e a barra de busca: o botão Ver lotes cabe na tela já ao abrir a página */
  .painel { position: sticky; top: 1rem; align-self: start; max-height: calc(100vh - 11rem); overflow-y: auto; padding-right: .25rem; }
  .painel-acoes { position: sticky; bottom: 0; background: var(--gelo); padding-bottom: .5rem; box-shadow: 0 -10px 12px -12px rgba(14, 26, 51, .35); }
  .so-celular, .abre-filtros { display: none; }
}

/* resultados */
.resultados { min-width: 0; }
.resultados-topo { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-bottom: .9rem; }
.contagem-total { margin: 0; font-size: .9rem; font-weight: 400; letter-spacing: 0; color: var(--tinta-2); }
.contagem-total strong { color: var(--tinta); font-size: 1rem; }
.acoes-resultado { display: flex; gap: .5rem; margin-left: auto; }
@media (max-width: 40rem) { .acoes-resultado { width: 100%; } .acoes-resultado .ordenar { flex: 1; } .acoes-resultado .ordenar select { width: 100%; } }
.ordenar select { min-height: 44px; width: auto; font-size: .9rem; font-weight: 600; padding: 0 .6rem; }
.cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; }
.vazio { grid-column: 1 / -1; padding: 2.5rem 1.5rem; text-align: center; background: var(--branco); border: 1px dashed var(--linha); border-radius: var(--raio); color: var(--tinta-2); }
.paginacao { display: flex; gap: 1rem; justify-content: center; align-items: center; padding: 1.75rem 0 .5rem; font-size: .9rem; color: var(--tinta-2); }

/* cartão do lote */
.cartao { position: relative; display: flex; flex-direction: column; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.cartao:hover { border-color: #B9C3D4; }
.cartao:focus-within { border-color: var(--azul); }
.cartao:has(.esticado:focus-visible) { outline: 3px solid var(--azul); outline-offset: 2px; }
.foto { position: relative; aspect-ratio: 4 / 3; background: #E6EAF0; overflow: hidden; }
.foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.foto.mapa img { filter: grayscale(.8) contrast(.95) brightness(1.03); }
.sem-foto { width: 100%; height: 100%; display: grid; place-items: center; background: #E6EAF0; color: var(--tinta-2); font-weight: 600; }
.pino-mapa, .legenda-mapa { display: none; }
.mesmo-predio { width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 32rem; }
.mesmo-predio th, .mesmo-predio td { padding: .55rem .6rem; border-bottom: 1px solid var(--linha-2); text-align: right; }
.mesmo-predio th[scope=row], .mesmo-predio thead th:first-child, .mesmo-predio td:nth-child(2) { text-align: left; }
.mesmo-predio th[scope=row] { font-weight: 500; }
.mesmo-predio thead th { font-size: .8rem; color: var(--tinta-2); }
.retirada-regras { margin: .6rem 0 0; font-size: .92rem; color: var(--tinta-2); }
.mapa-vivo { z-index: 0; }  /* os painéis do Leaflet não passam por cima do topo fixo */
.foto.mapa .pino-mapa { display: block; position: absolute; transform: translate(-50%, -100%); color: var(--azul); }
.pino-mapa svg { width: 28px; height: 28px; display: block; filter: drop-shadow(0 1px 1px rgba(14, 26, 51, .35)); }
.foto.mapa .legenda-mapa { display: block; position: absolute; left: .6rem; bottom: .6rem; background: rgba(255, 255, 255, .94); font-size: .75rem; color: var(--tinta-2); padding: .15rem .45rem; border-radius: 4px; }
.etiqueta { position: absolute; left: .6rem; top: .6rem; background: var(--tinta); color: #fff; font-size: .75rem; font-weight: 650; padding: .2rem .45rem; border-radius: 4px; }
.cartao .corpo { padding: .75rem .85rem .9rem; display: flex; flex-direction: column; flex: 1; }
.registro { display: flex; align-items: center; gap: .35rem; margin: 0; font-size: .8rem; font-weight: 620; color: var(--azul-escuro); min-width: 0; }
.registro > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.registro em { font-style: normal; font-weight: 500; color: var(--tinta-3); }
.ajuda { position: relative; z-index: 2; display: inline-grid; place-items: center; width: 40px; height: 40px; margin: -12px -10px -12px -8px; padding: 0; border: 0; background: none; color: var(--tinta-3); cursor: pointer; border-radius: 50%; }
.ajuda:hover { color: var(--azul); background: var(--azul-suave); }
.explica { display: none; }
.explica:popover-open { display: block; }
.explica { max-width: min(24rem, calc(100vw - 2rem)); padding: .9rem 1rem; border: 0; border-radius: var(--raio); background: var(--tinta); color: #E9EEF8; font-size: .88rem; line-height: 1.45; box-shadow: 0 12px 32px rgba(14, 26, 51, .3); }
.explica::backdrop { background: rgba(14, 26, 51, .2); }
.explica p { margin: 0 0 .5rem; } .explica p:last-child { margin: 0; }
.explica strong { color: #fff; }
.cartao h2 { margin: .45rem 0 .1rem; font-size: 1.02rem; font-weight: 650; }
.esticado { color: var(--tinta); text-decoration: none; }
.esticado::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.esticado:focus-visible { outline: none; }
.local { margin: 0; font-size: .86rem; color: var(--tinta-2); }
.avisos { display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0 0; }
.aviso { display: inline-flex; align-items: center; gap: .3rem; background: var(--aviso-fundo); color: var(--aviso-texto); font-size: .78rem; font-weight: 620; border-radius: 4px; padding: .15rem .45rem; }
.aviso .i { width: .85rem; height: .85rem; }
.fatos { display: flex; gap: .7rem; margin: .45rem 0 0; font-size: .84rem; color: var(--tinta-2); }
.fatos strong { color: var(--tinta); font-weight: 620; }
.preco { display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .5rem; margin: .6rem 0 0; }
.preco strong { font-size: 1.4rem; font-weight: 760; letter-spacing: -.02em; }
.abaixo { font-size: .84rem; font-weight: 700; color: var(--azul-escuro); }
.avaliacao { margin: .05rem 0 0; font-size: .8rem; color: var(--tinta-3); }

/* régua da praça */
.regua { margin-top: auto; padding-top: .8rem; }
.cartao .regua, .cartao .linha-praca { margin-top: auto; border-top: 1px solid var(--linha-2); padding-top: .75rem; }
.cartao .avaliacao, .cartao .preco:not(:has(+ .avaliacao)) { margin-bottom: .8rem; }
.cartao .corpo > :last-child { margin-bottom: 0; }
.trilho { display: flex; align-items: center; margin: 0 5px; }
.trilho .trecho { flex: 1; height: 2px; background: #D5DCE8; }
.trilho .trecho.feito { background: var(--tinta-3); }
.ponto { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--branco); border: 2px solid #AFB9CC; }
.ponto.passou { background: var(--tinta-3); border-color: var(--tinta-3); }
.ponto.agora { background: var(--azul); border-color: var(--azul); box-shadow: 0 0 0 4px var(--azul-suave); }
.rotulos { display: flex; justify-content: space-between; gap: .75rem; margin-top: .45rem; font-size: .76rem; color: var(--tinta-3); }
.rotulos p { margin: 0; }
.rotulos p:last-child { text-align: right; }
.rotulos b { color: var(--tinta); font-weight: 650; }
.rotulos .agora b { color: var(--azul-escuro); }
.linha-praca { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: .84rem; color: var(--tinta-2); }
.linha-praca .ponto { width: 9px; height: 9px; }
.linha-praca b { color: var(--azul-escuro); }

/* página do lote */
.voltar { margin: 0 0 .75rem; font-size: .9rem; }
.voltar a { display: inline-flex; align-items: center; gap: .3rem; text-decoration: none; font-weight: 600; }
.faixa-encerrado { padding: .6rem 1rem; background: var(--tinta); color: #fff; font-weight: 700; border-radius: var(--raio-campo); }
.galeria { display: flex; gap: .5rem; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: var(--raio); }
.galeria img { height: clamp(13rem, 38vw, 22rem); border-radius: var(--raio-campo); scroll-snap-align: start; flex: none; }
.nota { color: var(--tinta-2); font-size: .86rem; }
.nota a:has(.i) { display: inline-flex; align-items: center; gap: .3rem; }
.lote-colunas { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: .5rem; }
@media (min-width: 60rem) { .lote-colunas { grid-template-columns: minmax(0, 1fr) 23rem; gap: 2.5rem; } .lote-lateral { position: sticky; top: 1rem; align-self: start; } }
.etiqueta-texto { margin: 0; font-size: .8rem; font-weight: 650; color: var(--tinta-3); }
.lote-principal h1 { font-size: clamp(1.45rem, 3.2vw, 2rem); margin: .3rem 0 .25rem; }
.lote-principal h2 { font-size: 1.1rem; margin: 1.6rem 0 .5rem; }
.avisos-lote { display: grid; gap: .5rem; margin: 1rem 0; }
.aviso-bloco { display: flex; gap: .6rem; margin: 0; padding: .75rem .9rem; background: var(--aviso-fundo); color: var(--aviso-texto); border-radius: var(--raio-campo); font-size: .9rem; }
.aviso-bloco .i { margin-top: .15rem; }
.aviso-bloco strong { color: #4D2E00; }
.dados { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1.25rem; margin: 1.1rem 0; font-size: .94rem; }
.dados dt { color: var(--tinta-3); }
.dados dd { margin: 0; overflow-wrap: anywhere; }
.descricao { max-width: 68ch; color: var(--tinta-2); }
.bloco-preco, .antes-do-lance { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem 1.1rem 1.1rem; }
.rotulo-preco { margin: 0; font-size: .8rem; color: var(--tinta-3); }
.bloco-preco .preco { margin-top: .15rem; }
.bloco-preco .preco strong { font-size: 1.75rem; }
.bloco-preco .regua { margin: 1rem 0 0; padding-top: .9rem; border-top: 1px solid var(--linha-2); }
.bloco-preco .linha-praca { margin-top: 1rem; }
.botao-grande { width: 100%; min-height: 50px; margin-top: 1.1rem; font-size: 1.02rem; }
.documentos { display: grid; gap: .45rem; margin-top: .5rem; }
.documentos .botao { width: 100%; justify-content: flex-start; min-height: 42px; font-size: .92rem; }
.bloco-preco .nota { margin: .6rem 0 0; text-align: center; }
.seguranca-curta { display: flex; gap: .5rem; margin: 1rem 0 0; padding: .65rem .75rem; background: var(--azul-suave); border-radius: var(--raio-campo); font-size: .85rem; color: var(--tinta); }
.seguranca-curta .i { color: var(--azul-escuro); margin-top: .1rem; }
.seguranca-curta + .botao-grande { margin-top: .75rem; }
.antes-do-lance { margin-top: 1rem; }
.antes-do-lance h2 { display: flex; align-items: center; gap: .45rem; font-size: 1.02rem; margin: 0 0 .6rem; color: var(--azul-escuro); }
.antes-do-lance .i { width: 1.15rem; height: 1.15rem; }
.antes-do-lance p, .antes-do-lance li { font-size: .9rem; }
.antes-do-lance ul { padding-left: 1.1rem; margin: .5rem 0; }
.fonte-lote a { display: inline-flex; align-items: center; gap: .25rem; }
.parecidos ul { list-style: none; padding: 0; display: grid; gap: .4rem; }
.parecidos .valor { white-space: nowrap; }
.parecidos li { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem .85rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); }
.denuncia { margin-top: 2rem; border-top: 1px solid var(--linha); padding-top: 1rem; }
.denuncia summary { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; color: var(--tinta-2); font-weight: 600; }
.denuncia ul { list-style: none; padding: 0; }
.denuncia label { cursor: pointer; }

/* fonte verificada e texto */
.pagina-fonte, .texto { max-width: 44rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.5rem 1.4rem; }
.selo { display: inline-flex; align-items: center; gap: .4rem; margin: 0; color: var(--azul-escuro); font-weight: 650; font-size: .9rem; }
.pagina-fonte h1 { margin: .4rem 0 0; }
.acoes-fonte { display: flex; flex-wrap: wrap; gap: .5rem; }
.texto h1 { font-size: clamp(1.5rem, 3.5vw, 2.1rem); margin-top: 0; }
.texto h2 { font-size: 1.1rem; margin: 1.6rem 0 .4rem; }
.texto p, .texto li { color: var(--tinta-2); max-width: 68ch; }

/* mapa */
.busca-mapa .resultados-topo { margin-bottom: .6rem; }
.nota-mapa { color: var(--tinta-3); }
#mapa { height: 72vh; min-height: 22rem; border: 1px solid var(--linha); border-radius: var(--raio); background: #E8ECF1; }
.aviso-mapa { margin: 0 0 .6rem; padding: .6rem .85rem; background: var(--azul-suave); border-radius: var(--raio-campo); font-size: .9rem; }
.aviso-mapa:empty { display: none; }
.leaflet-container { font-family: var(--fonte); }
.leaflet-marker-icon.alfinete { background: none; border: 0; }
.alfinete span {
  position: absolute; transform: translate(-50%, -100%); white-space: nowrap; background: var(--azul); color: #fff; font-size: .78rem; font-weight: 750;
  padding: .2rem .45rem; border-radius: 6px; box-shadow: 0 2px 6px rgba(14, 26, 51, .28);
}
.alfinete span::after { content: ""; position: absolute; left: 50%; bottom: -4px; transform: translateX(-50%); border: 5px solid transparent; border-top-color: var(--azul); border-bottom: 0; }
.leaflet-marker-icon.alfinete:focus-visible span, .leaflet-marker-icon.grupo-pinos:focus-visible { outline: 3px solid var(--tinta); outline-offset: 2px; }
.leaflet-marker-icon.grupo-pinos { display: grid; place-items: center; background: var(--tinta); color: #fff; border-radius: 50%; font-size: .82rem; font-weight: 700; box-shadow: 0 0 0 4px rgba(14, 26, 51, .18); }
.leaflet-popup-content-wrapper { border-radius: var(--raio); }
.popup-lote strong { display: block; font-size: .92rem; line-height: 1.3; }
.popup-lote p { margin: .3rem 0; font-weight: 700; }
.popup-lote p span { color: var(--azul-escuro); font-size: .82rem; }
.popup-lote a { font-weight: 650; }

/* salvar na Minha lista */
.form-salvar { margin: 0; }
.foto .form-salvar, .foto > .botao-salvar { position: absolute; right: .55rem; top: .55rem; z-index: 2; }
.foto .botao-salvar { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .95); color: var(--tinta); cursor: pointer; box-shadow: 0 1px 4px rgba(14, 26, 51, .2); }
.foto .botao-salvar .i { width: 1.15rem; height: 1.15rem; }
.foto .botao-salvar:hover { color: var(--azul); }
.foto .botao-salvar.salvo { color: var(--azul); }
.bloco-preco .form-salvar, .bloco-preco > .botao-salvar { margin-top: .5rem; display: block; }
.bloco-preco .botao-salvar { width: 100%; min-height: 44px; }
.bloco-preco .botao-salvar.salvo { color: var(--azul-escuro); }

/* contas (entrar, criar conta, senha) */
.pagina-conta { max-width: 28rem; margin: 1.5rem auto; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.5rem 1.4rem; }
.pagina-conta h1 { font-size: 1.5rem; margin: 0 0 .75rem; }
.pagina-conta p { color: var(--tinta-2); }
.pagina-conta form p { margin: 0 0 .85rem; display: grid; gap: .3rem; color: var(--tinta); }
.pagina-conta label { font-size: .88rem; font-weight: 600; }
.pagina-conta input[type=email], .pagina-conta input[type=password], .pagina-conta input[type=text] {
  min-height: 44px; padding: .45rem .65rem; background: var(--branco); border: 1px solid var(--borda-campo); border-radius: var(--raio-campo); width: 100%;
}
.pagina-conta input[type=checkbox] { width: 18px; height: 18px; }
.pagina-conta form p:has(input[type=checkbox]) { display: flex; align-items: center; gap: .5rem; }
.pagina-conta button.botao { width: 100%; margin-top: .4rem; min-height: 48px; }
.pagina-conta .errorlist { list-style: none; padding: .5rem .7rem; margin: 0 0 .6rem; background: #FDECEA; color: var(--erro); border-radius: var(--raio-campo); font-size: .88rem; }
.link-conta { display: inline-block; margin-top: .6rem; font-weight: 600; }
.pagina-conta .helptext, .pagina-conta ul:not(.errorlist) { font-size: .8rem; color: var(--tinta-3); }

/* área da conta */
.conta { display: grid; gap: 1rem; }
.menu-conta { display: flex; gap: .3rem; overflow-x: auto; border-bottom: 1px solid var(--linha); }
.menu-conta a { padding: .7rem .8rem; color: var(--tinta-2); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; font-weight: 600; font-size: .92rem; }
.menu-conta a[aria-current="page"] { color: var(--tinta); border-color: var(--azul); }
.conta-topo h1 { margin: 0; font-size: 1.6rem; }
.conta-topo .nota { margin: .3rem 0 0; }
.quadro { display: grid; grid-template-columns: 1fr; gap: 1rem; align-items: start; }
@media (min-width: 48rem) { .quadro { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 75rem) { .quadro { grid-template-columns: repeat(5, 1fr); } }
.coluna { background: #E7EBF2; border-radius: var(--raio); padding: .7rem; display: grid; gap: .6rem; }
.coluna h2 { display: flex; align-items: center; justify-content: space-between; margin: .1rem .2rem; font-size: .92rem; }
.contagem-coluna { background: var(--branco); color: var(--tinta-2); border-radius: 999px; font-size: .75rem; padding: .05rem .5rem; }
.coluna-vazia { margin: .2rem; font-size: .84rem; color: var(--tinta-3); }
.coluna-vou_dar_lance h2 { color: var(--azul-escuro); }
.item-lista { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); padding: .7rem; display: grid; gap: .45rem; }
.item-lista.fora-do-ar { opacity: .8; }
.item-cabeca { display: grid; grid-template-columns: 56px 1fr; gap: .6rem; align-items: start; }
.item-cabeca > div:only-child { grid-column: 1 / -1; }
.item-cabeca img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; }
.item-titulo { font-weight: 650; font-size: .9rem; line-height: 1.3; color: var(--tinta); text-decoration: none; }
a.item-titulo:hover { color: var(--azul-escuro); text-decoration: underline; }
.item-local, .item-quando { margin: .15rem 0 0; font-size: .8rem; color: var(--tinta-3); }
.item-preco { margin: 0; font-size: .92rem; }
.item-acoes { display: grid; grid-template-columns: 1fr auto; gap: .4rem; align-items: center; }
.item-acoes label { grid-column: 1 / -1; }
.item-acoes .botao-claro { min-height: 40px; justify-content: center; }
.item-acoes select { min-height: 40px; font-size: .86rem; padding: 0 .5rem; }
.remover { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--linha); background: var(--branco); border-radius: var(--raio-campo); color: var(--tinta-3); cursor: pointer; }
.remover:hover { color: var(--erro); border-color: #F5C2BC; }
.item-nota summary { cursor: pointer; font-size: .82rem; font-weight: 600; color: var(--tinta-2); }
.item-nota p { font-size: .82rem; color: var(--tinta-2); margin: .4rem 0 0; }
.item-nota textarea { margin-top: .4rem; font-size: .88rem; }
.item-nota .botao-claro { margin-top: .4rem; min-height: 40px; }
.conta-colunas { display: grid; gap: 1rem; align-items: start; }
@media (min-width: 60rem) { .conta-colunas { grid-template-columns: minmax(0, 1fr) 20rem; } }
.cartao-conta { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.2rem 1.25rem; }
.cartao-conta h1 { font-size: 1.5rem; margin: 0; }
.cartao-conta h2 { font-size: 1.1rem; margin: 0 0 .5rem; }
.formulario { display: grid; gap: .3rem; margin-top: 1rem; }
.formulario p { margin: 0 0 .6rem; display: grid; gap: .3rem; }
.formulario p.nota { display: block; }
.formulario label { font-size: .88rem; font-weight: 600; }
.formulario .opcao { font-weight: 500; display: flex; align-items: center; gap: .55rem; min-height: 40px; }
.formulario fieldset { border: 0; padding: 0; margin: 0 0 .8rem; }
.formulario legend { font-size: .88rem; font-weight: 600; padding: 0; margin-bottom: .2rem; }
.formulario input[type=text], .formulario input[type=email], .formulario input[type=tel], .formulario input[type=password] { min-height: 44px; padding: .45rem .65rem; border: 1px solid var(--borda-campo); border-radius: var(--raio-campo); width: 100%; background: var(--branco); }
.formulario .errorlist { list-style: none; padding: 0; margin: 0; color: var(--erro); font-size: .85rem; }
.dois { display: grid; gap: 0 .9rem; align-items: start; }
@media (min-width: 40rem) { .dois { grid-template-columns: 1fr 1fr; } }
.plano-atual { font-size: 1.2rem; font-weight: 700; margin: 0 0 .5rem; }
.campo-robo { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nota-salva { background: var(--gelo); border-radius: 6px; padding: .45rem .6rem; color: var(--tinta) !important; }
.texto .aviso-bloco { margin: .5rem 0 1rem; }
.sair { margin-top: 1rem; }

/* planos */
.pagina-planos { display: grid; gap: 1.5rem; }
.planos-topo h1 { font-size: clamp(1.7rem, 4vw, 2.4rem); margin: .5rem 0 .4rem; }
.planos-topo p { max-width: 44rem; color: var(--tinta-2); margin: 0; font-size: 1.05rem; }
.planos { display: grid; gap: 1rem; }
@media (min-width: 48rem) { .planos { grid-template-columns: 1fr 1fr; align-items: stretch; } }
.plano { position: relative; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.5rem 1.4rem; display: flex; flex-direction: column; gap: .55rem; }
.plano h2 { margin: 0; font-size: 1.15rem; }
.plano-destaque { border: 2px solid var(--azul); }
.preco-plano { margin: 0; display: flex; align-items: baseline; gap: .3rem; }
.preco-plano strong { font-size: 2.3rem; letter-spacing: -.03em; }
.preco-plano span { color: var(--tinta-2); }
.preco-anual { margin: -.3rem 0 0; color: var(--tinta-2); font-size: .92rem; }
.preco-anual strong { color: var(--azul-escuro); }
.recursos { list-style: none; padding: 0; margin: .3rem 0 .4rem; display: grid; gap: .5rem; font-size: .94rem; }
.recursos li { padding-left: 1.5rem; position: relative; }
.recursos li::before { content: ""; position: absolute; left: .1rem; top: .45rem; width: .7rem; height: .4rem; border-left: 2px solid var(--azul); border-bottom: 2px solid var(--azul); transform: rotate(-45deg); }
.em-breve { display: inline-block; margin-left: .3rem; font-size: .72rem; font-weight: 650; color: var(--tinta-2); background: var(--gelo); border: 1px solid var(--linha); border-radius: 4px; padding: 0 .35rem; }
.garantia { display: flex; gap: .7rem; margin: 0; padding: 1rem 1.1rem; background: var(--azul-suave); border-radius: var(--raio); font-size: .94rem; }
.garantia .i { width: 1.3rem; height: 1.3rem; color: var(--azul-escuro); margin-top: .1rem; }
.lista-espera { display: grid; gap: 1rem 2rem; align-items: start; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.4rem; }
@media (min-width: 52rem) { .lista-espera { grid-template-columns: 1fr 1.1fr; } }
.lista-espera h2 { margin: 0 0 .4rem; font-size: 1.3rem; }
.espera-texto p { color: var(--tinta-2); margin: 0; }
.lista-espera .cartao-conta { margin: 0; border: 0; padding: 0; }
.opcoes-linha { display: flex; gap: 1.25rem; }
.ciclo { border: 0; padding: 0; margin: 1.1rem 0 0; display: inline-flex; background: var(--branco); border: 1px solid var(--linha); border-radius: 999px; padding: 4px; gap: 2px; }
.ciclo input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ciclo label { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: 0 1rem; border-radius: 999px; font-weight: 650; font-size: .92rem; cursor: pointer; color: var(--tinta-2); }
.ciclo input:checked + label { background: var(--tinta); color: #fff; }
.ciclo input:focus-visible + label { outline: 3px solid var(--azul); outline-offset: 2px; }
.economia { font-size: .72rem; font-weight: 700; background: #DDF5E6; color: #0B5B2E; border-radius: 999px; padding: .05rem .45rem; }
.so-anual { display: none; }
.pagina-planos:has(#ciclo-anual:checked) .so-anual { display: flex; }
.pagina-planos:has(#ciclo-anual:checked) p.preco-anual.so-anual { display: block; }
.pagina-planos:has(#ciclo-anual:checked) .so-mensal { display: none; }
.selo-plano { position: absolute; top: -.8rem; right: 1.2rem; margin: 0; background: var(--azul); color: #fff; font-size: .75rem; font-weight: 700; padding: .2rem .6rem; border-radius: 999px; }
.plano-resumo { margin: 0; color: var(--tinta-2); font-size: .94rem; }
.plano-acao { margin-top: auto; padding-top: .6rem; display: grid; gap: .4rem; }
.plano-acao .botao { width: 100%; min-height: 48px; }
.comparar h2, .faq h2 { font-size: 1.3rem; margin: 0 0 .8rem; }
.tabela-rolagem { overflow-x: auto; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); }
.comparativo { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 34rem; }
.comparativo th, .comparativo td { padding: .75rem .9rem; border-bottom: 1px solid var(--linha-2); text-align: center; }
.comparativo thead th { font-size: .82rem; color: var(--tinta-2); background: #F7F8FB; }
.comparativo th[scope=row] { text-align: left; font-weight: 500; color: var(--tinta); }
.comparativo tr:last-child > * { border-bottom: 0; }
.comparativo .col-destaque { background: #F3F6FF; font-weight: 600; }
.comparativo thead .col-destaque { color: var(--azul-escuro); background: var(--azul-suave); }
.comparativo .icone-sim { color: var(--azul); width: 1.15rem; height: 1.15rem; }  /* não .sim: é a página do simulador */
.comparativo .nao { color: #A3ADC0; }
.faq { display: grid; gap: .5rem; max-width: 52rem; }
.faq details { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); padding: 0 1rem; }
.faq summary { cursor: pointer; font-weight: 650; padding: .9rem 0; list-style-position: inside; }
.faq details p { margin: 0 0 1rem; color: var(--tinta-2); }

/* popup de conta na página do lote */
.portao { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 1rem; background: rgba(14, 26, 51, .55); backdrop-filter: blur(3px); overflow-y: auto; }
body:has(.portao) { overflow: hidden; }
.portao-caixa { width: min(26rem, 100%); background: var(--branco); border-radius: 16px; padding: 1.5rem 1.4rem 1.2rem; box-shadow: 0 20px 50px rgba(14, 26, 51, .35); display: grid; gap: .7rem; }
.portao-logo { height: 26px; width: auto; }
.portao h2 { margin: .2rem 0 0; font-size: 1.35rem; }
.portao-lote { margin: 0; display: grid; gap: .1rem; padding: .65rem .8rem; background: var(--gelo); border-radius: var(--raio-campo); font-size: .9rem; }
.portao-lote span { color: var(--tinta-2); font-size: .84rem; }
.portao-ganhos { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; font-size: .9rem; color: var(--tinta-2); }
.portao-ganhos li { padding-left: 1.3rem; position: relative; }
.portao-ganhos li::before { content: ""; position: absolute; left: .1rem; top: .42rem; width: .62rem; height: .35rem; border-left: 2px solid var(--azul); border-bottom: 2px solid var(--azul); transform: rotate(-45deg); }
.portao .botao-grande { margin-top: .2rem; }
.portao-ou { display: flex; align-items: center; gap: .6rem; margin: .1rem 0; font-size: .82rem; color: var(--tinta-3); }
.portao-ou::before, .portao-ou::after { content: ""; flex: 1; height: 1px; background: var(--linha); }
.portao-entrar { display: grid; gap: .55rem; }
.portao-entrar label { display: grid; gap: .25rem; }
.portao-entrar input { min-height: 44px; padding: .45rem .65rem; border: 1px solid var(--borda-campo); border-radius: var(--raio-campo); width: 100%; }
.portao-entrar .nota { justify-self: center; font-size: .85rem; }
.portao-voltar { margin: .2rem 0 0; text-align: center; font-size: .88rem; }
.pagina-lote[inert] { user-select: none; }

/* Minha lista: arrastar */
.itens { display: grid; gap: .6rem; min-height: 4.5rem; align-content: start; border-radius: var(--raio-campo); }
.itens:has(.item-lista) .coluna-vazia { display: none; }
.coluna-vazia { border: 1px dashed #B9C3D4; border-radius: var(--raio-campo); padding: .9rem .6rem; text-align: center; }
.item-lista { cursor: grab; }
.item-lista:active { cursor: grabbing; }
.arrastando { opacity: .45; outline: 2px dashed var(--azul); }
.sortable-chosen { box-shadow: 0 10px 24px rgba(14, 26, 51, .18); }
.dica-arrastar { margin: -.4rem 0 0; font-size: .85rem; color: var(--tinta-3); }
@media (hover: none) { .dica-arrastar.so-ponteiro::after { content: " (segure o lote para arrastar)"; } }

/* fontes conferidas */
.texto-largo { max-width: 56rem; }
.fontes { list-style: none; padding: 0; display: grid; gap: .5rem; }
.fontes li { display: flex; gap: .7rem; padding: .75rem .9rem; border: 1px solid var(--linha); border-radius: var(--raio-campo); background: var(--branco); }
.fontes li .i { color: var(--azul-escuro); margin-top: .2rem; }
.fontes .nota { margin: .15rem 0 0; }

/* página do lote (fase 2C) */
.trilha { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; font-size: .85rem; margin: 0 0 .9rem; }
.trilha a { color: var(--tinta-2); text-decoration: none; }
.trilha a:hover { color: var(--azul-escuro); text-decoration: underline; }
.trilha .i { width: .75rem; height: .75rem; color: var(--tinta-3); }
.lote-cabeca { margin-bottom: 1rem; }
.lote-cabeca h1 { font-size: clamp(1.5rem, 3.4vw, 2.2rem); margin: .25rem 0 .35rem; max-width: 52rem; }
.lote-cabeca .local { display: flex; align-items: center; gap: .35rem; color: var(--tinta-2); font-size: .95rem; }
.lote-cabeca .local .i { color: var(--azul); }
.mosaico { position: relative; display: grid; gap: 6px; grid-template-columns: 1fr; border-radius: var(--raio); overflow: hidden; background: #E6EAF0; }
.mosaico-foto { position: relative; display: block; padding: 0; border: 0; background: #DDE2EA; cursor: zoom-in; overflow: hidden; }
.mosaico-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s ease; }
.mosaico-foto:hover img { transform: scale(1.025); }
.mosaico-foto.principal { aspect-ratio: 4 / 3; }
.mosaico-foto:not(.principal) { display: none; }
@media (min-width: 48rem) {
  .mosaico:not(.mosaico-uma) { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); height: clamp(20rem, 42vw, 30rem); }
  .mosaico:not(.mosaico-uma) .mosaico-foto { display: block; }
  .mosaico:not(.mosaico-uma) .mosaico-foto.principal { grid-row: 1 / 3; aspect-ratio: auto; }
  .mosaico.mosaico-uma { max-height: 30rem; }
}
.mosaico.mosaico-uma .mosaico-foto.principal { aspect-ratio: 16 / 9; }
.mosaico.foto.mapa { aspect-ratio: 16 / 6; }
.mosaico.foto.mapa img { width: 100%; height: 100%; object-fit: cover; }
.mais-fotos { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(14, 26, 51, .55); color: #fff; font-weight: 700; font-size: 1.1rem; }
.ver-todas { position: absolute; right: .8rem; bottom: .8rem; display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: 0 .9rem; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--tinta); font-weight: 650; font-size: .88rem; cursor: pointer; box-shadow: 0 2px 8px rgba(14, 26, 51, .2); }
.galeria-tela { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #0B1220; color: #fff; }
.galeria-tela::backdrop { background: #0B1220; }
.galeria-topo { position: absolute; top: 0; left: 0; right: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: .7rem 1rem; }
.galeria-contador { font-weight: 650; font-size: .95rem; }
.galeria-fechar, .galeria-seta { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; cursor: pointer; }
.galeria-fechar:hover, .galeria-seta:hover { background: rgba(255, 255, 255, .22); }
.galeria-seta { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.galeria-seta.anterior { left: .8rem; } .galeria-seta.proxima { right: .8rem; }
.galeria-faixa { display: flex; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.galeria-faixa::-webkit-scrollbar { display: none; }
.galeria-faixa figure { flex: 0 0 100%; margin: 0; scroll-snap-align: center; display: grid; place-items: center; padding: 3.5rem 1rem; }
.galeria-faixa img { max-width: 100%; max-height: 100%; object-fit: contain; }
@media (max-width: 47.99rem) { .galeria-seta { display: none; } }
.bloco { padding: 1.4rem 0; border-top: 1px solid var(--linha); }
.lote-principal > .bloco:first-child { border-top: 0; padding-top: .2rem; }
.bloco h2 { font-size: 1.2rem; margin: 0 0 .9rem; }
.fichas { display: grid; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); gap: .6rem; margin: 0; }
.fichas > div { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); padding: .7rem .85rem; }
.fichas .ficha-larga { grid-column: span 2; }
.fichas dt { font-size: .78rem; color: var(--tinta-3); }
.fichas dd { margin: .15rem 0 0; font-weight: 650; font-size: 1.02rem; }
.fichas dd span { display: block; font-weight: 500; font-size: .85rem; color: var(--tinta-2); }
.fichas dd.destaque { color: var(--azul-escuro); }
.fichas dd.numero { font-variant-numeric: tabular-nums; font-size: .95rem; }
.pontos { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.pontos li { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); padding: .8rem .95rem; display: grid; gap: .25rem; }
.pontos .nivel { justify-self: start; font-size: .72rem; font-weight: 700; border-radius: 4px; padding: .1rem .45rem; }
.ponto-alta .nivel { background: #FDE8E6; color: #A11B10; }
.ponto-media .nivel { background: var(--aviso-fundo); color: var(--aviso-texto); }
.ponto-info .nivel { background: var(--azul-suave); color: var(--azul-escuro); }
.pontos strong { font-size: 1rem; }
.pontos p { margin: 0; color: var(--tinta-2); font-size: .92rem; }
.pontos blockquote { margin: .3rem 0 0; padding: .5rem .7rem; background: var(--gelo); border-radius: 6px; font-size: .86rem; color: var(--tinta); }
.aviso-leitura { margin: .7rem 0 0; font-size: .8rem; }
.abre-texto { position: absolute; opacity: 0; width: 1px; height: 1px; }
.texto-longo { max-height: 16rem; overflow: hidden; position: relative; color: var(--tinta-2); max-width: 70ch; }
.texto-longo::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4.5rem; background: linear-gradient(transparent, var(--gelo)); }
.abre-texto:checked ~ .texto-longo { max-height: none; }
.abre-texto:checked ~ .texto-longo::after { display: none; }
.abre-texto-rotulo { margin-top: .6rem; }
.abre-texto-rotulo .ler-menos, .abre-texto:checked ~ .abre-texto-rotulo .ler-mais { display: none; }
.abre-texto:checked ~ .abre-texto-rotulo .ler-menos { display: inline; }
.abre-texto:focus-visible ~ .abre-texto-rotulo { outline: 3px solid var(--azul); outline-offset: 2px; }
.texto-longo p, .texto-secao p { margin: 0 0 .8rem; line-height: 1.6; }
.texto-secao { color: var(--tinta-2); max-width: 70ch; }
.documentos-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.documento { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: .7rem; padding: .75rem .9rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); color: var(--tinta); text-decoration: none; min-height: 52px; }
.documento:hover { border-color: var(--azul); color: var(--tinta); }
.documento > .i:first-child { width: 1.3rem; height: 1.3rem; color: var(--azul-escuro); }
.doc-nome { font-weight: 600; }
.doc-tipo { font-size: .75rem; font-weight: 650; color: var(--tinta-2); background: var(--gelo); border-radius: 4px; padding: .1rem .45rem; }
.documento .abrir { color: var(--tinta-3); }
.videos { display: grid; gap: .8rem; }
@media (min-width: 48rem) { .videos { grid-template-columns: repeat(2, 1fr); } }
.video { aspect-ratio: 16 / 9; border-radius: var(--raio-campo); overflow: hidden; background: #0B1220; }
.video iframe, .video video { width: 100%; height: 100%; border: 0; display: block; }
.mapa-lote { position: relative; aspect-ratio: 16 / 7; border-radius: var(--raio-campo); overflow: hidden; }
@media (max-width: 40rem) { .mapa-lote.mapa-vivo { aspect-ratio: 4 / 3; } }  /* no celular, alto o bastante para usar com o dedo */
.mapa-lote img { width: 100%; height: 100%; object-fit: cover; }
.parecidos { margin-top: 2rem; }
.parecidos h2 { font-size: 1.2rem; }
@media (max-width: 59.99rem) { .lote-lateral { order: -1; } .lote-colunas { display: flex; flex-direction: column; } }

/* planos (3) e perfil (fase 2C) */
@media (min-width: 64rem) { .planos.planos-3 { grid-template-columns: repeat(3, 1fr); } }
.so-anual-i { display: none; }
.pagina-planos:has(#ciclo-anual:checked) .so-anual-i { display: inline; }
.pagina-planos:has(#ciclo-anual:checked) .so-mensal-i { display: none; }
.comparativo { min-width: 40rem; }
.comparativo .linha-preco > * { font-weight: 700; background: #F7F8FB; }
.comparativo .linha-preco .col-destaque { background: var(--azul-suave); }
.perfil-cabeca { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.perfil-cabeca h1 { margin: 0; font-size: 1.6rem; }
.perfil-cabeca .nota { margin: .2rem 0 0; }
.avatar { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--tinta); color: #fff; font-weight: 700; font-size: 1.3rem; letter-spacing: .02em; flex: none; }
.selo-plano-perfil { margin-left: auto; font-size: .82rem; font-weight: 700; padding: .3rem .75rem; border-radius: 999px; background: var(--gelo); border: 1px solid var(--linha); color: var(--tinta-2); }
.selo-plano-perfil.plano-investidor { background: var(--azul-suave); border-color: #C9D6FF; color: var(--azul-escuro); }
.selo-plano-perfil.plano-profissional { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.resumo-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr)); gap: .5rem; }
.resumo-etapa { display: grid; gap: .1rem; padding: .7rem .85rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); color: var(--tinta); text-decoration: none; }
.resumo-etapa:hover { border-color: var(--azul); color: var(--tinta); }
.resumo-etapa strong { font-size: 1.4rem; line-height: 1.1; }
.resumo-etapa span { font-size: .82rem; color: var(--tinta-2); }
.perfil-form { display: grid; gap: 1rem; align-content: start; }
.perfil-form .cartao-conta { margin: 0; }
.perfil-form h2, .perfil-lateral h2 { font-size: 1.05rem; margin: 0 0 .6rem; }
.salvar-perfil { justify-self: start; min-width: 12rem; }
.perfil-lateral { display: grid; gap: 1rem; align-content: start; }
.perfil-lateral .botao { width: 100%; margin-top: .3rem; }
.lista-links { list-style: none; padding: 0; margin: 0 0 .5rem; display: grid; }
.lista-links a { display: block; padding: .55rem 0; border-bottom: 1px solid var(--linha-2); font-weight: 600; text-decoration: none; }
.pilulas { display: flex; flex-wrap: wrap; gap: .45rem; }
.pilula input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pilula span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 .95rem; border: 1px solid var(--borda-campo); border-radius: 999px; background: var(--branco); font-size: .9rem; font-weight: 550; cursor: pointer; }
.pilula input:checked + span { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.pilula input:focus-visible + span { outline: 3px solid var(--azul); outline-offset: 2px; }
.chave { position: relative; display: flex; align-items: center; gap: .75rem; min-height: 44px; cursor: pointer; font-weight: 500; }
.chave input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.trilho-chave { flex: none; width: 44px; height: 26px; border-radius: 999px; background: #C5CDDB; position: relative; transition: background .15s; }
.trilho-chave::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(14, 26, 51, .3); transition: transform .15s; }
.chave input:checked + .trilho-chave { background: var(--azul); }
.chave input:checked + .trilho-chave::after { transform: translateX(18px); }
.chave input:focus-visible + .trilho-chave { outline: 3px solid var(--azul); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* Minhas buscas (2B) */
.buscas-salvas { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.busca-salva { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; justify-content: space-between; }
.busca-salva h2 { margin: 0; overflow-wrap: anywhere; }
.busca-salva .nota { margin: .2rem 0 0; }
.acoes-busca { display: flex; gap: .5rem; }
.aviso-alertas { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; margin: 0; }
.form-salvar-busca { display: contents; }
.botao-salvar-busca { white-space: nowrap; }
@media (max-width: 40rem) { .acoes-resultado { flex-wrap: wrap; } .botao-salvar-busca { order: 9; flex: 1 0 100%; justify-content: center; } }

/* Análise do imóvel e simulador (3A; redesenhados em 15/10). A cor da faixa sempre acompanha um texto. */
:root { --verde: #0B7A43; --verde-suave: #E3F4EA; --ambar: #C27C0E; --ambar-suave: #FFF3DA; --vermelho-suave: #FDECEA; --ardosia: #64708A; }
.faixa-otima, .nivel-otima { --cor: var(--verde); --fundo: var(--verde-suave); }
.faixa-boa, .nivel-boa { --cor: var(--azul-escuro); --fundo: var(--azul-suave); }
.faixa-regular, .nivel-regular { --cor: #8A5300; --fundo: var(--ambar-suave); }
.faixa-fraca, .nivel-fraca { --cor: var(--erro); --fundo: var(--vermelho-suave); }
.nivel-regular { --barra: var(--ambar); }

.analise h2 { margin-bottom: 1rem; }
.nota-score { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .5rem 1.4rem; align-items: center; padding: 1.15rem 1.3rem 1.25rem; background: var(--fundo); border-radius: var(--raio); }
.nota-numero { margin: 0; display: flex; align-items: baseline; color: var(--cor); }
.nota-numero strong { font-size: clamp(3rem, 9vw, 4.25rem); font-weight: 800; line-height: .85; letter-spacing: -0.035em; }
.nota-numero span { margin-left: .2rem; font-size: 1rem; font-weight: 700; opacity: .7; }
.nota-veredito { margin: 0; font-size: 1.22rem; font-weight: 750; line-height: 1.25; color: var(--cor); text-wrap: balance; }
.nota-explica { margin: .25rem 0 .85rem; font-size: .88rem; color: var(--tinta-2); max-width: 62ch; }
.escala-score, .escala-rotulos { display: grid; grid-template-columns: 35fr 20fr 20fr 25fr; gap: 3px; }
.escala-score { position: relative; height: 8px; }
.escala-score .faixa { border-radius: 2px; }
.f-fraca { background: #F1B7B0; } .f-regular { background: #F3D493; } .f-boa { background: #B7C8FF; } .f-otima { background: #A6DCBD; }
.marca-score { position: absolute; top: -5px; width: 4px; height: 18px; margin-left: -2px; background: var(--tinta); border-radius: 2px; box-shadow: 0 0 0 2px var(--fundo); }
.escala-rotulos { margin-top: .4rem; font-size: .72rem; font-weight: 600; color: var(--tinta-3); }
.nota-score.travada { --cor: var(--tinta-2); --fundo: var(--linha-2); }
.nota-score.travada .nota-veredito { color: var(--tinta); font-size: 1.08rem; }
.nota-score.travada .botao { margin-top: .1rem; }
@media (max-width: 30rem) { .nota-score { grid-template-columns: 1fr; } }

.partes-score { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 40rem) { .partes-score { grid-template-columns: 1fr 1fr; gap: 1.1rem 1.75rem; } }
.parte-topo { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; margin: 0 0 .4rem; font-size: .92rem; }
.parte-nome { font-weight: 650; }
.parte-pontos { white-space: nowrap; color: var(--tinta-3); font-size: .85rem; }
.parte-pontos b { color: var(--cor); font-size: 1.05rem; }
.barra-parte { display: block; height: 6px; background: var(--linha-2); border-radius: 3px; overflow: hidden; }
.barra-parte > span { display: block; height: 100%; background: var(--barra, var(--cor)); border-radius: 3px; }
.parte-detalhe { margin: .35rem 0 0; font-size: .82rem; color: var(--tinta-2); }
.sem-score { margin: 0; padding: .9rem 1rem; background: var(--linha-2); border-radius: var(--raio); color: var(--tinta-2); font-size: .9rem; }

.formula { margin: 1.1rem 0 0; border-top: 1px solid var(--linha-2); }
.formula summary { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; cursor: pointer; list-style: none; font-weight: 650; font-size: .9rem; color: var(--azul-escuro); }
.formula summary::-webkit-details-marker { display: none; }
.formula summary::after { content: ""; width: .42rem; height: .42rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease-out; }
.formula[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.formula dl { margin: 0 0 .4rem; display: grid; gap: .65rem; }
.formula dt { font-weight: 650; font-size: .88rem; }
.formula dt span { font-weight: 500; color: var(--tinta-3); }
.formula dd { margin: .1rem 0 0; font-size: .85rem; color: var(--tinta-2); max-width: 70ch; }

.analise-sub { margin: 1.6rem 0 .9rem; font-size: 1rem; }
.m-lance { --c: var(--azul); } .m-avaliacao { --c: var(--verde); } .m-fipezap { --c: var(--ardosia); }
.regua-valores { position: relative; height: 22px; margin: 0 9px; }
.trilho-valores { position: absolute; left: 0; right: 0; top: 9px; height: 4px; background: var(--linha); border-radius: 2px; }
.marca-valor { position: absolute; top: 2px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; background: var(--c); border: 3px solid var(--gelo); box-shadow: 0 1px 3px rgba(14, 26, 51, .25); }
.legenda-valores { list-style: none; margin: .85rem 0 0; padding: 0; display: grid; gap: .55rem; }
.legenda-valores li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: .6rem; font-size: .9rem; }
.ponto-valor { width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.legenda-rotulo { color: var(--tinta-2); }
.legenda-valores strong { }
.legenda-dif { grid-column: 2 / -1; font-size: .8rem; font-weight: 650; color: var(--verde); }
.legenda-dif.acima { color: var(--erro); }
.conta-fipezap { margin: 1rem 0 0; font-size: .84rem; color: var(--tinta-2); }
.aviso-referencia { display: flex; gap: .55rem; margin: .7rem 0 0; padding: .7rem .9rem; background: var(--aviso-fundo); color: var(--aviso-texto); border-radius: var(--raio-campo); font-size: .86rem; }
.aviso-referencia .i { flex: none; margin-top: .15rem; }
.botao-simular { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.5rem 0 .5rem; padding: 1rem 1.15rem; background: var(--azul); color: var(--branco); border-radius: var(--raio); text-decoration: none; transition: background-color .15s ease-out; }
.botao-simular:hover { background: var(--azul-escuro); }
.botao-simular strong { display: block; font-size: 1.02rem; }
.botao-simular > span > span { display: block; margin-top: .1rem; font-size: .84rem; color: #DCE4FF; }
.botao-simular .i { flex: none; width: 1.1rem; height: 1.1rem; }

/* Simulador */
.sim { display: grid; gap: 1rem; }
.sim .trilha a { display: inline-flex; align-items: center; gap: .3rem; }
.sim-cabeca { display: flex; gap: 1rem; align-items: center; }
.sim-foto { flex: none; width: 92px; height: 92px; object-fit: cover; border-radius: var(--raio); background: var(--linha-2); }
.sim-titulo { min-width: 0; }
.sim-titulo h1 { margin: 0; font-size: clamp(1.4rem, 3.2vw, 1.9rem); letter-spacing: -0.02em; line-height: 1.15; }
.sim-titulo > p { margin: .25rem 0 .65rem; color: var(--tinta-2); }
.sim-contexto { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.sim-contexto div { display: flex; gap: .35rem; padding: .3rem .7rem; background: var(--branco); border: 1px solid var(--linha); border-radius: 999px; font-size: .82rem; }
.sim-contexto dt { color: var(--tinta-3); }
.sim-contexto dd { margin: 0; font-weight: 650; }
@media (max-width: 30rem) { .sim-foto { width: 64px; height: 64px; } }

.sim-corpo { display: grid; gap: 1.25rem; align-items: start; }
@media (min-width: 62rem) { .sim-corpo { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 1.5rem; } .sim-resultado { position: sticky; top: 1rem; } }
.sim-form { display: grid; gap: 1rem; }
.sim-grupo { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.1rem 1.2rem 1.25rem; }
.sim-grupo h2 { margin: 0 0 1rem; }
.sim-grupo-titulo { display: block; font-size: 1.08rem; font-weight: 750; }
.sim-grupo-texto { display: block; margin-top: .1rem; font-size: .85rem; font-weight: 400; color: var(--tinta-2); }
details.sim-grupo summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; cursor: pointer; list-style: none; min-height: 44px; }
details.sim-grupo summary::-webkit-details-marker { display: none; }
details.sim-grupo summary .i { flex: none; color: var(--tinta-3); transform: rotate(90deg); transition: transform .2s ease-out; }
details.sim-grupo[open] summary { margin-bottom: 1rem; }
details.sim-grupo[open] summary .i { transform: rotate(-90deg); }
.sim-campos { display: grid; gap: 1.05rem 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); }
.sim-campo { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.sim-campo label { font-weight: 650; font-size: .9rem; }
.entrada { display: flex; align-items: center; min-height: 48px; background: var(--branco); border: 1px solid var(--borda-campo); border-radius: var(--raio-campo); transition: border-color .15s ease-out, box-shadow .15s ease-out; }
.entrada:hover { border-color: var(--tinta-3); }
.entrada:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px #C9D6FF; }
.entrada input { flex: 1; min-width: 0; height: 46px; padding: 0 .75rem; border: 0; background: none; font-size: 1.05rem; font-weight: 600; }
.entrada input:focus-visible { outline: none; }
.com-prefixo input { padding-left: .4rem; }
.com-sufixo input { text-align: right; padding-right: .4rem; }
.unidade { padding: 0 .8rem; color: var(--tinta-3); font-weight: 650; font-size: .9rem; }
.com-prefixo .unidade { padding-right: 0; }
.com-sufixo .unidade { padding-left: 0; }
.calculado { font-size: .85rem; font-weight: 650; color: var(--azul-escuro); }
.calculado:empty { display: none; }
.dica-campo { font-size: .8rem; color: var(--tinta-2); }
.com-erro .entrada { border-color: var(--erro); }
.erros-campo:empty { display: none; }
.erros-campo .errorlist { margin: 0; padding: 0; list-style: none; color: var(--erro); font-size: .82rem; font-weight: 600; }
.sim-acoes { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; }

.sim-resultado { display: grid; gap: 1rem; }
.sim-cartao { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.15rem 1.25rem 1.25rem; }
.sim-cartao h2 { margin: 0 0 .65rem; font-size: 1.05rem; }
.sim-cartao h3 { margin: 1.35rem 0 .6rem; font-size: .9rem; font-weight: 650; color: var(--tinta-2); }
.sim-destaque { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .25rem 1rem; margin: 0; padding: .9rem 1rem; border-radius: var(--raio-campo); background: var(--verde-suave); color: var(--verde); }
.sim-destaque span { font-weight: 650; }
.sim-destaque strong { font-size: clamp(1.6rem, 4vw, 2.15rem); font-weight: 800; letter-spacing: -0.02em; }
.prejuizo .sim-destaque { background: var(--vermelho-suave); color: var(--erro); }
.sim-aluguel .sim-destaque { background: var(--azul-suave); color: var(--azul-escuro); }
.sim-indices { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-top: .6rem; }
.sim-indices p { display: flex; flex-direction: column; margin: 0; padding: .6rem .85rem; border: 1px solid var(--linha-2); border-radius: var(--raio-campo); }
.sim-indices span { font-size: .78rem; color: var(--tinta-3); }
.sim-indices b { font-size: 1.15rem; }
.c-entrada { --c: var(--azul); } .c-taxas { --c: #7B96F4; } .c-extras { --c: var(--ambar); } .c-mensal { --c: #A5AFC3; } .c-parcelas { --c: var(--tinta); }
.barra-composicao { display: flex; gap: 2px; height: 12px; border-radius: 6px; overflow: hidden; background: var(--linha-2); }
.barra-composicao span { background: var(--c); }
.legenda-composicao { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .4rem; font-size: .88rem; }
.legenda-composicao li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .55rem; }
.ponto-c { width: 10px; height: 10px; border-radius: 3px; background: var(--c); }
.legenda-composicao b { }
.legenda-composicao .total { grid-template-columns: minmax(0, 1fr) auto; margin-top: .15rem; padding-top: .5rem; border-top: 1px solid var(--linha); font-weight: 700; }
.sim-nota { margin: .75rem 0 0; font-size: .84rem; color: var(--tinta-2); }
.conta-venda { margin: 0; font-size: .9rem; }
.conta-venda div { display: flex; justify-content: space-between; gap: 1rem; padding: .38rem 0; }
.conta-venda dt { color: var(--tinta-2); }
.conta-venda dd { margin: 0; font-weight: 650; white-space: nowrap; }
.conta-venda .menos dd { font-weight: 500; color: var(--tinta-2); }
.conta-venda .igual { margin-top: .2rem; padding-top: .55rem; border-top: 1px solid var(--linha); }
.conta-venda .igual dt, .conta-venda .igual dd { font-weight: 750; color: var(--tinta); }
.sim-travado { position: relative; min-height: 23rem; overflow: hidden; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); }
.sim-esqueleto { display: grid; gap: .85rem; padding: 1.25rem; }
.sim-esqueleto span { display: block; height: 14px; border-radius: 4px; background: var(--linha-2); }
.sim-esqueleto .e1 { height: 68px; background: var(--verde-suave); }
.sim-esqueleto .e2 { width: 70%; }
.sim-esqueleto .e3 { height: 12px; background: linear-gradient(90deg, #C9D6FF 0 45%, #DCE4FF 45% 62%, var(--ambar-suave) 62% 78%, var(--linha-2) 78%); }
.sim-esqueleto .e4 { width: 85%; }
.sim-esqueleto .e5 { width: 55%; }
.sim-chamada { position: absolute; left: 0; right: 0; bottom: 0; padding: 3.5rem 1.25rem 1.25rem; background: linear-gradient(rgba(255, 255, 255, 0), var(--branco) 35%); }
.sim-chamada h2 { margin: 0 0 .35rem; font-size: 1.15rem; }
.sim-chamada p { margin: 0 0 .85rem; font-size: .9rem; color: var(--tinta-2); }
@media (prefers-reduced-motion: reduce) { .formula summary::after, details.sim-grupo summary .i, .entrada { transition: none; } }
.sim-resumo { display: none; }
@media (max-width: 61.99rem) {
  .sim { padding-bottom: 4.5rem; }
  html:has(.sim) { scroll-padding-bottom: 5.5rem; }  /* o campo em edição não fica atrás da barra do resumo */
  .sim-resumo { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; background: var(--tinta); color: var(--branco); border-radius: var(--raio); box-shadow: 0 6px 20px rgba(14, 26, 51, .28); text-decoration: none; font-size: .9rem; }
  .sim-resumo b { font-size: 1.1rem; }
  .sim-resumo .prejuizo-resumo { color: #FFB4AB; }
  .sim-resumo span:last-child { font-weight: 650; color: #B7C8FF; white-space: nowrap; }
}

/* Páginas de leilão por categoria e lugar (4A) */
.pagina-leilao { display: grid; gap: 1.5rem; }
.leilao-cabeca h1 { margin: 0; font-size: clamp(1.6rem, 4vw, 2.3rem); letter-spacing: -0.025em; line-height: 1.12; text-wrap: balance; }
.leilao-abertura { margin: .6rem 0 0; max-width: 72ch; color: var(--tinta-2); font-size: 1.02rem; }
.leilao-abertura strong { color: var(--tinta); }
.leilao-acoes { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 0; }
.leilao-links h2 { margin: 0 0 .7rem; font-size: 1.1rem; }
.leilao-links h2 a { color: inherit; }
.leilao-links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.leilao-links li a { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; padding: .35rem .8rem; background: var(--branco); border: 1px solid var(--linha); border-radius: 999px; color: var(--tinta); text-decoration: none; font-weight: 600; font-size: .9rem; }
.leilao-links li a:hover { border-color: var(--azul); color: var(--azul-escuro); }
.leilao-links li a[aria-current="page"] { border-color: var(--azul); background: var(--azul-suave); }
.leilao-links li span { font-weight: 500; color: var(--tinta-3); font-size: .82rem; }
.leilao-links p { margin: .7rem 0 0; font-size: .9rem; }

/* Simulações salvas (3D) */
.sim-salvar { display: grid; gap: .4rem; padding: 1rem 1.25rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); }
.sim-salvar label { font-weight: 650; font-size: .92rem; }
.sim-salvar-linha { display: flex; gap: .5rem; }
.sim-salvar input { flex: 1; min-width: 0; min-height: 44px; padding: 0 .75rem; border: 1px solid var(--borda-campo); border-radius: var(--raio-campo); background: var(--branco); }
.sim-trava-pequena { display: flex; gap: .5rem; margin: 0; padding: .75rem 1rem; background: var(--aviso-fundo); color: var(--aviso-texto); border-radius: var(--raio-campo); font-size: .88rem; }
.sim-trava-pequena .i { flex: none; margin-top: .15rem; }
.sim-salvas h2 { margin: 0 0 .75rem; font-size: 1.15rem; }
.tabela-rolavel { overflow-x: auto; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); }
.sim-salvas table { width: 100%; min-width: 40rem; border-collapse: collapse; font-size: .9rem; }
.sim-salvas th, .sim-salvas td { padding: .7rem .9rem; border-top: 1px solid var(--linha-2); text-align: left; vertical-align: middle; }
.sim-salvas thead th { border-top: 0; font-size: .78rem; color: var(--tinta-3); font-weight: 650; }
.sim-salvas tbody th { font-weight: 650; }
.sim-salvas tbody th span { display: block; font-weight: 400; font-size: .8rem; color: var(--tinta-3); }
.sim-salvas td { white-space: nowrap; }
.sim-salvas td.positivo { color: var(--verde); font-weight: 700; }
.sim-salvas td.negativo { color: var(--erro); font-weight: 700; }
.acoes-sim { display: flex; gap: .4rem; justify-content: flex-end; }

/* Carteira (3D) */
.carteira { display: grid; gap: 1.25rem; align-items: start; }
@media (min-width: 60rem) { .carteira { grid-template-columns: minmax(0, 1fr) 20rem; } .carteira-lateral { position: sticky; top: 1rem; } }
.agenda { display: grid; gap: 1.25rem; }
.grupo-agenda h2 { margin: 0 0 .6rem; font-size: 1.05rem; display: flex; align-items: center; gap: .5rem; }
.grupo-atrasados h2 { color: var(--erro); }
.grupo-agenda ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.evento { display: grid; grid-template-columns: 4rem minmax(0, 1fr) auto; gap: .9rem; align-items: center; padding: .8rem 1rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); }
.grupo-atrasados .evento { background: var(--vermelho-suave); border-color: #F5C2BC; }
.evento-quando { display: flex; flex-direction: column; align-items: center; padding: .35rem 0; border-radius: var(--raio-campo); background: var(--gelo); }
.evento-quando strong { font-size: 1.05rem; }
.evento-quando span { font-size: .8rem; color: var(--tinta-2); }
.evento-titulo { margin: 0; font-weight: 650; display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem; }
.selo-evento { padding: .1rem .5rem; border-radius: 999px; font-size: .72rem; font-weight: 700; background: var(--azul-suave); color: var(--azul-escuro); }
.evento-prazo .selo-evento { background: var(--ambar-suave); color: #8A5300; }
.evento-falta { font-weight: 500; font-size: .85rem; color: var(--tinta-2); }
.evento-lote { margin: .3rem 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .4rem; font-size: .88rem; color: var(--tinta-2); }
.evento-lote img { width: 32px; height: 32px; object-fit: cover; border-radius: 6px; }
.evento-lote a { color: var(--tinta); font-weight: 600; }
.etapa-mini { padding: .05rem .45rem; border: 1px solid var(--linha); border-radius: 999px; font-size: .74rem; }
.evento-acoes { display: flex; gap: .35rem; }
@media (max-width: 40rem) { .evento { grid-template-columns: 3.5rem minmax(0, 1fr); } .evento-acoes { grid-column: 1 / -1; justify-content: flex-end; } }
.feitos summary { cursor: pointer; font-weight: 650; color: var(--azul-escuro); min-height: 44px; display: flex; align-items: center; }
.feitos ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; font-size: .88rem; color: var(--tinta-2); }
.feitos form { display: inline; }
.link-botao { padding: 0; border: 0; background: none; color: var(--azul-escuro); text-decoration: underline; cursor: pointer; font-size: inherit; }
.carteira-lateral { display: grid; gap: 1rem; }
.form-prazo p { display: grid; gap: .3rem; margin: 0 0 .75rem; }
.form-prazo label { font-weight: 650; font-size: .88rem; }
.form-prazo input, .form-prazo select { min-height: 44px; padding: 0 .7rem; border: 1px solid var(--borda-campo); border-radius: var(--raio-campo); background: var(--branco); width: 100%; }
.link-agenda input { width: 100%; min-height: 40px; padding: 0 .6rem; border: 1px solid var(--linha); border-radius: var(--raio-campo); background: var(--gelo); font-size: .8rem; }

/* Compartilhar (3D) */
.form-compartilhar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin: .5rem 0 0; }
.form-compartilhar .opcao { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.links-compartilhados { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .6rem; }
.links-compartilhados li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem .6rem; align-items: center; padding: .7rem .85rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); }
.links-compartilhados input { min-height: 40px; padding: 0 .6rem; border: 1px solid var(--linha); border-radius: var(--raio-campo); background: var(--gelo); font-size: .8rem; min-width: 0; }
.links-compartilhados .nota { grid-column: 1 / -1; margin: 0; font-size: .8rem; }
.compartilhado { display: grid; gap: 1rem; }
.faixa-compartilhado { display: flex; align-items: center; gap: .5rem; margin: 0; padding: .65rem 1rem; background: var(--azul-suave); color: var(--azul-escuro); border-radius: var(--raio-campo); font-weight: 600; font-size: .9rem; }
.compartilhado-corpo { display: grid; gap: 1.25rem; align-items: start; }
@media (min-width: 60rem) { .compartilhado-corpo { grid-template-columns: minmax(0, 1fr) 22rem; } }
.compartilhado-foto { width: 100%; max-height: 26rem; object-fit: cover; border-radius: var(--raio); }
.nota-compartilhada { margin: 0; padding: .9rem 1rem; background: var(--aviso-fundo); color: var(--aviso-texto); border-radius: var(--raio-campo); }

/* Análise do veículo (3E) */
.fipe-painel { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: .5rem 1.5rem; padding: 1.1rem 1.25rem; background: var(--azul-suave); border-radius: var(--raio); }
.fipe-rotulo { margin: 0; font-size: .85rem; font-weight: 600; color: var(--azul-escuro); }
.fipe-valor { margin: .15rem 0 0; font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 800; letter-spacing: -0.02em; color: var(--tinta); }
.fipe-dif { margin: 0; padding: .35rem .75rem; border-radius: 999px; background: var(--verde-suave); color: var(--verde); font-weight: 700; font-size: .9rem; }
.fipe-dif.acima { background: var(--vermelho-suave); color: var(--erro); }
.fipe-dif.dentro { background: var(--branco); color: var(--tinta-2); }
.fipe-versoes { margin-top: .9rem; }
.fipe-sub { margin: 0 0 .4rem; font-size: .88rem; color: var(--tinta-2); }
.fipe-versoes ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.fipe-versoes li { font-size: .92rem; }
.fipe-versoes li span { display: block; font-size: .82rem; color: var(--tinta-3); }

/* Ficha do veículo e monta (3F) */
.monta-sem_sinistro { --mc: #0B7A43; --mf: #E3F4EA; }
.monta-pequena { --mc: #7A5A00; --mf: #FFF4C7; }
.monta-media { --mc: #A04000; --mf: #FFE7D6; }
.monta-grande { --mc: #B42318; --mf: #FDE4E1; }
.monta-sucata { --mc: #FFFFFF; --mf: #2B3447; }
.monta-nao_informado { --mc: var(--tinta-2); --mf: var(--linha-2); }
.selo-monta { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .65rem; border-radius: 999px; background: var(--mf); color: var(--mc); font-weight: 700; font-size: .82rem; white-space: nowrap; }
.ponto-monta { width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; }
.fatos-veiculo { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; margin: .45rem 0 0; font-size: .86rem; color: var(--tinta-2); }
.fatos-veiculo .selo-monta { font-size: .76rem; padding: .18rem .55rem; }
.ficha-destaques { display: flex; flex-wrap: wrap; align-items: stretch; gap: .5rem; }
.ficha-destaques .selo-monta { font-size: .92rem; padding: .5rem .9rem; }
.destaque-ficha { display: flex; flex-direction: column; justify-content: center; padding: .4rem .85rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio-campo); font-size: .76rem; color: var(--tinta-3); }
.destaque-ficha b { font-size: 1rem; color: var(--tinta); }
.monta-explica { margin: .85rem 0 0; padding: .8rem 1rem; border-radius: var(--raio-campo); background: var(--mf); color: var(--mc); font-size: .9rem; }
.monta-sucata.monta-explica strong, .monta-sucata.monta-explica { color: #FFFFFF; }
.ficha-grupos { display: grid; gap: 1rem; margin-top: 1rem; }
@media (min-width: 48rem) { .ficha-grupos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ficha-grupo { margin: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.ficha-titulo { margin: 0; padding: .55rem .9rem; background: var(--gelo); font-size: .78rem; font-weight: 700; color: var(--tinta-2); border-bottom: 1px solid var(--linha); }
.ficha-grupo dl { margin: 0; }
.ficha-grupo dl > div { display: flex; justify-content: space-between; gap: .75rem; padding: .5rem .9rem; border-top: 1px solid var(--linha-2); font-size: .88rem; }
.ficha-grupo dl > div:first-child { border-top: 0; }
.ficha-grupo dt { color: var(--tinta-2); }
.ficha-grupo dd { margin: 0; font-weight: 650; text-align: right; overflow-wrap: anywhere; }
.sim-nao { display: inline-flex; align-items: center; gap: .3rem; }
.sim-nao::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; }
.sim-nao.e-sim { color: #0B7A43; }
.sim-nao.e-nao { color: #A04000; }
.sem-preco { font-size: 1.05rem; color: var(--tinta-2); }
.grupo-veiculos .sub-filtro { margin: .55rem 0 .2rem; font-size: .76rem; font-weight: 650; color: var(--tinta-3); }
.grupo-veiculos .ponto-monta { width: .55rem; height: .55rem; border-radius: 50%; background: var(--mc); flex: none; }
.grupo-veiculos .ponto-monta.monta-sucata { background: #2B3447; }
.grupo-veiculos input[type=number] { width: 100%; min-height: 40px; padding: 0 .6rem; border: 1px solid var(--borda-campo); border-radius: var(--raio-campo); background: var(--branco); }
