/* Forge catalogue cards are separate from compact inventory slots. */
.shop--forge{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px;gap:16px}
.shop--forge .shop-cols{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px}
.shop--forge .shop-cols>section{min-width:0}
.shop--forge .shop-sub{line-height:1.5;max-width:65ch}
.shop--forge .shop-x{width:44px;height:44px;flex-shrink:0}
.shop--forge #retailTabs{margin-bottom:12px;padding:4px;gap:4px}
.shop--forge #retailTabs button{flex:1;padding:8px 10px;font-size:14px}
.shop--forge #shopStock{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.shop--forge .forge-card{padding:12px 8px;gap:6px;border:1px solid #75582e;min-height:174px;justify-content:flex-start;text-align:center;overflow:hidden}
.shop--forge .forge-card svg{width:76px;height:76px;flex-shrink:0;filter:drop-shadow(0 3px 3px #0008)}
.forge-card-name{font:700 15px/1.3 var(--prose);overflow-wrap:anywhere;width:100%;min-height:2.6em;color:var(--text)}
.forge-card-price{font:700 13px/1.3 var(--mono);color:var(--accent)}
.forge-card-state{font:500 11px/1.4 var(--mono);color:var(--muted)}
.forge-card-state.is-locked{border:1px solid #796448;border-radius:3px;padding:0 6px;color:#deccaa}
.shop--forge .forge-card[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:radial-gradient(ellipse at top,#574020,#201409)}
.shop--forge .btn{min-height:44px}
.shop--forge button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.shop--forge #retailCompare{margin-top:16px;padding:14px;border:1px solid #75582e;border-radius:4px;background:#160e09aa;font-size:14px;line-height:1.5;display:flow-root;overflow-wrap:anywhere}
.shop--forge #retailCompare p{margin:0 0 10px}
.shop--forge #retailCompare p:empty{display:none}
.shop--forge .retail-equipment-preview{width:160px;height:180px;float:right;margin:0 0 12px 12px;background:radial-gradient(ellipse,#58432d55,transparent)}
.shop--forge #shopWork{grid-template-columns:80px}
.shop--forge #shopInfo{line-height:1.5;overflow-wrap:anywhere}
@media(max-width:620px){
 .shop--forge{padding:14px;gap:12px}
 .shop--forge .shop-cols{grid-template-columns:1fr;gap:20px}
 .shop--forge #shopStock{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .shop--forge .shop-h{flex-wrap:wrap}
 .shop--forge .shop-h b{font-size:22px}
 .shop--forge .shop-sub{font-size:14px}
 .shop--forge .retail-equipment-preview{float:none;margin:0 auto 12px}
 .shop--forge #retailTabs button{padding:8px 4px;font-size:13px}
}

/* Background controls and arrival banners must not cover the modal. */
body:has(.shop--forge:not([hidden])) :is(.game-controls,.ztitle){visibility:hidden}
