.gear-intro,
.snack-intro{
  margin:2px 0 12px;
  font-size:13px;
  color:var(--stone);
}

#modal-gear .yb-modal-card,
#modal-snack .yb-modal-card{
  width:min(100%, 560px);
  display:flex;
  flex-direction:column;
  gap:0;
}

.store-sticky-header{
  position:sticky;
  top:0;
  z-index:6;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin:-8px -6px 8px;
  padding:8px 6px 10px;
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.9));
  border-bottom:1px solid rgba(15,18,35,.08);
  backdrop-filter:blur(6px);
}

.store-sticky-main{
  min-width:0;
  flex:1;
}

#modal-gear .store-sticky-header h2,
#modal-snack .store-sticky-header h2{
  margin:2px 0 4px 0;
  padding-right:0;
}

#modal-gear .store-sticky-header .yb-modal-close,
#modal-snack .store-sticky-header .yb-modal-close{
  position:static;
  margin:0;
  flex:0 0 auto;
}
.store-balance-row{
  display:flex;
  justify-content:flex-start;
  margin:2px 0 0;
}
.store-balance-pill{
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(15,18,35,.2);
  background:rgba(255,255,255,.92);
  color:#1b2530;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.35px;
}
.store-balance-pill strong{
  font-size:14px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.store-balance-pill.store-balance-tickets{
  border-color:rgba(104,214,152,.55);
  background:linear-gradient(180deg, rgba(240,255,246,.95), rgba(224,252,236,.95));
}
.store-balance-pill.store-balance-steps{
  border-color:rgba(255,213,106,.55);
  background:linear-gradient(180deg, rgba(255,248,232,.95), rgba(255,240,204,.95));
}

.gear-set-bonus{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,240,200,.9), rgba(255,214,120,.85), rgba(165,240,205,.85));
  box-shadow:0 10px 18px rgba(255,211,107,.25);
  border:1px solid rgba(255,211,107,.45);
  display:grid;
  gap:6px;
  text-align:center;
  color:#3a2a00;
}
.gear-set-bonus strong{
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.gear-set-bonus span{
  font-size:12px;
  color:#5a3a00;
}
.gear-set-bonus .gear-set-hint{
  font-size:11px;
  color:#7a4b00;
  font-style:italic;
}
.gear-set-bonus .gear-set-progress{
  font-size:12px;
  font-weight:800;
  color:#1f4b2c;
}
.gear-set-bonus.is-active{
  background:linear-gradient(135deg, rgba(200,255,210,.95), rgba(140,255,200,.9), rgba(255,233,176,.85));
  border-color:rgba(111,92,255,.35);
  box-shadow:0 10px 18px rgba(111,92,255,.2);
}

.gear-list,
.snack-list{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:12px;
  align-content:start;
}

.store-card,
.gear-card,
.snack-card{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(251,248,240,.92));
  border:1px solid rgba(111,92,255,.14);
  box-shadow:0 10px 18px rgba(15,18,35,.12);
}

.store-card-media-wrap{
  position:relative;
  min-height:92px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(111,92,255,.08), rgba(255,211,107,.14));
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
}

.gear-img,
.snack-img{
  width:84px;
  height:84px;
  object-fit:contain;
}

.gear-img-placeholder{
  width:84px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(111,92,255,.18), rgba(255,211,107,.2));
  color:var(--accent-deep);
  font-weight:800;
  font-size:12px;
  text-align:center;
  padding:8px;
}

.store-card-badge{
  position:absolute;
  top:8px;
  right:8px;
  border-radius:999px;
  background:rgba(20,24,44,.86);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.25px;
  text-transform:uppercase;
  padding:3px 8px;
}

.store-card-body,
.gear-info,
.snack-info{
  display:grid;
  gap:8px;
  min-width:0;
}

.store-card-head{
  display:grid;
  gap:4px;
}

.store-card-title,
.gear-name,
.snack-name{
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  color:var(--ink);
}

.store-card-subtitle,
.gear-tagline,
.snack-tagline{
  font-size:12px;
  color:var(--stone);
  font-style:italic;
  min-height:30px;
}

.store-card-callout{
  display:grid;
  gap:0;
}

.gear-perk,
.snack-perk{
  margin-top:2px;
  padding:7px 8px;
  border-radius:12px;
  background:linear-gradient(135deg, rgba(255,233,176,.9), rgba(255,208,102,.9), rgba(157,240,179,.8));
  box-shadow:0 6px 12px rgba(255,211,107,.2);
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:12px;
  color:#3e2e00;
}

.gear-perk strong,
.snack-perk strong{
  font-weight:800;
  letter-spacing:.2px;
  text-transform:uppercase;
}

.gear-perk span,
.snack-perk span{
  font-weight:700;
  word-break:break-word;
}

.store-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.store-card-cost,
.gear-cost,
.snack-cost{
  font-size:12px;
  color:var(--stone);
  font-weight:700;
}

.gear-buy,
.snack-buy{
  min-width:88px;
  justify-content:center;
  font-size:12px;
  padding:8px 12px;
  border-radius:999px;
}

.gear-buy.is-owned,
.gear-buy.is-soon,
.snack-buy.is-cooldown{
  background:rgba(255,255,255,.6);
  color:var(--stone);
  box-shadow:none;
}

.snack-buy.is-cooldown{
  font-size:10px;
}

@media (max-width: 520px) {
  .gear-list,
  .snack-list{
    grid-template-columns:1fr;
    gap:10px;
  }

  .store-card,
  .gear-card,
  .snack-card{
    grid-template-columns:84px 1fr;
    grid-template-rows:auto;
    gap:10px;
    align-items:start;
  }

  .store-card-media-wrap{
    min-height:84px;
    height:84px;
  }

  .store-card-meta{
    flex-wrap:wrap;
  }

  .gear-buy,
  .snack-buy{
    min-width:100%;
  }
}
