/* HAC-477: página de busca (/buscar/ PT, /en/search/ EN).
   Copiado pelo paginas.mjs para /buscar.css (?v=sha1 de cache-busting).
   CSP: arquivo externo (style-src 'self'), sem style inline. Reaproveita as
   classes do style.css (.lista-pagina, .grade-links, .item-link); aqui vai só o
   que é específico da busca. Press Sheet: campo sobre fio, filtros em mono como
   as abas da agenda (ativo = tinta chapada), resultados em colunas com fios. */
.busca-caixa {
  margin: 30px 0 0;
  border-top: 4px solid var(--fio-forte);
  position: relative;
  padding-top: 14px;
}
.busca-caixa::before { /* fio duplo: grosso + fino, como os títulos de seção */
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 2px;
  border-top: 1px solid var(--papel);
}
.busca-caixa input {
  width: 100%;
  max-width: 44rem;
  box-sizing: border-box;
  padding: 8px 2px 10px;
  font: italic 500 clamp(1.4rem, 2.6vw, 2rem)/1.2 var(--serif);
  color: var(--tinta);
  background: none;
  border: 0;
  border-bottom: 1px solid var(--tinta-3);
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}
.busca-caixa input::placeholder { color: var(--tinta-3); opacity: 1; }
.busca-caixa input:focus { outline: none; border-bottom: 2px solid var(--acento); padding-bottom: 9px; }
.busca-caixa input:focus-visible { outline: 2px solid var(--acento); outline-offset: 3px; }
.busca-caixa input::-webkit-search-cancel-button { filter: grayscale(1); }

.busca-filtros {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
  margin: 18px 0 0;
  padding: 10px 0;
  border-top: 1px solid var(--fio);
  border-bottom: 1px solid var(--fio);
}
.busca-filtros:empty { display: none; }
.busca-filtro {
  font: 600 .75rem/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 9px 11px;
  border-radius: 0;
  cursor: pointer;
  color: var(--tinta-2);
  background: none;
  border: 1px solid transparent;
}
.busca-filtro:hover { color: var(--tinta); border-color: var(--fio); }
.busca-filtro-ativo,
.busca-filtro-ativo:hover {
  background: var(--tinta);
  border-color: var(--tinta);
  color: var(--papel);
}
.busca-conta {
  margin: 18px 0 4px;
  font: 500 .74rem/1.4 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tinta-3);
}
.busca-conta:empty { display: none; }

/* resultados: sem miniatura, então o .item-link vira bloco (título serif + linha de serviço em mono) */
.pagina-busca .grade-links { margin-top: 6px; }
.pagina-busca .item-link { display: block; padding: 13px 0; }
.pagina-busca .item-link b { overflow-wrap: anywhere; }
.pagina-busca span.item-link b { color: var(--tinta-2); }

.busca-vazio {
  margin: 18px 0 0;
  padding: 18px 0 18px 20px;
  border-left: 3px solid var(--acento);
  font: italic 500 1.15rem/1.45 var(--serif);
  color: var(--tinta-2);
}
.busca-vazio:empty {
  display: none;
}
