/* ==========================================================
   LIMA ENGENHARIA — PAINEL DE RESULTADOS DA BUSCA (#resultadosBusca)

   Antes: tudo montado com style inline em busca-func.js, sem
   estrutura de cabeçalho/lista separada e sem quebra de texto —
   nomes/proprietários longos e o recibo do CAR (uma sequência longa
   sem espaços) podiam ultrapassar a largura do cartão, causando
   sobreposição visual com o cartão seguinte ("cartões cortados").

   [data-lima-imovel-card="1"] (ui-imoveis-v5.css) já estiliza
   padding/borda/raio/fundo dos cartões com !important — não
   redeclarado aqui, só complementado com o que faltava (quebra de
   texto, layout interno das linhas).
   ========================================================== */

.lima-busca-resultados{
  position:absolute;
  top:75px;
  left:10px;
  z-index:1000;

  width:340px;
  max-width:calc(100% - 20px);
  max-height:calc(100vh - 100px);
  /*
   * LIMA_BUSCA_ALTURA_UTIL_V1 (pedido "ajustes mobile" -- item 2,
   * "abrir o painel com a altura útil disponível") -- 100vh no
   * Safari/iOS mais antigo é a altura da tela INTEIRA, sem descontar
   * a barra de endereço/teclado, então podia sobrar menos espaço
   * real do que o CSS calculava enquanto algo (teclado, barra) ainda
   * estava recolhendo. 100dvh (viewport dinâmico, sempre reflete o
   * espaço REALMENTE visível no momento) é suportado desde iOS 15 --
   * navegador que não reconhece a propriedade simplesmente ignora
   * esta linha e mantém a de cima (100vh), sem quebrar nada.
   */
  max-height:calc(100dvh - 100px);

  display:flex;
  flex-direction:column;

  background:#fff;
  border-radius:10px;
  box-shadow:0 4px 18px #0006;

  font-family:Arial,Helvetica,sans-serif;

  overflow:hidden;
}

/* ----------------------------------------------------------
   CABEÇALHO — nunca rola junto com a lista, sempre visível
   ---------------------------------------------------------- */

.lima-busca-resultados-cab{
  flex:0 0 auto;

  padding:9px 11px;

  border-bottom:1px solid #ddd;
}

.lima-busca-resultados-contagem{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;

  font-size:12.5px;
  color:#222;
}

.lima-busca-resultados-contagem b{
  font-size:13px;
}

.lima-busca-resultados-pag-info{
  color:#666;
}

.lima-busca-resultados-fechar{
  margin-left:auto;

  padding:2px 6px;

  color:#666;

  cursor:pointer;
  user-select:none;
}

.lima-busca-resultados-fechar:hover{
  color:#222;
}

.lima-busca-resultados-controles{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;

  margin-top:7px;

  font-size:12px;
  color:#444;
}

.lima-busca-resultados-porpagina select{
  margin-left:4px;

  padding:2px 4px;

  border:1px solid #ccc;
  border-radius:5px;

  font-size:12px;
}

.lima-busca-resultados-paginacao{
  display:flex;
  gap:6px;
}

.lima-busca-resultados-paginacao button{
  padding:5px 9px;

  border:1px solid #ccc;
  border-radius:6px;

  background:#fff;
  color:#222;

  font-size:12px;

  cursor:pointer;
}

.lima-busca-resultados-paginacao button:hover:not(:disabled){
  background:#f2f2f2;
}

.lima-busca-resultados-paginacao button:disabled{
  opacity:.45;
  cursor:default;
}

/* ----------------------------------------------------------
   LISTA — única região que rola; o último resultado sempre fica
   alcançável (padding inferior + rolagem própria, independente da
   altura da tela)
   ---------------------------------------------------------- */

.lima-busca-resultados-lista{
  flex:1 1 auto;
  min-height:0;

  overflow-y:auto;
  -webkit-overflow-scrolling:touch;

  padding:7px 8px 10px;
}

/* ----------------------------------------------------------
   CARTÃO — LIMA_BUSCA_CARTAO_V2 (pedido "rodada geral de
   correções e acabamento" -- item 2, "cartões individuais, com
   cabeçalho destacado e corpo separado", modelo aprovado pelo
   proprietário). Substitui a alternância de fundo por linha
   (V1) por um cartão de verdade: borda fina + sombra discreta +
   espaçamento entre cartões + cabeçalho (verde bem claro) /
   corpo (branco) distintos.

   [data-lima-imovel-card="1"] (ui-imoveis-v5.css, aplicada
   automaticamente pelo scanner genérico de organizarCards() a
   QUALQUER <div> cujo texto contenha um código de CAR -- não só
   na busca) marca o MENOR <div> descendente que contém o texto
   do código, não o cartão inteiro -- na prática, aqui, é
   .lima-busca-card-car (linha do status+recibo), não
   .lima-busca-card. Os !important abaixo continuam necessários
   só onde essa regra genérica competiria (padding/borda/raio/
   fundo), e ficam escopados à lista de resultados da busca,
   nunca mudando o visual de cartões de CAR fora daqui.
   ---------------------------------------------------------- */

.lima-busca-card{
  box-sizing:border-box;
  width:100%;

  margin-bottom:10px;

  cursor:pointer;

  border:1px solid #dde6e0;
  border-radius:10px;

  background:#ffffff;
  box-shadow:0 1px 3px rgba(20,40,30,.08);

  overflow:hidden;

  transition:box-shadow .12s ease,border-color .12s ease;
}

.lima-busca-resultados-lista .lima-busca-card{
  margin-bottom:10px !important;
}

.lima-busca-resultados-lista .lima-busca-card:last-child{
  margin-bottom:0 !important;
}

.lima-busca-card:hover{
  border-color:#bcdcc7;
  box-shadow:0 2px 7px rgba(20,40,30,.14);
}

/* CABEÇALHO — fundo verde bem claro, nome em destaque,
   proprietário logo abaixo (mesma privacidade/mascaramento já
   aplicado pela API -- não alterado aqui). */
.lima-busca-card-cab{
  padding:9px 11px 8px;

  background:#eef8f1;
  border-bottom:1px solid #e0ede4;
}

.lima-busca-card-nome{
  overflow-wrap:break-word;

  font-size:13.5px;
  font-weight:700;
  line-height:1.3;
  color:#12532e;
}

.lima-busca-card-proprietario{
  overflow-wrap:break-word;

  margin-top:2px;

  font-size:12px;
  line-height:1.3;
  color:#3d4a42;
}

.lima-busca-card-documento{
  overflow-wrap:break-word;

  margin-top:1px;

  font-size:10.5px;
  color:#7a877f;
}

/* CORPO — município/área, situação, código do CAR. */
.lima-busca-card-corpo{
  padding:8px 11px 10px;
}

.lima-busca-card-local{
  overflow-wrap:break-word;

  margin-bottom:6px;

  font-size:11.5px;
  line-height:1.3;
  color:#555;
}

.lima-busca-card-car{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}

.lima-busca-resultados-lista .lima-busca-card-car{
  padding:0 !important;
  margin:0 0 5px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

.lima-busca-card-recibo{
  flex:1 1 auto;
  min-width:0;

  overflow-wrap:break-word;
  word-break:break-word;

  font-size:10.5px;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  color:#4a544e;

  /* LIMA_BUSCA_RECIBO_COPIAVEL_V1 -- garante que selecionar/copiar
     o recibo funcione mesmo o cartão inteiro sendo clicável (o
     navegador já suprime o click de navegação quando o gesto foi
     uma seleção de texto arrastada, mas deixa explícito aqui). */
  user-select:text;
  -webkit-user-select:text;
}

/* ----------------------------------------------------------
   ETIQUETA COMPACTA DE STATUS DO CAR — LIMA_STATUS_PILL_V1
   (pedido "rodada geral de correções e acabamento" -- item 2,
   "padronize Ativo/Pendente/Suspenso/Cancelado com etiquetas
   compactas: largura pelo texto, pouco padding, borda próxima
   ao texto, cantos levemente arredondados, nada de cápsula
   grande parecendo botão"). Reaproveita as MESMAS classes de cor
   por status já usadas em consulta-inteligente.js (cls()): ci-ok
   (Ativo), ci-warn (Pendente), ci-warn-laranja (Suspenso),
   ci-bad (Cancelado), ci-info (não reconhecido). Componente NOVO
   e de nome próprio (não redefine .ci-badge, já usado com raio
   999px/cápsula em vários outros lugares do portal que não fazem
   parte deste pedido) -- usado tanto no cartão da busca quanto no
   "Imóvel selecionado" (mini(), consulta-inteligente.js), como
   pedido.
   ---------------------------------------------------------- */

.lima-pill-status{
  display:inline-block;

  padding:1.5px 6px;

  border:1px solid transparent;
  border-radius:5px;

  font-size:10px;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
}

.lima-pill-status.ci-ok{background:#e9f6ed;color:#176b3b;border-color:#bfe3cb}
.lima-pill-status.ci-warn{background:#fff2ce;color:#815b00;border-color:#e9cf7d}
.lima-pill-status.ci-warn-laranja{background:#ffefdc;color:#a3590a;border-color:#f0c896}
.lima-pill-status.ci-bad{background:#ffe9e9;color:#992d2d;border-color:#e7aaaa}
.lima-pill-status.ci-info{background:#edf1ee;color:#4c5b52;border-color:#d8e2da}

/*
 * LIMA_BUSCA_OCULTA_CHIP_AREA_ATIVA_V1 (pedido "rodada geral de
 * correções e acabamento" -- item 3C, "ocultar a etiqueta flutuante
 * 'Área ativa' enquanto os resultados estiverem abertos") -- o chip
 * (#lima-area-ativa-chip, area-ativa.js) é um <button> solto direto
 * em document.body, sem hook de abertura/fechamento da lista de
 * busca para amarrar via JS -- :has() reage à simples PRESENÇA do
 * painel de resultados no DOM (removido de verdade ao fechar, nunca
 * só escondido), sem precisar duplicar esse controle. Suportado
 * desde iOS Safari 15.4 -- navegador mais antigo simplesmente
 * ignora a regra e mantém o chip visível (nunca quebra).
 */
body:has(#resultadosBusca) #lima-area-ativa-chip{
  display:none !important;
}

@media(max-width:480px){

  .lima-busca-resultados{
    top:66px;
    left:8px;
    max-height:calc(100vh - 84px);
    max-height:calc(100dvh - 84px);
  }

  .lima-busca-resultados-paginacao button{
    padding:6px 10px;
  }

}
