/* ============================================================
   NOVASMP — store.css
   ============================================================ */

.store-section{padding:170px 0 120px;min-height:70vh;position:relative;z-index:2}

.store-cats{display:flex;justify-content:center;gap:12px;margin-bottom:44px;flex-wrap:wrap}
.store-cat{
  display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;
  background:var(--panel);border:1px solid var(--outline-2);color:var(--muted);
  font-family:var(--font-display);font-size:.72rem;letter-spacing:1px;text-transform:uppercase;
  cursor:pointer;transition:.18s var(--ease);
}
.store-cat:hover{color:#fff}
.store-cat.active{background:linear-gradient(135deg,var(--red-2),var(--red));border-color:transparent;color:#fff}

.store-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;
  max-width:1100px;margin:0 auto;position:relative;z-index:1;
}

.store-card{
  position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--outline);
  border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:14px;
  transition:border-color .25s var(--ease),transform .1s linear,box-shadow .25s var(--ease);
}
.store-card:hover{border-color:rgba(227,30,36,.4);box-shadow:0 18px 44px -22px var(--red-glow)}
.store-card.featured{border-color:rgba(227,30,36,.45);background:linear-gradient(160deg,rgba(227,30,36,.08),var(--panel) 55%)}
.store-card .featured-tag{
  position:absolute;top:16px;right:-32px;transform:rotate(40deg);background:linear-gradient(135deg,var(--red-2),var(--red));
  color:#fff;font-family:var(--font-display);font-size:.62rem;letter-spacing:1.5px;text-transform:uppercase;
  padding:5px 40px;box-shadow:0 4px 12px -4px rgba(0,0,0,.5);z-index:1;
}

.store-card-img{
  width:100%;aspect-ratio:1/1;border-radius:12px;background:var(--panel-2);display:grid;place-items:center;
  overflow:hidden;position:relative;z-index:1;cursor:pointer;
}
.store-card-img img{width:70%;height:70%;object-fit:contain;image-rendering:pixelated}
.store-card-img i{font-size:2.4rem;color:var(--red-2)}

.store-card h3{font-size:1.05rem;position:relative;z-index:1}
.store-card-desc{
  color:var(--muted);font-size:.86rem;line-height:1.55;flex:1;position:relative;z-index:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.store-details-btn{
  align-self:flex-start;color:var(--red-2);font-size:.8rem;background:none;border:0;cursor:pointer;
  display:flex;align-items:center;gap:5px;position:relative;z-index:1;padding:0;
}
.store-details-btn:hover{text-decoration:underline}

.store-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}
.store-price{font-family:var(--font-display);font-size:1.15rem;color:var(--red-2)}
.store-price .old{
  font-family:var(--font-body);font-size:.78rem;color:var(--dim);text-decoration:line-through;margin-right:6px;
}

/* ---- package details modal ---- */
.pkg-modal{max-width:520px;text-align:left}
.pkg-modal .modal-close{top:20px;right:20px}
.pkg-modal-img{
  width:100%;aspect-ratio:16/9;border-radius:12px;background:var(--panel-2);margin-bottom:20px;
  display:grid;place-items:center;overflow:hidden;
}
.pkg-modal-img img{width:60%;height:60%;object-fit:contain;image-rendering:pixelated}
.pkg-modal-img i{font-size:3rem;color:var(--red-2)}
.pkg-modal h3{font-size:1.3rem;margin-bottom:14px}
.pkg-modal-desc{
  color:var(--muted);font-size:.92rem;line-height:1.7;max-height:280px;overflow-y:auto;margin-bottom:24px;
}
.pkg-modal-desc p{margin-bottom:10px}
.pkg-modal-desc p:last-child{margin-bottom:0}
.pkg-modal-desc ul{padding-left:20px;margin-bottom:10px}
.pkg-modal-desc strong{color:#fff}
.pkg-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}

@media (max-width:480px){
  .store-section{padding:150px 0 80px}
  .store-grid{grid-template-columns:1fr}
}
