/* ══════════ Seletor de interesses (SeletorInteresses.razor) ══════════
   Regra que segura a tela: a lista tem ALTURA MÁXIMA e rola por dentro. O bloco ocupa o mesmo
   espaço com 12 ou com 200 tags, então crescer o catálogo nunca mais empurra o formulário. */

.sel-int { display: flex; flex-direction: column; gap: 12px; }

/* ── Resumo do que está marcado (fica ACIMA da área rolável) ── */
.sel-int-resumo {
  background: var(--color-lavender-light);
  border-radius: var(--radius-card);
  padding: 12px 14px;
}
.sel-int-resumo-top {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px;
}
.sel-int-contador {
  font-family: var(--font-body); font-size: 11px; font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase; color: #9b59d6;
}
.sel-int-limpar {
  background: none; border: none; cursor: pointer; padding: 2px 4px;
  font-family: var(--font-body); font-size: 12px; color: var(--color-text-muted);
  border-radius: 6px; transition: color .15s;
}
.sel-int-limpar:hover { color: var(--color-danger); }

.sel-int-escolhidos { display: flex; flex-wrap: wrap; gap: 7px; }
.sel-int-escolhido {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  background: var(--color-lavender); color: var(--color-text); border: none;
  border-radius: var(--radius-full); padding: 6px 10px 6px 12px;
  font-family: var(--font-body); font-size: 12px; font-weight: 600; white-space: nowrap;
  transition: filter .15s;
}
.sel-int-escolhido:hover { filter: brightness(.95); }
.sel-int-x { font-size: 10px; opacity: .55; }

/* ── Filtro ── */
.sel-int-busca { position: relative; display: flex; align-items: center; }
.sel-int-busca svg { position: absolute; left: 14px; pointer-events: none; }
.sel-int-busca input {
  width: 100%; background: var(--color-cream);
  border: 1.5px solid rgba(132, 153, 183, 0.25); border-radius: var(--radius-full);
  padding: 11px 38px 11px 40px;
  font-family: var(--font-body); font-size: 14px; color: var(--color-text);
  transition: border-color .15s, background .15s;
}
.sel-int-busca input:focus {
  outline: none; background: #fff; border-color: var(--color-orange);
  box-shadow: 0 0 0 3px rgba(255, 110, 31, 0.12);
}
.sel-int-busca-x {
  position: absolute; right: 12px; background: none; border: none; cursor: pointer;
  font-size: 12px; color: var(--color-text-muted); padding: 4px;
}

/* ── Lista agrupada (a parte que rola) ── */
.sel-int-lista {
  max-height: 320px; overflow-y: auto;
  display: flex; flex-direction: column; gap: 16px;
  padding: 4px 4px 4px 0;                 /* respiro pro foco/sombra não encostar na barra */
  scrollbar-width: thin;
}
.sel-int-lista::-webkit-scrollbar { width: 7px; }
.sel-int-lista::-webkit-scrollbar-thumb { background: rgba(132, 153, 183, 0.3); border-radius: 50px; }

.sel-int-grupo-nome {
  font-family: var(--font-body); font-size: 11px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; color: var(--color-text-muted);
  margin-bottom: 9px;
}
.sel-int-chips { display: flex; flex-wrap: wrap; gap: 8px; }

.sel-int-chip {
  display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
  background: var(--color-cream); color: var(--color-text-secondary);
  border: 1.5px solid transparent; border-radius: var(--radius-full);
  padding: 8px 14px;
  font-family: var(--font-body); font-size: 13px; font-weight: 500; white-space: nowrap;
  transition: background .15s, color .15s, border-color .15s;
}
.sel-int-chip svg { color: var(--color-text-muted); flex-shrink: 0; }
.sel-int-chip:hover:not(:disabled) { border-color: var(--color-lavender); }
.sel-int-chip.on {
  background: var(--color-lavender); color: var(--color-text); font-weight: 700;
  border-color: var(--color-lavender);
}
.sel-int-chip.on svg { color: var(--color-text); }
.sel-int-chip:disabled { opacity: .45; cursor: not-allowed; }

.sel-int-vazio {
  font-family: var(--font-body); font-size: 13px; color: var(--color-text-muted);
  padding: 18px 4px; text-align: center;
}
.sel-int-aviso { font-size: 12px; color: var(--color-text-muted); }

/* ══════════ Categorias da busca — chip "Mais" + popover (Encontros.razor) ══════════
   A fileira mostra só os destaques; o resto vive no popover, senão seriam ~40 chips
   empilhados no desktop (e uma rolagem infinita no dedo, no mobile). */

.busca-cats-wrap { position: relative; }

.busca-cat-mais { background: var(--color-lavender-light) !important; color: #9b59d6 !important; }
.busca-cat-mais .busca-cat-seta { transition: transform .15s; }
.busca-cat-mais.aberto .busca-cat-seta { transform: rotate(180deg); }

.busca-catpop-backdrop { position: fixed; inset: 0; z-index: 40; }
.busca-catpop {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 41;
  width: min(520px, 100%);
  background: #fff; border-radius: var(--radius-modal);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.14);
  padding: 16px; max-height: 60vh; overflow-y: auto;
}
.busca-catpop-grupo + .busca-catpop-grupo { margin-top: 14px; }
.busca-catpop-nome {
  font-family: var(--font-body); font-size: 11px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; color: var(--color-text-muted);
  margin-bottom: 8px;
}
.busca-catpop-chips { display: flex; flex-wrap: wrap; gap: 8px; }
