/* HomeFix · pesquisa inteligente (lupa no meio da barra superior) — Manual de Marca:
   barra grafite, destaque vermelho #D8101A, cinza #A8A8A8, textos Metropolis, números na fonte de dados. */
.hf-busca-gatilho {
  grid-area: search; justify-self: center; position: relative;
  display: inline-flex; align-items: center; gap: 10px;
  width: min(440px, 100%); min-height: 40px; margin: 0 12px; padding: 0 12px 0 14px;
  border: 1px solid rgba(255, 255, 255, .26); border-radius: 12px;
  background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .82);
  font: 500 13px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); text-align: left; cursor: text;
  transition: background-color .15s ease, border-color .15s ease;
}
.hf-busca-gatilho:hover { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .45); }
.hf-busca-gatilho:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.hf-busca-gatilho svg { width: 18px; height: 18px; flex: none; color: #FFFFFF; }
.hf-busca-gatilho .txt { flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.hf-busca-gatilho kbd { flex: none; padding: 2px 6px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 6px; color: rgba(255, 255, 255, .7); font: 600 10.5px var(--hf-fonte-dados, Inter, Arial, sans-serif); }
.hf-busca-novo { position: absolute; top: -9px; right: 10px; padding: 2px 7px; border-radius: 999px; background: #D8101A; color: #FFFFFF; font: 800 9.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); letter-spacing: .06em; text-transform: uppercase; animation: hf-busca-pisca 1.6s ease-in-out 4; }
@keyframes hf-busca-pisca { 50% { transform: scale(1.12); } }

body.hf-busca-aberta { overflow: hidden; }
.hf-busca-fundo { position: fixed; inset: 0; z-index: 10040; display: flex; justify-content: center; align-items: flex-start; padding: 9vh 16px 16px; background: rgba(30, 30, 29, .55); }
.hf-busca-fundo[hidden] { display: none; }
.hf-busca { display: flex; flex-direction: column; width: min(720px, 100%); max-height: 80vh; overflow: hidden; border-radius: 18px; border-top: 4px solid #D8101A; background: #FFFFFF; box-shadow: 0 24px 60px rgba(0, 0, 0, .3); color: #3C3C3B; }
.hf-busca-topo { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid #EFEFEF; }
.hf-busca-topo svg { width: 22px; height: 22px; flex: none; color: #D8101A; }
.hf-busca-topo input { flex: 1; min-width: 0; min-height: 40px; border: 0; outline: 0; background: transparent; color: #3C3C3B; font: 500 17px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); }
.hf-busca-topo input::placeholder { color: #A8A8A8; }
.hf-busca-topo input::-webkit-search-cancel-button { cursor: pointer; }
.hf-busca-fechar { flex: none; min-height: 32px; padding: 0 10px; border: 1px solid #D7D7D7; border-radius: 8px; background: #FFFFFF; color: #6B6B6A; font: 700 11px var(--hf-fonte-dados, Inter, Arial, sans-serif); cursor: pointer; }
.hf-busca-fechar:hover { border-color: #D8101A; color: #D8101A; }
.hf-busca-filtros { display: flex; gap: 6px; padding: 10px 16px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid #F2F2F2; }
.hf-busca-filtros::-webkit-scrollbar { display: none; }
.hf-busca-filtros button { flex: none; min-height: 32px; padding: 0 12px; border: 1px solid #D7D7D7; border-radius: 999px; background: #FFFFFF; color: #3C3C3B; font: 600 12px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); cursor: pointer; }
.hf-busca-filtros button[aria-pressed="true"] { border-color: #3C3C3B; background: #3C3C3B; color: #FFFFFF; }
.hf-busca-sugestao { margin: 0; padding: 9px 16px; background: #FFF6F6; color: #3C3C3B; font-size: 12.5px; }
.hf-busca-sugestao[hidden] { display: none; }
.hf-busca-sugestao button { padding: 0; border: 0; background: none; color: #D8101A; font: 800 12.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); text-decoration: underline; cursor: pointer; }
.hf-busca-lista { flex: 1; min-height: 120px; overflow-y: auto; padding: 4px 8px 10px; overscroll-behavior: contain; }
.hf-busca-grupo { margin: 10px 8px 4px; color: #A8A8A8; font: 800 10px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); letter-spacing: .12em; text-transform: uppercase; }
.hf-busca-grupo small { color: #B9B9B8; font-weight: 600; letter-spacing: 0; text-transform: none; }
.hf-busca-op { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 12px; cursor: pointer; }
.hf-busca-op[aria-selected="true"] { background: #F4F4F4; box-shadow: inset 3px 0 0 #D8101A; }
.hf-busca-op .ic { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: #F2F2F2; color: #3C3C3B; }
.hf-busca-op .ic svg { width: 17px; height: 17px; }
.hf-busca-op[aria-selected="true"] .ic { background: #D8101A; color: #FFFFFF; }
.hf-busca-op .tx { display: grid; flex: 1; min-width: 0; }
.hf-busca-op strong { overflow: hidden; font: 700 13.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); text-overflow: ellipsis; white-space: nowrap; }
.hf-busca-op strong em { margin-left: 4px; padding: 1px 6px; border-radius: 999px; background: #D8101A; color: #FFFFFF; font: 800 9px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); font-style: normal; letter-spacing: .06em; text-transform: uppercase; vertical-align: 1px; }
.hf-busca-op small { overflow: hidden; color: #6B6B6A; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.hf-busca-op mark { padding: 0 1px; border-radius: 3px; background: #FDE1E2; color: #A20C14; }
.hf-busca-op .vl { flex: none; color: #3C3C3B; font: 600 11.5px var(--hf-fonte-dados, Inter, Arial, sans-serif); font-variant-numeric: tabular-nums; text-align: right; }
.hf-busca-sec { display: flex; flex: none; gap: 4px; }
.hf-busca-sec button { min-height: 30px; padding: 0 9px; border: 1px solid #D7D7D7; border-radius: 8px; background: #FFFFFF; color: #3C3C3B; font: 700 11px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); cursor: pointer; }
.hf-busca-sec button:hover { border-color: #D8101A; color: #D8101A; }
.hf-busca-recentes { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 8px; }
.hf-busca-recentes button { min-height: 30px; padding: 0 10px; border: 1px solid #E4E4E4; border-radius: 999px; background: #FAFAFA; color: #3C3C3B; font: 500 12px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); cursor: pointer; }
.hf-busca-dica, .hf-busca-vazio { margin: 12px 10px 4px; color: #6B6B6A; font-size: 12.5px; line-height: 1.5; }
.hf-busca-rodape { display: flex; flex-wrap: wrap; gap: 14px; padding: 9px 16px; border-top: 1px solid #EFEFEF; color: #8A8A89; font-size: 11px; }
.hf-busca-rodape kbd { margin-right: 3px; padding: 1px 5px; border: 1px solid #D7D7D7; border-radius: 5px; font: 600 10px var(--hf-fonte-dados, Inter, Arial, sans-serif); }
.hf-busca-rodape .ver { margin-left: auto; color: #A8A8A8; }

/* realce do lugar aberto pela pesquisa */
.hf-busca-pulso { animation: hf-busca-pulso 2.2s ease-out 1; border-radius: 18px; }
@keyframes hf-busca-pulso { 0%, 35% { box-shadow: 0 0 0 4px rgba(216, 16, 26, .55); } 100% { box-shadow: 0 0 0 0 rgba(216, 16, 26, 0); } }

@media (max-width: 1180px) { .hf-busca-gatilho kbd { display: none; } .hf-busca-gatilho { width: min(320px, 100%); } }
@media (max-width: 860px) {
  .hf-busca-gatilho { width: 44px; min-height: 44px; margin: 0 4px 0 0; padding: 0; justify-content: center; border-radius: 12px; }
  .hf-busca-gatilho .txt, .hf-busca-gatilho kbd { display: none; }
  .hf-busca-novo { top: -6px; right: -8px; font-size: 8px; }
  .hf-busca-fundo { padding: 0; align-items: stretch; }
  .hf-busca { width: 100%; max-height: none; height: 100%; border-radius: 0; }
  .hf-busca-topo input { font-size: 16px; }
  .hf-busca-op { padding: 11px 8px; }
  .hf-busca-op .vl { display: none; }
  .hf-busca-sec button { min-height: 38px; }
  .hf-busca-filtros button { min-height: 38px; }
  .hf-busca-rodape { display: none; }
}
@media print { .hf-busca-gatilho, .hf-busca-fundo { display: none !important; } }
.hf-busca-topo input:focus-visible { outline: none !important; }
