/* One responsive store layout; the shared scrollbar owns its gutter. */
.pq-app .pq-item-shop-dialog .gr-dialog__body { min-height:0; }
.pq-app .pq-item-shop-dialog .gr-dialog__body.pq-item-shop__body--catalogue { display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:12px; overflow:hidden; }
.pq-app .pq-item-shop__toolbar { display:flex; align-items:center; gap:10px; flex:none; min-width:0; }
.pq-app .pq-item-shop__search { display:flex; align-items:center; gap:9px; flex:1; min-width:0; padding:8px 12px; border:1px solid #8bacaa; border-radius:11px; background:#062531; }
.pq-app .pq-item-shop__search>svg { flex:0 0 22px; color:#acd5d0; }
.pq-app .pq-item-shop__search input { width:100%; min-width:0; padding:5px 0; border:0; outline:none; background:transparent; color:#f6eed9; font-size:16px; }
.pq-app .pq-item-shop__search:focus-within { outline:2px solid #f6d58a; outline-offset:2px; }
.pq-app .pq-item-shop__sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.pq-app .pq-item-shop__legend { display:flex; flex-wrap:wrap; gap:7px 17px; padding:8px 11px; border:1px solid #9abeb733; border-radius:9px; background:#092b34; flex:none; }
.pq-app .pq-item-shop__legend-entry { display:inline-flex; align-items:center; gap:6px; color:#cddfd8; font-size:12px; line-height:1.25; }
.pq-app .pq-item-shop__ability { display:inline-flex; align-items:center; justify-content:center; flex:0 0 23px; width:23px; height:23px; color:#cbd6cc; }
.pq-app .pq-item-shop__ability svg { width:20px; height:20px; }
.pq-app .pq-item-shop__ability--cannon { color:#f2ab83; }
.pq-app .pq-item-shop__ability--repair { color:#8cdec3; }
.pq-app .pq-item-shop__ability--supplies { color:#e2d69b; }
.pq-app .pq-item-shop__ability--people { color:#aac5ef; }
.pq-app .pq-item-shop__ability--coin { color:#f3d277; }
.pq-app .pq-item-shop__ability--globe { color:#83d0e3; }
.pq-app .pq-item-shop__ability--sword { color:#c8aff3; }
.pq-app .pq-item-shop__ability--powerup { color:#f0bd6d; }
.pq-app .pq-item-shop__ability--combine { color:#aec884; }
.pq-app .pq-item-shop__ability--help { color:#e9a5d5; }
.pq-app .pq-item-shop__list-wrap { position:relative; display:flex; flex:1; min-height:110px; min-width:0; overflow:hidden; }
.pq-app .pq-item-shop__list { flex:1; min-width:0; min-height:0; overflow-y:auto; padding:0 3px 12px; }
.pq-app .pq-item-shop__category { margin:14px 0 8px; color:#e3cd99; font-size:15px; line-height:1.3; }
.pq-app .pq-item-shop__category:first-child { margin-top:2px; }
.pq-app .pq-item-shop__row { display:grid; grid-template-columns:64px minmax(0,1fr) max-content; align-items:center; gap:12px; width:100%; min-width:0; margin:0 0 8px; padding:8px 13px 8px 8px; border:1px solid #8db5ac8c; border-radius:12px; background:linear-gradient(120deg,#183d45,#0b2934); color:#f8eccb; text-align:left; cursor:pointer; }
.pq-app .pq-item-shop__row:hover { background:linear-gradient(120deg,#24515a,#103b48); border-color:#e6c884; }
.pq-app .pq-item-shop__row:focus-visible { outline:3px solid #f6d58a; outline-offset:-3px; }
.pq-app .pq-item-shop__thumbnail { width:64px; height:64px; display:flex; align-items:center; justify-content:center; }
.pq-app .pq-item-shop__thumbnail svg { display:block; max-width:100%; max-height:100%; }
.pq-app .pq-item-shop__row-copy { display:flex; align-items:center; flex-wrap:wrap; min-width:0; gap:4px 10px; }
.pq-app .pq-item-shop__row-copy>strong { overflow-wrap:anywhere; font-size:16px; line-height:1.3; }
.pq-app .pq-item-shop__abilities { display:inline-flex; flex-wrap:wrap; align-items:center; gap:1px; }
.pq-app .pq-item-shop__row-price { font-size:17px; font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; color:#f7d68e; }
.pq-app .pq-item-shop__detail { width:100%; max-width:620px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:15px; padding:8px 0 24px; text-align:center; box-sizing:border-box; }
.pq-app .pq-item-shop__back { align-self:flex-start; margin-bottom:6px; }
.pq-app .pq-item-shop__back>svg { transform:rotate(180deg); }
.pq-app .pq-item-shop__hero { display:flex; align-items:center; justify-content:center; width:min(220px,60vw); height:min(220px,60vw); flex:none; }
.pq-app .pq-item-shop__hero>svg { max-width:100%; max-height:100%; display:block; }
.pq-app .pq-item-shop__hero--gold { color:#f3d277; background:radial-gradient(closest-side,#e3c6771c,transparent); }
.pq-app .pq-item-shop__detail h3 { margin:0; font-size:clamp(22px,3.5vw,32px); line-height:1.2; overflow-wrap:anywhere; color:#ffedbc; }
.pq-app .pq-item-shop__detail p { margin:0; max-width:100%; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.pq-app .pq-item-shop__detail-benefits { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; width:100%; padding:12px 14px; border:1px solid #8aaea449; border-radius:10px; box-sizing:border-box; background:#082630; color:#d4e1d8; }
.pq-app .pq-item-shop__detail-benefits>span:last-child { min-width:0; font-size:15px; line-height:1.4; }
.pq-app .pq-item-shop__detail-price { font-size:28px; color:#f7d68e; font-variant-numeric:tabular-nums; }
.pq-app .pq-item-shop__detail .pq-item-shop__warning { padding:12px 14px; border:1px solid #e0b88373; border-radius:10px; background:#493c262e; color:#ecd5ae; font-size:13px; line-height:1.45; }
.pq-app .pq-item-shop__buy { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:min(100%,240px); min-height:48px; }
.pq-app .pq-item-shop__detail .pq-item-shop__tax { color:#a9c2bf; font-size:12px; }
.pq-app .pq-item-shop__quantity { display:flex; flex-direction:column; align-items:center; gap:8px; width:min(100%,300px); font-size:16px; }
.pq-app .pq-item-shop__quantity input,.pq-app .pq-item-shop__quantity select { box-sizing:border-box; width:100%; min-height:48px; padding:10px 14px; border:1px solid #96b9ad; border-radius:9px; background:#082630; color:#f6edcf; font-size:16px; text-align:center; }
.pq-app .pq-item-shop__detail .pq-item-shop__quantity-hint { color:#b1cbc5; font-size:13px; }
.pq-app .pq-item-shop__notice { flex:none; padding:12px 14px; border:1px solid #e0b88373; border-radius:10px; background:#3b3b282e; color:#f5dfb4; font-size:14px; line-height:1.4; }
.pq-app .pq-item-shop__notice p { margin:7px 0; font-size:inherit; }
.pq-app .pq-item-shop__notice-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pq-app .pq-item-shop__notice a { color:#efcf86; }
.pq-app .pq-item-shop__status { flex:none; margin:0; padding:9px 12px; border:1px solid #ebac8b; border-radius:9px; color:#ffdec0; font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.pq-app .pq-item-shop__status[hidden] { display:none; }
.pq-app .pq-item-shop__empty { color:#bdd2cc; font-size:15px; }
@media(max-width:600px) {
 .pq-app .pq-item-shop-dialog .gr-dialog__body.pq-item-shop__body--catalogue { gap:9px; }
 .pq-app .pq-item-shop__toolbar { gap:7px; }
 .pq-app .pq-item-shop__toolbar>.pq-button { padding:9px; min-height:44px; font-size:13px; }
 .pq-app .pq-item-shop__search { gap:7px; padding:6px 9px; }
 .pq-app .pq-item-shop__legend { gap:4px 10px; padding:7px; }
 .pq-app .pq-item-shop__legend-entry { gap:3px; font-size:11px; }
 .pq-app .pq-item-shop__legend-entry .pq-item-shop__ability { width:18px; height:18px; flex-basis:18px; }
 .pq-app .pq-item-shop__legend-entry svg { width:16px; height:16px; }
 .pq-app .pq-item-shop__row { grid-template-columns:46px minmax(0,1fr) max-content; gap:7px; padding:7px; border-radius:10px; }
 .pq-app .pq-item-shop__thumbnail { width:46px; height:50px; }
 .pq-app .pq-item-shop__row-copy { flex-direction:column; align-items:flex-start; gap:2px; }
 .pq-app .pq-item-shop__row-copy>strong { font-size:14px; }
 .pq-app .pq-item-shop__row-price { font-size:14px; }
 .pq-app .pq-item-shop__ability { width:20px; height:20px; flex-basis:20px; }
 .pq-app .pq-item-shop__ability svg { width:18px; height:18px; }
 .pq-app .pq-item-shop__detail { gap:12px; }
 .pq-app .pq-item-shop__hero { width:160px; height:160px; }
 .pq-app .pq-item-shop__detail p { font-size:14px; }
 .pq-app .pq-item-shop__detail h3 { font-size:24px; }
 .pq-app .pq-item-shop__notice { padding:9px; font-size:13px; }
}
