/* ════════════════════════════════════════════════════════════════════════
   CHARACTER GEAR — the Armory paperdoll (M58). The old M34 list-grid renderer +
   its .gear/.gear-slot/.sk-slot styles were deleted 2026-07-02 (one gear view only).
   All tokens from _tokens.css. NO :root{} block.
   Brand gold: var(--wgf-gold-primary) / var(--wgf-gold-primary). NEVER the retired 244,196,92 hex.
   Quality colors: on icon ring + item name only (never a chip).
   Green/red (--wgf-up/--wgf-down) NEVER used in gear chrome — market only.
   Class color (--ch-class-color): identity axis only (bar + avg ilvl strong).
   Items link to /item/<slug>/ (our own pages). NEVER outbound Wowhead links.
   ════════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════════════
   PAPERDOLL — the official-Armory layout (pd). THE one gear view: mirrored
   slot ROWS (icon + name + ilvl/gems/enchant sub-line) flanking the full-body
   render, weapons centered at the bottom. Hover = the shared item card.
   ════════════════════════════════════════════════════════════════════════ */
.pd__hdr{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--space-3);
}
.pd__hdr-ilvl{
  font-family:var(--font-ui);
  font-size:var(--text-sm);
  color:var(--wgf-muted);
}
.pd__hdr-ilvl strong{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:var(--text-lg);
  font-weight:500;
  color:var(--ch-class-color, var(--wgf-gold-primary));
}
.pd{
  display:grid;
  grid-template-columns:minmax(210px,300px) minmax(220px,1fr) minmax(210px,300px);
  grid-template-areas:"left stage right" "bottom bottom bottom";
  gap:var(--space-1) var(--space-3);
  background:var(--wgf-panel-1);
  border:1px solid var(--wgf-border-neutral);
  border-radius:var(--radius-hero);
  padding:var(--space-3);
  box-shadow:var(--shadow-2);
  margin-bottom:var(--space-3);
}
.pd--nomodel{ grid-template-columns:1fr 1fr; grid-template-areas:"left right" "bottom bottom"; }
.pd__col{ display:flex; flex-direction:column; gap:var(--space-1); justify-content:space-between; }
.pd__col--left{ grid-area:left; }
.pd__col--right{ grid-area:right; }
.pd__stage{ grid-area:stage; min-width:0; overflow:hidden; }
.pd__stage .wgf-pvp-modelstage{ min-height:560px; height:100%; }
/* The full-body Blizzard render (main-raw): whole character, gently scaled up out of the
   asset's large transparent margins — never a cover-crop chest zoom. */
.pd__stage .wgf-pvp-render{
  object-fit:contain;
  object-position:center 45%;
  transform:scale(1.35);
  transform-origin:center 55%;
}
.pd__bottom{ grid-area:bottom; display:flex; justify-content:center; gap:var(--space-4); flex-wrap:wrap; }

/* ── slot row: icon + name + sub-line; right column mirrors ── */
.pd__row{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  min-height:54px;
  padding:2px;
  border-radius:var(--radius-control);
}
.pd__row:hover{ background:var(--wgf-panel-2); }
.pd__row--right{ flex-direction:row-reverse; text-align:right; }
.pd__row--right .pd__sub{ justify-content:flex-end; }
.pd__row--empty{ opacity:.4; }
.pd__iconbox{
  flex:0 0 auto;
  width:48px;
  height:48px;
  border-radius:6px;
  background:var(--wgf-panel-3);
  border:1px solid rgba(0,0,0,.5);
  outline:2px solid transparent;
  outline-offset:1px;
}
.pd__iconbox--poor      { outline-color:var(--q-poor); }
.pd__iconbox--common    { outline-color:var(--q-common); }
.pd__iconbox--uncommon  { outline-color:var(--q-uncommon); }
.pd__iconbox--rare      { outline-color:var(--q-rare); }
.pd__iconbox--epic      { outline-color:var(--q-epic); }
.pd__iconbox--legendary { outline-color:var(--q-legendary); }
.pd__iconbox--heirloom  { outline-color:var(--q-heirloom); }
.pd__iconbox--empty{ border:1px dashed var(--wgf-border-neutral); outline:none; }
.pd__icon{
  display:block; width:100%; height:100%;
  border-radius:5px; object-fit:cover;
}
.pd__icon--blank{
  display:flex; align-items:center; justify-content:center;
  color:var(--wgf-muted); font-size:1rem;
}
.pd__txt{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.pd__name{
  font-family:var(--font-ui);
  font-size:var(--text-sm);
  font-weight:600;
  line-height:1.25;
  text-decoration:none;
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
a.pd__name:hover{ text-decoration:underline; }
.pd__sub{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:var(--space-1) var(--space-1);
  font-size:var(--text-xs);
  line-height:1.3;
}
.pd__sub-ilvl{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  color:#ffd100;                    /* in-game ilvl gold */
}
.pd__sub-gem{
  width:16px; height:16px; border-radius:3px;
  border:1px solid rgba(255,255,255,.35); background:#000;
  flex:0 0 auto;
}
.pd__sub-gemdot{ color:#7fb0e0; }
.pd__sub-gemlink{ display:inline-flex; text-decoration:none; }
.pd__sub-ench{
  color:var(--q-uncommon);                    /* in-game enchant green */
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:26ch;
  text-decoration:none;
}
a.pd__sub-ench:hover{ text-decoration:underline; }

/* Narrow screens: model on top, columns merge into one readable list */
@media(max-width:860px){
  .pd{ grid-template-columns:1fr; grid-template-areas:"stage" "left" "right" "bottom"; }
  .pd__stage .wgf-pvp-modelstage{ min-height:400px; }
  .pd__stage .wgf-pvp-render{ transform:none; object-position:center; }
  .pd__row--right{ flex-direction:row; text-align:left; }
  .pd__row--right .pd__sub{ justify-content:flex-start; }
}
