/* Pesquisa em janela (js/stance-busca.js), 29/09/2026: vitrines (consultoria, auditoria, diagnóstico,
   solução, cursos) e blog. */

/* O bloco antigo de pesquisa (campo, seletor e botão) sai de cena: a lupa ao lado de "Todas" o substitui. */
body.post-type-archive .et_pb_row:has(.search-container-cpt),
body.blog .et_pb_row:has(.search-container-cpt) { display: none; }
/* No blog o filtro ficava logo abaixo da busca: sem ela, o respiro extra não é mais necessário. */
body.blog .et_pb_code:has(> .et_pb_code_inner > .scrollable-tabs-container) { margin-top: 0; }

/* Lupa na linha das áreas: botão laranja com lupa branca. */
.scrollable-tabs-container li.stance-busca-li { display: flex; }
.stance-busca-abrir {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 100%;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: #e96c00;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2);
  color: #fff;
  cursor: pointer;
  transition: background .2s ease, transform .15s ease;
}
/* O layout pinta todo svg da linha de filtros como as setas (círculo escuro, inclusive no hover):
   aqui a lupa fica sempre branca, sem fundo nem borda. */
.scrollable-tabs-container li.stance-busca-li .stance-busca-abrir svg,
.scrollable-tabs-container li.stance-busca-li .stance-busca-abrir svg:hover {
  width: 18px; height: 18px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: #fff;
}
@media (hover: hover) { .stance-busca-abrir:hover { background: #c45a00; } }
.stance-busca-abrir:active { transform: scale(.96); }
.stance-busca-abrir:focus { outline: none; }
.stance-busca-abrir:focus-visible { outline: 2px solid #c45a00; outline-offset: 2px; }

/* Janela */
html.stance-busca-aberta { overflow: hidden; }
.stance-busca {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 6vh 16px 16px;
  border: 0;
  background: transparent;
  overflow: hidden;
  font-family: 'Rubik', Arial, sans-serif;
  color: #333;
}
.stance-busca[open] { display: flex; align-items: flex-start; justify-content: center; }
.stance-busca::backdrop {
  background: rgba(10, 30, 45, .45);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  animation: stance-busca-fundo .22s ease both;
}
.stance-busca.is-fechando::backdrop { animation: stance-busca-fundo .18s ease reverse both; }

.stance-busca__caixa {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(920px, 100%);
  max-height: min(88vh, 980px);
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(0, 40, 70, .35), 0 2px 0 rgba(255, 255, 255, .6) inset;
  animation: stance-busca-entra .24s cubic-bezier(.2, .8, .2, 1) both;
}
.stance-busca__caixa::before { /* faixa da marca no topo */
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #009fe3 0%, #009fe3 55%, #fac300 100%);
}
.stance-busca.is-fechando .stance-busca__caixa { animation: stance-busca-sai .18s ease both; }

/* Topo, campo, contagem e dica não encolhem; só a lista rola. */
.stance-busca__topo, .stance-busca__campo, .stance-busca__status, .stance-busca__dica { flex-shrink: 0; }
.stance-busca__topo { display: flex; align-items: center; justify-content: space-between; padding: 20px 20px 4px 24px; }
.stance-busca__titulo { margin: 0; padding: 0 !important; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #0077aa; }
.stance-busca__fechar {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%;
  background: #f2f5f7; color: #555; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease;
}
.stance-busca__fechar:hover { background: #e96c00; color: #fff; transform: rotate(90deg); }

.stance-busca__campo { position: relative; margin: 8px 20px 0; }
.stance-busca__lupa { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: #009fe3; pointer-events: none; }
.stance-busca__input {
  width: 100%;
  height: 60px;
  padding: 0 52px 0 54px;
  border: 2px solid #e6ecf0;
  border-radius: 14px;
  background: #f8fafb;
  color: #222;
  font: 400 19px/1.2 'Rubik', Arial, sans-serif;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.stance-busca__input::placeholder { color: #8a9299; }
.stance-busca__input::-webkit-search-cancel-button { display: none; }
.stance-busca__input:focus { outline: none; border-color: #009fe3; background: #fff; box-shadow: 0 0 0 5px rgba(0, 159, 227, .14); }
.stance-busca__limpar {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%;
  background: #e9eef2; color: #555; cursor: pointer;
}
.stance-busca__limpar:hover { background: #d9e2e8; }
.stance-busca__limpar[hidden] { display: none; }


.stance-busca__status { margin: 0; padding: 16px 24px 6px; min-height: 18px; font-size: 12px; letter-spacing: .04em; color: #6b747b; }

.stance-busca__lista {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  padding: 4px 12px 12px;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
  scrollbar-width: thin;
}
.stance-busca__lista[hidden] { display: none; }
.stance-busca__item { margin: 0; padding: 0; list-style: none; animation: stance-busca-item .28s ease both; animation-delay: calc(var(--n, 0) * 18ms); }
.stance-busca__item a {
  display: grid;
  grid-template-columns: 64px 1fr 20px;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  border-left: 3px solid transparent;
  color: inherit;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}
.stance-busca__item.is-ativo a { background: #f1f8fd; border-left-color: #e96c00; } /* um destaque só: o mouse move o item ativo */
.stance-busca__foto {
  width: 64px; height: 48px; border-radius: 10px;
  background: #eef1f4 center / cover no-repeat;
}
.stance-busca__foto--vazia { background: linear-gradient(135deg, #009fe3, #fac300); }
.stance-busca__texto { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.stance-busca__area { font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #c45a00; }
.stance-busca__nome { font-size: 16px; font-weight: 600; line-height: 1.3; color: #222; }
.stance-busca__desc { font-size: 13px; line-height: 1.45; color: #5f676d; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.stance-busca mark { padding: 0 1px; border-radius: 3px; background: rgba(250, 195, 0, .45); color: inherit; }
.stance-busca__seta { color: #b7c0c6; transition: transform .15s ease, color .15s ease; }
.stance-busca__item.is-ativo .stance-busca__seta { color: #e96c00; transform: translateX(3px); }

.stance-busca__vazio { padding: 36px 24px 40px; text-align: center; }
.stance-busca__vazio[hidden] { display: none; }
.stance-busca__vazio-titulo { margin: 0; padding: 0; font-size: 18px; font-weight: 600; color: #222; }

.stance-busca__dica {
  margin: 0; padding: 10px 24px 14px;
  border-top: 1px solid #eef2f4;
  font-size: 12px; color: #6b747b;
}
.stance-busca__dica kbd {
  display: inline-block; min-width: 22px; margin: 0 3px 0 0; padding: 2px 6px;
  border: 1px solid #d6dde2; border-bottom-width: 2px; border-radius: 6px;
  background: #fff; font: 500 11px/1.4 'Rubik', Arial, sans-serif; text-align: center; color: #444;
}
.stance-busca__dica kbd + kbd { margin-left: 0; }

@keyframes stance-busca-fundo { from { opacity: 0; } to { opacity: 1; } }
@keyframes stance-busca-entra { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes stance-busca-sai { to { opacity: 0; transform: translateY(10px) scale(.98); } }
@keyframes stance-busca-item { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Celular: a janela sobe da parte de baixo e ocupa quase a tela toda. */
@media (max-width: 767px) {
  .stance-busca { padding: 0; }
  .stance-busca[open] { align-items: flex-end; }
  .stance-busca__caixa { width: 100%; height: 92vh; max-height: 92vh; border-radius: 20px 20px 0 0; animation-name: stance-busca-sobe; }
  .stance-busca.is-fechando .stance-busca__caixa { animation: stance-busca-desce .18s ease both; }
  .stance-busca__input { height: 54px; font-size: 17px; }
  .stance-busca__item a { grid-template-columns: 56px 1fr 16px; gap: 12px; }
  .stance-busca__foto { width: 56px; height: 44px; }
  .stance-busca__nome { font-size: 15px; }
  .stance-busca__dica { display: none; }
}
@keyframes stance-busca-sobe { from { transform: translateY(100%); } to { transform: none; } }
@keyframes stance-busca-desce { to { transform: translateY(100%); } }

/* Toque: sem a dica de teclado. */
@media (hover: none) { .stance-busca__dica { display: none; } }

@media (prefers-reduced-motion: reduce) {
  .stance-busca::backdrop, .stance-busca__caixa, .stance-busca__item,
  .stance-busca.is-fechando .stance-busca__caixa { animation: none; }
}

/* Página de resultados: botão com a lupa e o termo no lugar do formulário. */
.stance-busca-termo { display: flex; justify-content: center; padding: 4px 0 8px; }
.stance-busca-abrir--termo {
  width: auto;
  height: auto;
  min-height: 48px;
  gap: 12px;
  padding: 10px 22px 10px 18px;
  border-radius: 999px;
  font: 400 16px/1.3 'Rubik', Arial, sans-serif;
  text-align: left;
}
.stance-busca-abrir--termo svg { flex: 0 0 auto; width: 20px; height: 20px; color: #fff; }
.stance-busca-abrir--termo strong { font-weight: 600; }
.stance-busca-termo__acao { margin-left: 6px; padding-left: 12px; border-left: 1px solid rgba(255, 255, 255, .45); font-size: 13px; opacity: .9; }
.stance-busca-termo__acao:empty { display: none; }
@media (max-width: 767px) {
  .stance-busca-abrir--termo { font-size: 15px; padding: 10px 18px 10px 16px; }
  .stance-busca-termo__acao { display: none; }
}

/* Link "Ver todos os resultados" no fim da lista (página de resultados). */
.stance-busca__ver-todos { margin: 6px 0 0; padding: 0; list-style: none; }
.stance-busca__ver-todos a {
  display: block;
  padding: 12px;
  border-radius: 12px;
  background: #fff4ea;
  color: #c45a00;
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
}
.stance-busca__ver-todos a:hover { background: #ffe8d4; }

/* Home: filtros por área e por tipo dentro da janela (29/09/2026). */
.stance-busca__filtros { flex-shrink: 0; display: flex; flex-direction: column; gap: 8px; padding: 14px 20px 0; }
.stance-busca__chips { display: flex; flex-wrap: wrap; gap: 6px 8px; }
.stance-busca__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px 5px 12px;
  border: 1px solid #d9e1e7;
  border-radius: 999px;
  background: #fff;
  color: #444;
  font: 500 13px/1.3 'Rubik', Arial, sans-serif;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.stance-busca__chip--tipo, .stance-busca__chips--tipo .stance-busca__chip { padding-left: 10px; }
.stance-busca__chip-ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--cor, #999); }
.stance-busca__chip-n { min-width: 18px; padding: 0 5px; border-radius: 999px; background: #eef2f5; color: #555; font-size: 11px; text-align: center; }
.stance-busca__chip-n:empty { display: none; }
.stance-busca__chips:not(.stance-busca__chips--tipo) .stance-busca__chip { --cor: #009fe3; }
.stance-busca__chip--consultoria { --cor: #e96c00; }
.stance-busca__chip--auditoria { --cor: #4d9ad1; }
.stance-busca__chip--diagnostico { --cor: #7b5bb7; }
.stance-busca__chip--solucao { --cor: #ce1620; }
.stance-busca__chip--cursos { --cor: #009e5e; }
@media (hover: hover) { .stance-busca__chip:not(:disabled):hover { border-color: var(--cor); } }
.stance-busca__chip.is-ativo { border-color: var(--cor); background: var(--cor); color: #fff; }
.stance-busca__chip.is-ativo .stance-busca__chip-ponto { background: #fff; }
.stance-busca__chip.is-ativo .stance-busca__chip-n { background: rgba(255, 255, 255, .25); color: #fff; }
.stance-busca__chip:disabled { opacity: .45; cursor: default; }
.stance-busca__chip:focus-visible { outline: 2px solid #009fe3; outline-offset: 2px; }
@media (max-width: 767px) {
  .stance-busca__filtros { padding: 12px 16px 0; }
  .stance-busca__chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .stance-busca__chips::-webkit-scrollbar { display: none; }
  .stance-busca__chip { flex-shrink: 0; }
}

/* Home: lupa na linha de filtros do bloco de serviços, na altura dos botões. */
ul.filtros-nav > li.stance-busca-li { display: flex; }
ul.filtros-nav > li.stance-busca-li .stance-busca-abrir { min-height: 38px; border-radius: 8px; }
ul.filtros-nav > li.stance-busca-li .stance-busca-abrir svg { width: 18px; height: 18px; }

/* O UIkit zera o fundo dos filhos da .uk-subnav: a lupa da home volta ao laranja. */
ul.filtros-nav.uk-subnav > li.stance-busca-li > button.stance-busca-abrir { width: 40px; background: #e96c00; color: #fff; padding: 0; }
@media (hover: hover) { ul.filtros-nav.uk-subnav > li.stance-busca-li > button.stance-busca-abrir:hover { background: #c45a00; } }

/* Blog (29/09/2026): as categorias específicas saem da página e ficam só na janela da lupa. */
body.blog .scrollable-tabs-container.stance-subtabs { display: none; }

/* Janela com filtros (home e blog): mais larga, para os botões caberem em poucas linhas. */
.stance-busca--filtros .stance-busca__caixa { width: min(1180px, 100%); }
.stance-busca__chips--sub .stance-busca__chip { padding: 4px 9px 4px 11px; font-size: 12px; }
.stance-busca__chips--sub:empty { display: none; }

/* Resultado da pesquisa, filtros por tipo (29/09/2026): Todos, Consultoria, Cursos, Páginas, Blog... */
.stance-busca-tipos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
  margin: 14px 0 6px;
}
.stance-busca-tipo {
  --cor: #0077aa;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px 6px 14px;
  border: 1px solid #d9e1e7;
  border-radius: 999px;
  background: #fff;
  color: #444;
  font: 500 14px/1.3 'Rubik', 'Rubik Fallback', Arial, sans-serif;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.stance-busca-tipo--todos { --cor: #009fe3; }
.stance-busca-tipo--consultoria { --cor: #e96c00; }
.stance-busca-tipo--auditoria { --cor: #4d9ad1; }
.stance-busca-tipo--diagnostico,
.stance-busca-tipo--cursos { --cor: #009e5e; }
.stance-busca-tipo--solucao { --cor: #ce1620; }
.stance-busca-tipo--page { --cor: #4a5560; }
.stance-busca-tipo__n { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #eef2f5; color: #555; font-size: 12px; text-align: center; }
@media (hover: hover) { .stance-busca-tipo:hover { border-color: var(--cor); color: var(--cor); } }
.stance-busca-tipo.is-ativo { border-color: var(--cor); background: var(--cor); color: #fff; }
.stance-busca-tipo.is-ativo .stance-busca-tipo__n { background: rgba(255, 255, 255, .25); color: #fff; }
.stance-busca-tipo:focus-visible { outline: 2px solid var(--cor); outline-offset: 2px; }
@media (max-width: 767px) {
  .stance-busca-tipos {
    flex-wrap: nowrap;
    justify-content: flex-start;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100vw;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: auto;
    padding: 2px 16px 6px;
    scrollbar-width: none;
  }
  .stance-busca-tipos::-webkit-scrollbar { display: none; }
  .stance-busca-tipo { flex: 0 0 auto; }
}

/* INP no celular (29/09/2026): o desfoque do fundo ao abrir a busca recalculava a página inteira a cada quadro;
   no celular o fundo fica só escurecido. */
@media (max-width: 767px) {
  .stance-busca::backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(8, 18, 28, .6); }
}
