/* busca.css — view de busca (Variante A: clara/sans).
 * Cartões de resultado brancos com borda marfim e hover de sombra.
 * Cores via tokens (tokens.css). */

.busca {
  max-width: var(--largura-maxima);
  margin: 0 auto;
}

/* ---------- Cabeçalho ---------- */
.busca__cabecalho {
  margin-bottom: var(--esp-5);
  padding-bottom: var(--esp-4);
  border-bottom: 1px solid var(--cor-fio);
}

.busca__titulo {
  color: var(--cor-titulo);
}

.busca__subtitulo {
  margin-top: var(--esp-2);
  color: var(--cor-suave);
  font-size: var(--escala-pequena);
}

/* ---------- Formulário (landmark de busca) ---------- */
.busca__form {
  display: block;
  margin-bottom: var(--esp-3);
}

.busca__campo {
  display: flex;
  flex-direction: column;
  gap: var(--esp-1);
}

.busca__label {
  font-family: var(--fonte-mono);
  font-weight: 600;
  font-size: var(--escala-pequena);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acento);
}

.busca__input {
  width: 100%;
  padding: var(--esp-3) var(--esp-4);
  font-family: var(--fonte-corpo);
  font-size: var(--escala-base);
  color: var(--texto);
  background: var(--superficie);
  border: 1px solid var(--cor-fio);
  border-radius: var(--raio-pilula);
}
.busca__input::placeholder {
  color: var(--cor-suave);
}
.busca__input:focus {
  outline: none;
  border-color: var(--acento);
}

/* ---------- Contagem (aria-live) ---------- */
.busca__contagem {
  margin-bottom: var(--esp-4);
  color: var(--cor-suave);
  font-size: var(--escala-pequena);
}

.busca__dica {
  color: var(--cor-suave);
  font-size: var(--escala-pequena);
}

/* ---------- Resultados ---------- */
.busca__lista {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.busca__resultado-link {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 20px 22px;
  background: var(--superficie);
  border: 1px solid var(--cor-fio-suave);
  border-radius: 14px;
  text-decoration: none;
  color: var(--texto);
  transition: border-color var(--transicao), box-shadow var(--transicao), transform var(--transicao);
}
.busca__resultado-link:hover {
  transform: translateY(-1px);
  border-color: var(--cor-fio);
  box-shadow: var(--sombra-card-hover);
}

.busca__resultado-tema {
  font-family: var(--fonte-mono);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--acento);
}

.busca__resultado-assunto {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--cor-titulo);
}

.busca__resultado-meta {
  font-family: var(--fonte-mono);
  font-size: 13px;
  color: var(--cor-sub);
}

/* ---------- Impressão ---------- */
@media print {
  .busca__form,
  .busca__contagem {
    display: none !important;
  }
}
