/* Busca em tela — novo desenho. Animação: campo se estica (480 ms), contorno acende como néon, painel desce com linha de varredura, resultados entram em cascata. */
.alem-busca-camada[hidden], .alem-busca-veu[hidden] { display: none !important; }
html.alem-busca-aberta { overflow: hidden; }
.alem-busca-veu { position: fixed; inset: 0; z-index: 100009; background: color-mix(in srgb, var(--alem-papel, #f6f3ee) 58%, transparent); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); opacity: 0; transition: opacity .42s var(--alem-curva, cubic-bezier(.2,0,0,1)) .06s; }
.alem-busca-veu[data-aberta] { opacity: 1; }
.alem-busca-camada { position: fixed; left: 0; right: 0; top: 0; z-index: 100010; color: var(--alem-tinta, #111213); font-family: var(--alem-f-interface, "Source Sans 3", sans-serif); }
.alem-busca-barra { display: flex; align-items: center; gap: 20px; height: 88px; padding: 0 32px; background: var(--alem-papel, #f6f3ee); border-bottom: 1px solid var(--alem-linha, #d8d0c3); }
.alem-busca-logo { display: block; flex: none; }
.alem-busca-logo-img { display: block; width: 130px; height: 40px; background: url("../images/alem-logo-dark-v7.png") left center / contain no-repeat; }
.alem-busca { display: flex; align-items: center; gap: 12px; flex: 0 1 auto; width: 56px; max-width: 100%; height: 56px; margin: 0 auto; padding: 0 10px 0 18px; overflow: hidden; background: var(--alem-campo, #fffdfa); border: 1.5px solid var(--alem-tinta, #111213); border-radius: 999px; transition: width .42s var(--alem-curva, cubic-bezier(.2,0,0,1)) .04s; }
.alem-busca-camada[data-aberta] .alem-busca { width: 760px; animation: alem-neon .7s linear .3s both; }
.alem-busca svg { flex: none; }
.alem-busca input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; box-shadow: none; padding: 0; font: 560 22px/1.2 var(--alem-f-titulo, "Fraunces", serif); color: var(--alem-tinta, #111213); }
.alem-busca input::-webkit-search-cancel-button { display: none; }
.alem-busca-limpar { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.alem-busca-limpar:hover { background: var(--alem-areia, #e9e4db); }
.alem-busca-tecla { flex: none; display: inline-block; padding: 3px 7px; border: 1px solid var(--alem-linha-forte, #c9c0b4); border-radius: 5px; background: var(--alem-papel, #f6f3ee); font: 500 10px/1 var(--alem-f-mono, "IBM Plex Mono", monospace); letter-spacing: .08em; text-transform: uppercase; color: var(--alem-texto2, #5b5751); }
.alem-busca-fechar { flex: none; height: 44px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--alem-botao-fundo, #0c0d0e); color: var(--alem-papel, #f6f3ee); font: 700 12px/1 var(--alem-f-interface, "Source Sans 3", sans-serif); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; box-shadow: 0 0 0 1px var(--alem-botao-fundo, #0c0d0e); transition: box-shadow .24s var(--alem-curva, cubic-bezier(.2,0,0,1)); }
.alem-busca-fechar:is(:hover, :focus-visible) { box-shadow: var(--alem-brilho-hover, 0 0 0 1px #36aeb0, 0 0 22px rgba(54,174,176,.45)); }

.alem-busca-painel { position: absolute; left: 50%; top: 104px; width: 760px; max-width: calc(100vw - 24px); margin-left: -380px; max-height: calc(100vh - 128px); overflow: auto; background: var(--alem-campo, #fffdfa); border: var(--alem-contorno, 1.5px solid #111213); border-radius: var(--alem-raio-jornal, 28px 6px 6px 6px); box-shadow: 0 24px 60px color-mix(in srgb, var(--alem-nanquim, #0c0d0e) 18%, transparent); visibility: hidden; }
.alem-busca-camada[data-aberta] .alem-busca-painel { visibility: visible; animation: alem-painel .5s var(--alem-curva-entrada, cubic-bezier(.05,.7,.1,1)) .32s both; }
.alem-busca-varredura { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--alem-ciano-claro, #92e1dd); box-shadow: 0 0 12px var(--alem-ciano, #36aeb0); opacity: 0; pointer-events: none; }
.alem-busca-camada[data-aberta] .alem-busca-varredura { animation: alem-varre .5s var(--alem-curva-entrada, cubic-bezier(.05,.7,.1,1)) .32s both; }
.alem-busca-cab { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px 6px; }
.alem-busca-cab-2 { margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--alem-linha, #d8d0c3); }
.alem-busca-rotulo, .alem-busca-contagem, .alem-busca-atalhos { font: 500 10.5px/1.2 var(--alem-f-mono, "IBM Plex Mono", monospace); letter-spacing: .16em; text-transform: uppercase; }
.alem-busca-contagem { color: var(--alem-texto2, #5b5751); }
.alem-busca-lista { padding: 0 8px; }
.alem-busca-vazio { margin: 6px 16px 14px; color: var(--alem-texto2, #5b5751); font: 400 16px/1.5 var(--alem-f-leitura, "Source Serif 4", serif); }
.alem-busca-item { position: relative; display: flex; align-items: center; gap: 14px; padding: 10px 16px; border-radius: 4px 14px 14px 4px; color: inherit; text-decoration: none; }
.alem-busca-camada[data-aberta] .alem-busca-item { animation: alem-item .36s var(--alem-curva-entrada, cubic-bezier(.05,.7,.1,1)) var(--d, .5s) both; }
.alem-busca-item::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 2px; background: var(--alem-ciano, #36aeb0); box-shadow: 0 0 10px color-mix(in srgb, var(--alem-ciano, #36aeb0) 70%, transparent); opacity: 0; transition: opacity .2s ease; }
.alem-busca-item.is-ativo, .alem-busca-item:hover { background: var(--alem-papel-capa, #ece7de); }
.alem-busca-item.is-ativo::before, .alem-busca-item:hover::before { opacity: 1; }
.alem-busca-foto { flex: none; width: 72px; height: 56px; overflow: hidden; border-radius: 3px; background: var(--alem-papel-capa, #ece7de); display: grid; place-items: center; }
.alem-busca-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.alem-busca-sem-foto { font: 500 9px/1 var(--alem-f-mono, "IBM Plex Mono", monospace); letter-spacing: .1em; text-transform: uppercase; color: var(--alem-texto2, #5b5751); }
.alem-busca-texto { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.alem-busca-cat { font: 700 11px/1 var(--alem-f-interface, "Source Sans 3", sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--alem-verde, #067378); }
.alem-busca-data { font: 500 10px/1 var(--alem-f-mono, "IBM Plex Mono", monospace); color: var(--alem-texto2, #5b5751); }
.alem-busca-titulo { font: 620 20px/1.2 var(--alem-f-titulo, "Fraunces", serif); letter-spacing: -.018em; }
.alem-busca-titulo mark { background: color-mix(in srgb, var(--alem-ciano, #36aeb0) 28%, transparent); color: inherit; padding: 0 1px; }
.alem-busca-pilulas { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 24px 20px; }
.alem-busca-pilula { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border: 1.5px solid var(--alem-tinta, #111213); border-radius: 999px; color: inherit; text-decoration: none; font: 700 11px/1 var(--alem-f-interface, "Source Sans 3", sans-serif); letter-spacing: .12em; text-transform: uppercase; transition: box-shadow .24s var(--alem-curva, cubic-bezier(.2,0,0,1)); }
.alem-busca-pilula:is(:hover, :focus-visible) { box-shadow: 0 0 0 1px var(--alem-ciano, #36aeb0), 0 0 14px color-mix(in srgb, var(--alem-ciano, #36aeb0) 35%, transparent); }
.alem-busca-pe { position: sticky; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px 14px 24px; background: var(--alem-papel-capa, #ece7de); border-top: 1.5px solid var(--alem-tinta, #111213); }
.alem-busca-atalhos { display: flex; align-items: center; gap: 10px; color: var(--alem-texto-suave, #3b3935); font-size: 10px; }
.alem-busca-todos { display: inline-flex; align-items: center; height: 44px; padding: 0 22px; border-radius: 999px; background: var(--alem-botao-fundo, #0c0d0e); color: var(--alem-papel, #f6f3ee); text-decoration: none; font: 700 11.5px/1 var(--alem-f-interface, "Source Sans 3", sans-serif); letter-spacing: .12em; text-transform: uppercase; box-shadow: 0 0 0 1px var(--alem-botao-fundo, #0c0d0e); transition: box-shadow .24s var(--alem-curva, cubic-bezier(.2,0,0,1)); }
.alem-busca-todos:is(:hover, :focus-visible) { color: var(--alem-papel, #f6f3ee); box-shadow: var(--alem-brilho-hover, 0 0 0 1px #36aeb0, 0 0 22px rgba(54,174,176,.45)); }

@media (max-width: 780px) {
  .alem-busca-barra { height: 68px; padding: 0 14px; gap: 10px; }
  .alem-busca-logo { display: none; }
  .alem-busca { flex: 1; width: auto; height: 48px; margin: 0; padding: 0 6px 0 14px; }
  .alem-busca-camada[data-aberta] .alem-busca { width: auto; }
  .alem-busca input { font-size: 18px; }
  .alem-busca-tecla, .alem-busca-atalhos { display: none; }
  .alem-busca-fechar { height: 40px; padding: 0 16px; }
  .alem-busca-painel { left: 12px; right: 12px; top: 80px; width: auto; max-width: none; margin-left: 0; max-height: calc(100vh - 96px); }
  .alem-busca-pe { justify-content: stretch; padding: 12px; }
  .alem-busca-todos { width: 100%; justify-content: center; }
  .alem-busca-foto { width: 60px; height: 48px; }
  .alem-busca-titulo { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .alem-busca, .alem-busca-camada[data-aberta] .alem-busca, .alem-busca-camada[data-aberta] .alem-busca-painel, .alem-busca-camada[data-aberta] .alem-busca-item, .alem-busca-camada[data-aberta] .alem-busca-varredura { animation: none !important; transition: none !important; }
  .alem-busca-camada[data-aberta] .alem-busca { width: 760px; }
  .alem-busca-varredura { display: none; }
}

/* Saída suave: o painel recolhe de baixo para cima, o campo encolhe e a barra se dissolve aos poucos, revelando o cabeçalho de verdade por baixo. */
.alem-busca-camada.is-fechando .alem-busca-painel { visibility: visible; animation: alem-painel-sai .26s var(--alem-curva-saida, cubic-bezier(.3,0,.8,.15)) both; }
.alem-busca-camada.is-fechando .alem-busca-barra { animation: alem-barra-sai .36s var(--alem-curva, cubic-bezier(.2,0,0,1)) .14s both; }
.alem-busca-camada.is-fechando .alem-busca-logo, .alem-busca-camada.is-fechando .alem-busca-fechar { animation: alem-barra-itens-sai .22s ease both; }
@keyframes alem-painel-sai { from { clip-path: inset(0 0 0 0); opacity: 1; transform: none; } to { clip-path: inset(0 0 100% 0); opacity: 0; transform: translateY(-8px); } }
@keyframes alem-barra-sai { from { opacity: 1; } to { opacity: 0; } }
@keyframes alem-barra-itens-sai { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .alem-busca-camada.is-fechando .alem-busca-painel, .alem-busca-camada.is-fechando .alem-busca-barra { animation: none !important; } }

/* Celular: a busca ocupa a tela toda (folha de papel), com "Todos os resultados" fixo embaixo — CapaA-busca-celular. */
@media (max-width: 780px) {
  html body .alem-busca-veu { display: none !important; }
  html body .alem-busca-camada { bottom: 0; height: 100vh; height: 100dvh; display: flex; flex-direction: column; background: var(--alem-papel, #f6f3ee); }
  html body .alem-busca-barra { flex: none; height: 72px; padding: 0 16px; gap: 12px; border-bottom: 1px solid var(--alem-tinta, #111213); }
  html body .alem-busca { height: 52px; }
  html body .alem-busca-camada[data-aberta] .alem-busca { box-shadow: 0 0 0 1px var(--alem-ciano, #36aeb0), 0 0 14px color-mix(in srgb, var(--alem-ciano, #36aeb0) 30%, transparent); }
  html body .alem-busca-fechar { height: 40px; padding: 0 2px; background: transparent !important; color: var(--alem-tinta, #111213); box-shadow: none !important; font-size: 11.5px; letter-spacing: .12em; }
  html body .alem-busca-painel { position: relative; top: auto; left: auto; right: auto; width: auto; max-width: none; margin: 0; flex: 1; min-height: 0; max-height: none; padding-bottom: 104px; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow-y: auto; }
  html body .alem-busca-cab { padding: 18px 16px 8px; }
  html body .alem-busca-lista { padding: 0 16px; }
  html body .alem-busca-item { align-items: flex-start; padding: 14px 0; border-radius: 0; border-bottom: 1px solid var(--alem-linha, #d8d0c3); }
  html body .alem-busca-item::before { display: none; }
  html body .alem-busca-item.is-ativo, html body .alem-busca-item:hover { background: transparent; }
  html body .alem-busca-foto { width: 64px; height: 64px; border-radius: 3px; }
  html body .alem-busca-titulo { font-size: 19px; }
  html body .alem-busca-cab-2 { margin-top: 18px; border-top: 0; padding-top: 8px; }
  html body .alem-busca-pilulas { padding: 6px 16px 20px; }
  html body .alem-busca-pilula { height: 44px; padding: 0 18px; }
  html body .alem-busca-pe { position: fixed; left: 0; right: 0; bottom: 0; padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(180deg, transparent, var(--alem-papel, #f6f3ee) 38%); border-top: 0; }
  html body .alem-busca-todos { width: 100%; height: 52px; justify-content: center; box-shadow: 0 0 0 1px var(--alem-ciano, #36aeb0), 0 0 20px color-mix(in srgb, var(--alem-ciano, #36aeb0) 40%, transparent); }
  html body .alem-busca-varredura { display: none; }
}

/* O campo já tem o próprio anel de foco (a caixa inteira acende); o contorno do navegador dentro dela só espreme o texto. */
html body .alem-busca input:is(:focus, :focus-visible) { outline: 0 !important; outline-offset: 0 !important; box-shadow: none !important; border: 0 !important; }
