/* Weapon artwork uses the shared equipment renderer; this sheet only controls layout. */
.weapon-catalog { container-type:inline-size; min-width:0; }
.wc-toolbar { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.wc-search { display:flex; align-items:center; flex:1; min-width:0; gap:11px; padding:0 14px; min-height:46px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.wc-search:focus-within { border-color:var(--accent); }
.wc-search svg { width:19px; height:19px; flex:0 0 19px; fill:none; stroke:var(--muted); stroke-width:1.7; }
.wc-search input { display:block; width:100%; min-width:0; min-height:44px; background:transparent; color:var(--text); border:0; font:inherit; font-size:14px; }
.wc-search input::placeholder { color:var(--muted); }
.wc-size-control { margin-left:auto; }
.wc-size-control select { min-width:130px; }
.wc-filter-fields { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:12px; padding:13px 14px; margin:0; background:var(--surface-muted); border:1px solid var(--line); border-radius:10px; min-width:0; }
.wc-filter-fields label { display:flex; flex-direction:column; gap:8px; min-width:0; color:var(--muted); font-size:12px; font-weight:600; }
.wc-filter-fields select { display:block; width:100%; min-width:0; min-height:44px; padding:9px 28px 9px 11px; background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:7px; font:inherit; font-size:13px; }
.wc-results-bar { display:flex; justify-content:space-between; align-items:center; gap:14px; margin:8px 0 12px; }
.wc-result-count { color:var(--muted); font-size:13px; line-height:1.5; margin:0; }
.wc-reset { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 12px; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--accent-strong); font:inherit; font-size:12px; font-weight:650; cursor:pointer; }
.wc-reset:hover { border-color:var(--accent); background:var(--surface-hover); }
.wc-grid { display:grid; align-items:stretch; gap:16px; }
.wc-grid[data-card-size=standard] { grid-template-columns:repeat(4,minmax(0,1fr)); }
.wc-grid[data-card-size=compact] { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.wc-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:12px; box-shadow:0 3px 15px #00000008; }
.wc-card:hover { border-color:var(--accent); }
.wc-art { display:flex; aspect-ratio:4/3; width:100%; min-width:0; overflow:hidden; border-bottom:1px solid var(--line); background:var(--surface-raised); }
.wc-art>.weapon-artwork,.wc-art>.weapon-image-frame { width:100%; height:100%; aspect-ratio:4/3; }
.wc-art-unavailable { display:flex; align-items:center; justify-content:center; width:100%; min-height:120px; padding:14px; color:var(--muted); font-size:13px; }
.wc-body { display:flex; flex-direction:column; flex:1; min-width:0; padding:15px; }
.wc-rarity { color:var(--gold); font-size:14px; line-height:1.3; letter-spacing:1px; margin-bottom:7px; }
.wc-body h2 { color:var(--text); font-size:25px; line-height:1.12; letter-spacing:-.15px; margin:0 0 7px; overflow-wrap:anywhere; }
.wc-type { color:var(--muted); font-size:12px; line-height:1.4; margin:0; }
.wc-pairing { color:var(--text); font-size:12px; line-height:1.5; margin:12px 0 0; padding-top:10px; border-top:1px solid var(--line); overflow-wrap:break-word; }
.wc-pairing>span { display:block; color:var(--muted); font-size:11px; margin-bottom:2px; }
.wc-grid[data-card-size=compact] .wc-body { padding:12px; }
.wc-grid[data-card-size=compact] .wc-body h2 { font-size:22px; }
.wc-grid[data-card-size=compact] .wc-rarity { font-size:13px; }
.wc-grid[data-card-size=compact] .wc-pairing { font-size:11px; margin-top:10px; padding-top:8px; }
.wc-empty { grid-column:1/-1; padding:34px 24px; text-align:center; border:1px dashed var(--line); border-radius:12px; background:var(--surface); }
.wc-empty h2 { font-size:28px; margin:0 0 10px; }
.wc-empty p { max-width:520px; margin:0 auto 20px; color:var(--muted); font-size:14px; line-height:1.65; }
@container(min-width:1160px) { .wc-grid[data-card-size=compact] { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@container(max-width:880px) {
 .wc-grid[data-card-size=standard] { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .wc-grid[data-card-size=compact] { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@container(max-width:680px) {
 .wc-grid[data-card-size=standard] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .wc-grid[data-card-size=compact] { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .wc-toolbar { flex-wrap:wrap; gap:12px; }
 .wc-search { flex-basis:100%; }
 .wc-size-control { margin-left:0; }
}
@container(max-width:520px) {
 .wc-grid[data-card-size=compact] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .wc-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; padding:12px; }
 .wc-filter-fields label:last-child { grid-column:1/-1; }
 .wc-filter-fields select { font-size:12px; }
 .wc-grid { gap:12px; }
 .wc-body { padding:12px; }
 .wc-body h2 { font-size:23px; }
}
@container(max-width:350px) {
 .wc-grid[data-card-size=standard] { grid-template-columns:1fr; }
 .wc-grid[data-card-size=compact] .wc-body { padding:10px; }
 .wc-grid[data-card-size=compact] .wc-body h2 { font-size:20px; }
 .wc-filter-fields select { padding-left:8px; padding-right:18px; }
}
