/* =====================================================================
   TROCA DE CLASSE DO HERÓI (25/10, SQL 2240) — src/ui/troca-classe-heroi.js
   Janela escura com ouro (mesma família do Salão dos heróis), cartão da Loja,
   botão no Salão e linha em CONTA E OPÇÕES › CONTA.
   ===================================================================== */
.tch-fundo{z-index:1560}
.tch-janela.modal-card{width:min(780px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;gap:12px;padding:16px 18px;
  background:radial-gradient(120% 70% at 50% 0,rgba(120,72,190,.20),transparent 60%),linear-gradient(180deg,#151223,#0f0d18);
  border:1px solid rgba(216,163,74,.45);box-shadow:0 0 0 1px rgba(0,0,0,.6),0 18px 60px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,230,170,.08);
  color:#efe7d6;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.tch-topo{flex:0 0 auto;align-items:flex-start}
.tch-cabeca{display:flex;align-items:center;gap:12px;min-width:0}
.tch-ico-t{width:52px;height:52px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto;filter:drop-shadow(0 0 10px rgba(160,110,240,.45))}
.tch-ico-t.grande{width:96px;height:96px}
.tch-janela h2{margin:0;font-family:"Cinzel",Georgia,serif;font-size:calc(20px * var(--text-scale,1));letter-spacing:.04em;color:#f3d58b}
.tch-quem{margin:3px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:calc(13px * var(--text-scale,1))}
.tch-quem b{color:#efe3c8;overflow-wrap:anywhere}
.tch-quem span{color:#b9a987}
.tch-corpo{display:flex;flex-direction:column;gap:12px;min-width:0}
.tch-ico-g{width:40px;height:40px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto}
.tch-ico-p{width:20px;height:20px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto;vertical-align:middle}
.tch-carteira{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(216,163,74,.28);border-radius:10px;background:rgba(10,8,7,.45)}
.tch-carteira div{display:flex;flex-direction:column;gap:2px;min-width:0}
.tch-carteira b{font-size:calc(14px * var(--text-scale,1));color:#efe3c8}
.tch-carteira small{color:#b9a987;font-size:calc(12px * var(--text-scale,1));line-height:1.35;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.tch-carteira.tem{border-color:rgba(120,200,140,.45);background:rgba(40,90,55,.18)}
.tch-carteira.gratis{border-color:rgba(243,213,139,.7);background:linear-gradient(90deg,rgba(216,163,74,.18),rgba(216,163,74,.04))}
.tch-carteira.gratis b{color:#f3d58b}
.tch-rotulo{margin:2px 0 0;font-size:calc(11px * var(--text-scale,1));letter-spacing:.14em;color:#d8a34a;font-weight:800;text-transform:uppercase}
.tch-grade{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.tch-classe{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 10px;min-width:0;cursor:var(--cur-mao,pointer);
  border:1px solid rgba(216,163,74,.25);border-radius:10px;background:linear-gradient(180deg,rgba(30,24,40,.9),rgba(14,11,20,.95));color:#efe3c8;
  font:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.tch-classe:hover:not(:disabled){border-color:rgba(243,213,139,.7);transform:translateY(-1px)}
.tch-classe.sel{border-color:#f3d58b;box-shadow:0 0 0 1px #f3d58b,0 0 18px rgba(243,213,139,.35);background:linear-gradient(180deg,rgba(70,52,30,.9),rgba(20,15,10,.95))}
.tch-classe:disabled{cursor:var(--cur-seta,default)}
.tch-classe.atual{opacity:.7}
.tch-classe.tranca .tch-retrato{filter:grayscale(1) brightness(.55)}
.tch-retrato{display:flex;align-items:flex-end;justify-content:center;width:100%;height:92px;overflow:hidden}
.tch-retrato img,.tch-retrato .tch-classe-img{max-width:100%;max-height:92px;object-fit:contain;image-rendering:pixelated}
.tch-retrato .character-sprite-fallback{font-size:40px}
.tch-classe b{font-size:calc(12.5px * var(--text-scale,1));text-align:center;line-height:1.15;overflow-wrap:anywhere}
.tch-selo{font-style:normal;font-size:calc(10px * var(--text-scale,1));font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:999px;text-align:center;line-height:1.2}
.tch-selo.atual{background:rgba(216,163,74,.2);color:#f3d58b;border:1px solid rgba(216,163,74,.5)}
.tch-selo.tranca{background:rgba(0,0,0,.45);color:#c9b9a0;border:1px solid rgba(255,255,255,.12)}
.tch-dica{margin:4px 0;text-align:center;color:#b9a987;font-size:calc(13px * var(--text-scale,1))}
.tch-trava{margin:0;padding:9px 12px;border-radius:8px;border:1px solid rgba(233,185,128,.4);background:rgba(120,60,20,.18);color:#efc896;
  font-size:calc(13px * var(--text-scale,1));line-height:1.4}
.tch-previa{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid rgba(216,163,74,.25);border-radius:10px;background:rgba(10,8,7,.4)}
.tch-previa h4{margin:0;font-size:calc(11px * var(--text-scale,1));letter-spacing:.14em;color:#d8a34a;font-weight:800;text-transform:uppercase}
.tch-pecas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tch-linha{display:grid;grid-template-columns:78px minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.03);
  font-size:calc(12.5px * var(--text-scale,1))}
.tch-linha.mochila{grid-template-columns:78px minmax(0,1fr) minmax(0,1.3fr)}
.tch-slot{color:#b9a987;font-size:calc(11px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.06em}
.tch-de,.tch-para{min-width:0;overflow-wrap:anywhere}
.tch-de .tch-peca-nome{opacity:.75}
.tch-seta{width:18px;height:12px;background:linear-gradient(90deg,transparent 0 2px,#d8a34a 2px 12px,transparent 12px) center/100% 2px no-repeat;position:relative}
.tch-seta::after{content:"";position:absolute;right:0;top:1px;border:5px solid transparent;border-left:7px solid #d8a34a;border-right:0}
.tch-obs{color:#efc896;font-size:calc(11.5px * var(--text-scale,1));line-height:1.3}
.tch-peca-nome{font-weight:700}
.tch-fica{margin:2px 0 0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:3px;color:#d6ccb6;font-size:calc(12.5px * var(--text-scale,1));line-height:1.4}
.tch-fica li::marker{color:#d8a34a}
.tch-fica li.tch-dl,.tch-fica li.tch-comuns{color:#efc896}
.tch-rodape{position:sticky;bottom:-16px;margin:0 -18px -16px;padding:10px 18px 14px;background:linear-gradient(180deg,rgba(15,13,24,0),#0f0d18 30%);flex:0 0 auto}
.tch-confirmar{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 14px;cursor:var(--cur-mao,pointer);
  border:1px solid var(--botao-ouro-borda);border-radius:10px;background:var(--botao-ouro-fundo);color:var(--botao-ouro-texto);font:inherit;font-weight:900;letter-spacing:.05em;
  font-size:calc(14px * var(--text-scale,1));box-shadow:0 0 18px rgba(216,163,74,.35),inset 0 1px 0 rgba(255,255,255,.4);white-space:normal;line-height:1.2}
.tch-confirmar:disabled{filter:grayscale(.7) brightness(.6);cursor:var(--cur-seta,default);box-shadow:none}
.tch-custo{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;background:rgba(0,0,0,.25);color:#fff6dd}
.tch-custo img{width:18px;height:18px}
.tch-pronto{align-items:center;text-align:center;padding:28px 20px}
.tch-pronto p{margin:0;color:#d6ccb6}

/* Loja › Utilidades */
.tch-loja-arte{width:76%;height:76%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 12px rgba(160,110,240,.5))}
.tch-loja-gratis{background:var(--botao-ouro-fundo)!important;color:var(--botao-ouro-texto)!important;font-weight:900}

/* Salão dos heróis (herói atual) */
.tch-salao-botao{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.conta-botao-trazer .tch-ico-p{width:20px;height:20px}

@media (max-width:640px){
  .tch-fundo{padding:0;align-items:stretch}
  .tch-janela.modal-card{max-height:100vh;height:100%;border-radius:0;border-left:0;border-right:0;padding:14px 12px}
  .tch-grade{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tch-retrato{height:74px}
  .tch-retrato img,.tch-retrato .tch-classe-img{max-height:74px}
  .tch-linha{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}
  .tch-linha .tch-slot{grid-column:1/-1}
  .tch-linha.mochila{grid-template-columns:minmax(0,1fr)}
  .tch-rodape{margin:0 -12px -14px;padding:10px 12px 14px;bottom:-14px}
  .tch-ico-t{width:42px;height:42px}
}
@media (max-height:500px) and (orientation:landscape){
  .tch-janela.modal-card{max-height:100vh}
  .tch-retrato{height:60px}
  .tch-retrato img,.tch-retrato .tch-classe-img{max-height:60px}
}
