
.store-shell{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:34px 0 76px;
}

/* ---------- Store hero ---------- */
.store-hero{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(290px,.58fr);
  gap:26px;
  align-items:stretch;
  padding:34px;
  min-height:300px;
}

.store-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}

.store-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:4px;
}

.store-title-row h1{
  margin:0;
  color:#eef7fa;
  font-size:clamp(44px,6vw,68px);
  line-height:.98;
  letter-spacing:-.045em;
}

.store-currency-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border:1px solid rgba(126,158,173,.24);
  border-left:2px solid rgba(25,210,255,.44);
  border-right:2px solid rgba(255,70,57,.32);
  border-radius:5px;
  background:
    linear-gradient(105deg,rgba(9,31,41,.92),rgba(4,13,18,.97) 60%,rgba(25,9,10,.90));
  color:#a8c5d0;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.store-hero-copy>p{
  max-width:720px;
  margin:16px 0 0;
  color:#8ca3ad;
  font-size:14px;
  line-height:1.72;
}

.store-traits{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:20px;
}

.store-traits span{
  padding:6px 9px;
  border:1px solid rgba(137,164,176,.13);
  border-radius:5px;
  background:rgba(1,7,10,.42);
  color:#6f8791;
  font-size:9px;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.store-status{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:230px;
  padding:26px;
}

.store-status-kicker{
  color:#658796;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.store-status-value{
  display:block;
  margin-top:8px;
  color:#ffd36a;
  font-size:24px;
  line-height:1.15;
}

.store-status.ready .store-status-value{color:#65e5af}
.store-status.locked .store-status-value{color:#ffd36a}

.store-status-note{
  display:block;
  margin-top:5px;
  color:#5f7781;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.store-status-divider{
  height:1px;
  margin:18px 0 14px;
  background:
    linear-gradient(90deg,rgba(25,210,255,.46),rgba(175,189,197,.18),rgba(255,70,57,.34));
}

.store-status p{
  margin:0;
  color:#8299a3;
  font-size:11px;
  line-height:1.55;
}

/* ---------- Catalog ---------- */
.store-catalog{
  padding-top:54px;
}

.store-heading{
  margin-bottom:16px;
}

.store-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}

.store-package{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:220px;
  padding:19px;
  overflow:hidden;
  border:1px solid rgba(126,157,172,.26);
  border-left:2px solid rgba(25,210,255,.46);
  border-right:2px solid rgba(255,70,57,.36);
  border-radius:8px;
  background:
    linear-gradient(
      105deg,
      rgba(10,31,42,.96) 0%,
      rgba(6,17,23,.98) 38%,
      rgba(4,10,14,.99) 69%,
      rgba(28,10,11,.94) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(225,240,247,.04),
    inset 9px 0 22px rgba(25,210,255,.02),
    inset -9px 0 22px rgba(255,70,57,.018),
    0 7px 18px rgba(0,0,0,.26);
  transition:transform .16s ease,border-color .16s ease,filter .16s ease;
}

.store-package:before{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:0;
  height:1px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(25,210,255,.72) 20%,
      rgba(175,189,197,.35) 50%,
      rgba(255,70,57,.64) 80%,
      transparent
    );
}

.store-package:hover{
  transform:translateY(-2px);
  border-left-color:rgba(25,210,255,.72);
  border-right-color:rgba(255,70,57,.58);
  filter:brightness(1.04);
}

.store-package.featured{
  border-left-color:rgba(25,210,255,.72);
  border-right-color:rgba(255,70,57,.62);
  background:
    linear-gradient(
      105deg,
      rgba(10,42,55,.98),
      rgba(6,18,24,.99) 42%,
      rgba(4,10,14,.99) 68%,
      rgba(38,12,13,.96)
    );
}

.store-package:last-child{
  grid-column:span 2;
}

.store-package-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.store-package-label{
  color:#65808c;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.store-value-badge{
  padding:4px 7px;
  border:1px solid rgba(255,92,79,.20);
  border-radius:4px;
  background:rgba(91,20,17,.14);
  color:#ff9c94;
  font-size:7px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.store-price{
  margin-top:13px;
  color:#78909a;
  font-size:11px;
}

.store-price strong{
  margin-right:4px;
  color:#f0f8fb;
  font-size:30px;
  line-height:1;
}

.store-shards{
  margin-top:24px;
  color:#7fe8ff;
  font-size:31px;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1;
}

.store-shards span{
  display:block;
  margin-top:6px;
  color:#617b86;
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.store-bonus{
  min-height:18px;
  margin-top:8px;
  color:#7f98a3;
  font-size:9px;
}

.store-buy{
  position:relative;
  overflow:hidden;
  width:100%;
  height:40px;
  margin-top:auto;
  border:1px solid rgba(127,158,173,.28);
  border-left:2px solid rgba(25,210,255,.44);
  border-right:2px solid rgba(255,70,57,.34);
  border-radius:6px;
  background:
    linear-gradient(105deg,rgba(11,39,52,.95),rgba(6,18,24,.99) 54%,rgba(34,12,13,.94));
  color:#dceef4;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  cursor:pointer;
}

.store-buy:after{
  content:"";
  position:absolute;
  left:14%;
  right:14%;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#19d2ff,rgba(175,189,197,.4),#ff4639,transparent);
  opacity:.48;
}

.store-buy:disabled{
  cursor:not-allowed;
  opacity:.42;
}

/* ---------- Lower explanation area ---------- */
.store-info-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:12px;
  padding-top:54px;
}

.store-info-card{
  padding:24px;
}

.store-info-card h2{
  margin:4px 0 0;
  color:#e8f2f6;
  font-size:23px;
}

.store-steps{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:20px 0 0;
  padding:0;
  list-style:none;
}

.store-steps li{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:72px;
  padding:11px;
  border:1px solid rgba(130,158,171,.12);
  border-radius:6px;
  background:rgba(1,7,10,.40);
}

.store-steps li>b{
  display:flex;
  flex:0 0 28px;
  width:28px;
  height:28px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(25,210,255,.22);
  border-radius:50%;
  color:#7de4ff;
  font-size:10px;
}

.store-steps strong{
  display:block;
  color:#cddce2;
  font-size:11px;
}

.store-steps small{
  display:block;
  margin-top:2px;
  color:#667e88;
  font-size:9px;
  line-height:1.4;
}

.store-wallet-card{
  display:flex;
  flex-direction:column;
}

.store-wallet-card>p{
  margin:16px 0 0;
  color:#8299a3;
  font-size:12px;
  line-height:1.65;
}

.store-wallet-flow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding-top:24px;
}

.store-wallet-flow span{
  padding:8px 9px;
  border:1px solid rgba(127,156,169,.16);
  border-radius:5px;
  background:rgba(2,8,11,.48);
  color:#8ca4ae;
  font-size:9px;
  font-weight:800;
}

.store-wallet-flow i{
  color:#68dff9;
  font-style:normal;
  font-size:11px;
}

.sf-error{color:#ff8f87}

@media(max-width:960px){
  .store-hero,
  .store-info-grid{
    grid-template-columns:1fr;
  }

  .store-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .store-package:last-child{
    grid-column:span 2;
  }
}

@media(max-width:580px){
  .store-shell{
    width:min(100% - 20px,1180px);
    padding-top:20px;
  }

  .store-hero,
  .store-info-card{
    padding:20px;
  }

  .store-grid,
  .store-steps{
    grid-template-columns:1fr;
  }

  .store-package:last-child{
    grid-column:auto;
  }

  .store-title-row h1{
    font-size:42px;
  }
}
