/* Dual search: keyword DB vs AI ranked */
.search-mode-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0 0 .65rem;
}
.search-mode-tab{
  appearance:none;
  border:1px solid var(--color-border, #e2e8f0);
  background:var(--color-surface, #fff);
  color:var(--color-text, #0f172a);
  border-radius:999px;
  padding:.45rem .95rem;
  font-size:.9rem;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
}
.search-mode-tab:hover{border-color:var(--color-primary,#0d9488)}
.search-mode-tab.is-active{
  background:linear-gradient(135deg,var(--color-primary,#0d9488),var(--color-primary-dark,#0f766e));
  border-color:transparent;
  color:#fff;
  box-shadow:0 6px 16px rgba(13,148,136,.28);
}
.search-mode-tab .tab-count{
  min-width:1.4rem;
  padding:.05rem .4rem;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  background:rgba(15,23,42,.08);
}
.search-mode-tab.is-active .tab-count{background:rgba(255,255,255,.22)}
.search-mode-hint{margin:0 0 1rem}
.result-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.5rem 1rem;
  margin:0 0 1rem;
}
.result-count{margin:0;font-weight:600}
.result-mode-badge{
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.02em;
  padding:.25rem .65rem;
  border-radius:999px;
  background:#e2e8f0;
  color:#334155;
}
.result-mode-badge.result-mode-ai{
  background:linear-gradient(135deg,#ede9fe,#dbeafe);
  color:#5b21b6;
}
.ai-search-status{
  margin:0 0 1rem;
  padding:.75rem 1rem;
  border-radius:12px;
  font-size:.92rem;
}
.ai-search-status.is-loading{
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
}
.ai-search-status.is-error{
  background:#fef2f2;
  color:#b91c1c;
  border:1px solid #fecaca;
}
.ai-search-status.is-ok{
  background:#ecfdf5;
  color:#047857;
  border:1px solid #a7f3d0;
}
.ai-result-summary{
  margin:0 0 1rem;
  padding:.9rem 1.05rem;
  line-height:1.55;
  white-space:pre-wrap;
  word-break:break-word;
}
.merchant-card-wrap{position:relative;overflow:hidden}
.merchant-card-cover-wrap{position:relative}
.merchant-card-cover-link{display:block;color:inherit}
.merchant-ai-tap{
  position:absolute;
  top:.55rem;
  right:.55rem;
  z-index:3;
  appearance:none;
  border:0;
  border-radius:999px;
  padding:.35rem .7rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg,#7c3aed,#2563eb);
  box-shadow:0 4px 14px rgba(37,99,235,.35);
  transition:transform .15s,filter .15s;
}
.merchant-ai-tap:hover{filter:brightness(1.06);transform:translateY(-1px)}
.merchant-ai-tap:focus-visible{outline:2px solid #a78bfa;outline-offset:2px}
.merchant-card.is-ai-result{border:1px solid rgba(124,58,237,.25);box-shadow:0 8px 24px rgba(124,58,237,.08)}
.ai-match-reason{
  margin:.55rem 0 0;
  font-size:.82rem;
  line-height:1.45;
  color:#4c1d95;
  background:#f5f3ff;
  border-radius:10px;
  padding:.45rem .6rem;
}
.ai-match-label{
  display:inline-block;
  margin-right:.25rem;
  font-size:.68rem;
  font-weight:800;
  padding:.1rem .35rem;
  border-radius:6px;
  background:#7c3aed;
  color:#fff;
  vertical-align:middle;
}
#panelAi[hidden],.search-panel[hidden]{display:none !important}
@media (max-width:640px){
  .merchant-ai-tap{top:.4rem;right:.4rem;padding:.3rem .55rem;font-size:.68rem}
  .search-mode-tab{flex:1 1 auto;justify-content:center}
}
