/* collection : styles des pages Box, Entraînement, Pokédex et de la fiche d'un Pokémon (propres à ce module) */

/* ---------- fiche (modale) ---------- */
.modal.fiche-modal{width:min(860px,100%)}
.fiche .fbody{min-width:0}
.fiche .art{min-height:230px}
.fiche .art .sprite{max-height:210px}
.navpk{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px}
.fbar{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;margin:6px 0;font-size:13px}
.fbar .bar{height:9px}
.fbar span{color:var(--muted);font-weight:600}
h3.sub{font-size:18px;margin:18px 0 8px}
.tabbody{min-height:140px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.facts>div{background:#120e30;border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;gap:1px}
.facts small{color:var(--muted);font-size:12px}
.fiche .stat{grid-template-columns:78px 40px 1fr 28px}
.mv small{display:block}
.mv .row{gap:8px}
.itile{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:6px 0;border-radius:14px;background:#120e30;border:1px solid transparent}
.itile>div{flex:1;min-width:0}
.itile small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.itile .ie{font-size:26px;width:34px;text-align:center;flex:none}
.itile img.sprite{width:56px;height:56px;flex:none}
.itile.evoopt.ready{border-color:var(--ok);background:linear-gradient(90deg,#4fd18b14,#120e30)}
.btn.dim{opacity:.55}
.btn.dim-danger:not(.dim){color:var(--red2)}
.btn.on{background:var(--panel2);border-color:var(--gold)}
.tab{cursor:pointer}
.tab:hover{color:var(--text)}
.fiche .acts{margin-top:14px}
.boxlist .itile .row{flex-wrap:nowrap}

/* ---------- Box : équipe ---------- */
.teampanel{margin-bottom:18px}
.teamstrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.tslot{position:relative;background:#120e30;border-radius:16px;padding:10px 8px 8px;text-align:center;border-bottom:4px solid var(--rc,var(--line));display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .15s,box-shadow .2s;min-width:0}
.tslot[draggable=true]{cursor:grab}
.tslot.drag{opacity:.4}
.tslot.over{box-shadow:0 0 0 3px var(--gold);transform:translateY(-3px)}
.tslot .tpic{border-radius:12px;padding:0}
.tslot .tpic img{width:72px;height:72px;margin:0 auto}
.tslot b{font-size:13.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tslot .bar{height:6px;width:100%;margin-top:4px}
.tctl{display:flex;gap:4px;margin-top:6px}
.tctl button{width:28px;height:28px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);font-size:12px;line-height:1}
.tctl button:hover:not([disabled]){background:#322a7c}
.tctl button[disabled]{opacity:.3;cursor:default}
.tslot.empty{border:2px dashed var(--line);border-bottom-width:2px;background:transparent;justify-content:center;min-height:150px;gap:10px;font-size:13px}

/* ---------- Box : liste, sélection, actions groupées ---------- */
.filters input[type=search]{min-width:200px;flex:1 1 200px}
.filters .chip.f{font-family:inherit;font-size:13px}
.pager{justify-content:center;margin-top:22px}
.card .selmark{display:none;position:absolute;left:10px;top:34px;z-index:4;width:26px;height:26px;border-radius:50%;place-items:center;background:var(--gold);color:#2a1f00;font-weight:800;box-shadow:0 4px 10px #0007}
.card.sel .selmark{display:grid}
.card.sel{outline:3px solid var(--gold);outline-offset:2px}
.bulkbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:45;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;max-width:min(920px,calc(100vw - 24px));padding:10px 16px;border-radius:22px;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--gold);box-shadow:0 18px 40px -10px #000;animation:pop .25s}
.bulkbar[hidden]{display:none}
.bulkbar select{padding:6px 12px;font-size:13px}
.bulkbar b{margin-right:4px}
.pickgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.pickbar{position:sticky;bottom:-26px;margin:16px -26px -26px;padding:14px 26px;background:linear-gradient(180deg,transparent,var(--panel) 40%);border-radius:0 0 24px 24px}
.pickgrid .card.dimmed{opacity:.45}

/* ---------- Entraînement ---------- */
.slotlist{display:grid;gap:12px}
.slot.trainee{border-left:5px solid var(--rc,var(--line));transition:box-shadow .3s}
.slot.trainee.ready{box-shadow:0 0 0 2px var(--ok),0 12px 30px -14px var(--ok)}
.slot .sp{padding:0;border-radius:14px;background:#120e30;display:grid;place-items:center;width:84px;height:84px}
.slot .sp img{width:76px;height:76px}
.slot .col{display:flex;flex-direction:column;gap:8px}
.slot.empty{display:flex;flex-direction:column;gap:10px;align-items:center}
.prog .bar{min-width:80px}
.btn small{font-weight:500;opacity:.85}

/* ---------- Pokédex ---------- */
.gens{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.gen{display:flex;flex-direction:column;gap:5px;text-align:left;padding:10px 12px;border-radius:14px;background:#120e30;border:1px solid var(--line);transition:border-color .15s,transform .12s}
.gen:hover{transform:translateY(-2px)}
.gen.on{border-color:var(--gold)}
.gen .bar{height:8px}
.dexgrid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}
button.dex{font:inherit;color:inherit;cursor:pointer;position:relative;display:block;width:100%;border-bottom:3px solid var(--rc,var(--line));transition:transform .12s,box-shadow .2s}
button.dex:hover{transform:translateY(-3px);box-shadow:0 12px 24px -12px var(--rc,#000)}
button.dex .num{display:block;text-align:left;color:var(--muted);font-weight:700}
button.dex b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.dex.unk{opacity:.7;border-bottom-color:var(--line)}
button.dex.sh{box-shadow:0 0 0 2px #b46bff66}
.dex.seen img,img.sil{filter:brightness(0) opacity(.55)}
.evchain{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.evchain .arrow{font-size:22px;color:var(--muted)}
.evbranches{display:flex;flex-direction:column;gap:8px}
.evnode{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#120e30;border-radius:14px}
.evnode img{width:56px;height:56px}
.evnode .q{width:56px;text-align:center;font-size:30px;color:var(--line)}
.evnode b{display:block}
.evnode small{display:block}
.evnode.self{border:1px solid var(--gold)}
.evcond{color:var(--gold);font-weight:700}

/* ---------- petits écrans ---------- */
@media (max-width:1100px){.teamstrip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .fiche .art{min-height:190px}
  .fiche .art .sprite{width:170px}
  .bulkbar{bottom:78px;border-radius:18px}
  .teamstrip{gap:8px}
  .tslot .tpic img{width:60px;height:60px}
  .slot.trainee{grid-template-columns:64px 1fr}
  .slot .sp{width:64px;height:64px}.slot .sp img{width:56px;height:56px}
  .filters input[type=search]{min-width:0}
  .itile{flex-wrap:wrap}
  .dexgrid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
  .pickbar{margin:16px -18px -18px;padding:12px 18px}
}
