/* painel-pals-detalhes.css — depende de codex.css/painel.css/pals-list.css
   (reaproveita .filter-bar/.filter-select/.filter-search/.filter-group de
   pals-list.css, .guia-passiva-chip de publicacoes.css, .heranca-saiba-mais/
   .heranca-passiva-search-bar/.passiva-escolha-card de heranca-passiva.css,
   .skill-hub-grid de habilidades-hub.css e .skill-list-card de
   habilidades-list.css). Só o que é específico desta tela: a grade de
   cards de instância, a linha de filtro numérico (valor + operador + nome
   do atributo) e o ajuste do bloco colapsável de filtro por passiva. */

/* ---------- Espécies não possuídas (.pal-card sem <a>, com 2 botões) ---------- */
.pdet-especie-acoes{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  width:100%;
}
.pdet-especie-acoes .btn{ flex:1; }
/* "Ver no Mapa" -- mesmo flex container dos outros 2 botões (não uma
   `<a>` irmã com width:100% próprio), senão o alinhamento direito diverge
   quando o texto força os botões de cima a ocupar mais espaço do que o
   width:100% calculado isoladamente permite. `flex:0 0 100%` (grow 0,
   shrink 0) força a quebra pra própria linha -- precisa de mais
   especificidade que ".pdet-especie-acoes .btn" acima (2 classes) pra não
   perder pra ele, senão o shrink:1 daquela regra volta a valer. */
.pdet-especie-acoes .pdet-especie-acao-full{ flex:0 0 100%; }

/* ---------- Filtro por passiva (colapsável) ---------- */
.pdet-passivas-filtro{
  margin-top: 1rem;
}
.pdet-passivas-scroll{
  max-height: 420px;
  overflow-y: auto;
  padding-right: .25rem;
  margin-top: 1rem;
}
.pdet-passivas-scroll::-webkit-scrollbar{ width: 8px; }
.pdet-passivas-scroll::-webkit-scrollbar-thumb{ background: var(--hairline); border-radius: 999px; }

/* ---------- Filtros numéricos ---------- */
.pdet-btn-aplicar{
  flex: 0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  border:1px solid var(--accent-line);
  background: var(--accent-soft);
  color: var(--accent);
  border-radius: 8px;
  padding: .55rem 1rem;
  font-size:.85rem;
  font-weight:600;
  white-space:nowrap;
}
.pdet-btn-aplicar:hover{ background: var(--accent); color:#0a0d14; }

.pdet-filtros-numericos{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap:.6rem;
}
.pdet-filtro-num-row{
  display:grid;
  grid-template-columns: 80px 1fr auto;
  align-items:center;
  gap:.4rem;
  background: var(--panel-2);
  border:1px solid var(--hairline);
  border-radius:8px;
  padding:.35rem .5rem;
}
.pdet-filtro-num-valor{
  width:100%;
  background: var(--panel);
  border:1px solid var(--hairline);
  color: var(--text);
  border-radius:6px;
  padding:.35rem .5rem;
  font-size:.82rem;
  min-width:0;
}
.pdet-filtro-num-valor:focus{
  outline:none;
  color: var(--text-bright);
  border-color: var(--accent-line);
}
.pdet-filtro-num-op{
  padding:.35rem .4rem;
  font-size:.76rem;
  min-width:0;
}
.pdet-filtro-num-label{
  font-size:.76rem;
  color: var(--text-dim);
  white-space:nowrap;
}

/* ---------- Grade de instâncias ---------- */
.pdet-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap:1rem;
}

.pdet-card{
  --rarity-color: var(--hairline);
  background: var(--panel);
  border:1px solid var(--hairline);
  border-left: 3px solid var(--rarity-color);
  border-radius:14px;
  padding:1rem 1.15rem;
}

.pdet-card-top{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin-bottom:.75rem;
}
.pdet-card-portrait-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.2rem;
  flex-shrink:0;
}
.pdet-card-indice{
  font-family: var(--font-mono);
  font-size:.62rem;
  color: var(--text-dim);
  letter-spacing:.02em;
  white-space:nowrap;
}
.pdet-card-portrait-link{ flex-shrink:0; }
.pdet-card-portrait{
  width:52px; height:52px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid var(--rarity-color);
  flex-shrink:0;
}
.pdet-card-heading{ min-width:0; }
.pdet-card-nome{
  font-family: var(--font-display);
  font-weight:700;
  font-size:1rem;
  color: var(--text-bright);
  line-height:1.2;
}
.pdet-card-especie{
  font-size:.72rem;
  color: var(--text-dim);
  margin-top:.1rem;
}
.pdet-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.3rem;
  margin-top:.45rem;
}
.pdet-tag{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  font-size:.66rem;
  padding:.15rem .5rem;
  border-radius:999px;
  background: var(--panel-2);
  border:1px solid var(--hairline);
  color: var(--text-dim);
}
.pdet-tag--male{ color:#7fb8ff; border-color: rgba(127,184,255,.35); }
.pdet-tag--female{ color:#ff9fc7; border-color: rgba(255,159,199,.35); }

.pdet-card-stats{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:.5rem;
  padding: .6rem 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  margin-bottom:.6rem;
}
.pdet-stat{ text-align:center; }
.pdet-stat-label{
  display:block;
  font-family: var(--font-mono);
  font-size:.6rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color: var(--text-dim);
}
.pdet-stat-valor{
  display:block;
  font-family: var(--font-display);
  font-weight:700;
  font-size:1.05rem;
  color: var(--text-bright);
  margin-top:.1rem;
}

/* ---------- Barra de nível de amizade ---------- */
.pdet-amizade{
  margin-bottom:.6rem;
}
.pdet-amizade-label{
  font-family: var(--font-mono);
  font-size:.6rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color: var(--text-dim);
  margin-bottom:.25rem;
}
.pdet-amizade-bar{
  position:relative;
  width:100%;
  height:20px;
  border-radius:999px;
  background: var(--panel-2);
  border:1px solid var(--hairline);
  overflow:hidden;
}
.pdet-amizade-bar-fill{
  position:absolute;
  top:0; left:0; bottom:0;
  background: linear-gradient(90deg, var(--accent), #d7a9ff);
  border-radius:999px;
  transition: width .2s ease;
}
.pdet-amizade-bar-texto{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  font-family: var(--font-mono);
  font-size:.66rem;
  font-weight:600;
  color: var(--text-bright);
  text-shadow: 0 1px 2px rgba(0,0,0,.6);
}
.pdet-amizade-bar--vazia .pdet-amizade-bar-texto{ color: var(--text-dim); text-shadow:none; }

.pdet-card-ivs{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  font-family: var(--font-mono);
  font-size:.72rem;
  color: var(--text-dim);
  margin-bottom:.6rem;
}
.pdet-card-ivs b{ color: var(--text-bright); }

.pdet-card-passivas{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  padding-top:.5rem;
  border-top:1px solid var(--hairline);
}
