/* ══════════════════════════════════════════════════════════════
   SEASON PASS
   ══════════════════════════════════════════════════════════════ */

.ls-action-btn--pass {
  background: linear-gradient(135deg, #FFB7C5 0%, #FF8C9A 50%, #C06080 100%);
  color: #3a0020;
  box-shadow: 0 4px 0 #8a4560, 0 6px 16px rgba(0,0,0,.35);
  display: flex; flex-direction: column; gap: .1rem;
}
.pass-btn-label { font-size: 1rem; }
.pass-btn-timer {
  font-size: .55rem; letter-spacing: .1em;
  opacity: .75;
}

.pass-screen {
  display: flex; align-items: flex-start; justify-content: center;
  z-index: 9400;
}
.pass-card {
  width: 100%; max-width: 520px;
  background: linear-gradient(180deg, #2a1822 0%, #1a0f18 100%);
  border: 1px solid rgba(255,183,197,.2);
  border-radius: 20px;
  padding: 1.2rem;
  margin-top: 1rem;
}

.pass-header { text-align: center; margin-bottom: 1rem; }

/* Off-season placeholder: hide progress, status, tier list */
.pass-card.off-season .pass-progress,
.pass-card.off-season .pass-status,
.pass-card.off-season .pass-tiers { display: none; }
.pass-card.off-season .pass-header { margin-bottom: 1.6rem; }
.pass-card.off-season .pass-season-timer { font-size: 1rem; color: #FFD700; }
.pass-season-emoji { font-size: 2.2rem; }
.pass-season-name {
  font-family: 'Fredoka', sans-serif; font-weight: 700;
  font-size: 1.4rem; margin: .2rem 0;
  background: linear-gradient(135deg, #FFB7C5, #FF8C9A);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.pass-season-timer {
  font-size: .75rem; color: rgba(255,255,255,.55);
  margin: 0;
}

.pass-progress { margin: 1rem 0 .8rem; }
.pass-xp-label {
  display: flex; justify-content: space-between;
  font-size: .75rem; color: rgba(255,255,255,.75);
  margin-bottom: .3rem;
}
.pass-xp-bar {
  height: 8px; background: rgba(255,255,255,.08);
  border-radius: 4px; overflow: hidden;
}
.pass-xp-fill {
  height: 100%;
  background: linear-gradient(90deg, #FFB7C5, #FFD700);
  border-radius: 4px;
  width: 0; transition: width .5s ease;
}

.pass-status {
  display: flex; justify-content: space-between; align-items: center;
  padding: .6rem .8rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  font-size: .7rem;
  margin-bottom: .8rem;
}
.pass-upgrade-btn {
  font-family: 'Fredoka', sans-serif;
  font-size: .72rem; font-weight: 700;
  padding: .45rem 1rem;
  border: none; border-radius: 100px;
  background: linear-gradient(110deg, #FFD700 0%, #FFF8DC 45%, #FFD700 50%, #FFB800 55%, #FFD700 100%);
  background-size: 200% 100%;
  animation: shimmer 3s linear infinite;
  color: #4a2000; cursor: pointer;
  letter-spacing: .1em;
}

.pass-tiers {
  display: flex; flex-direction: column; gap: .4rem;
  max-height: 55vh; overflow-y: auto;
  padding-right: .3rem;
  margin-bottom: 1rem;
}

.pass-tier-row {
  display: grid;
  grid-template-columns: 42px 1fr 1fr;
  gap: .4rem;
  padding: .5rem;
  background: rgba(255,255,255,.03);
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.05);
}
.pass-tier-row.reached {
  background: rgba(255,183,197,.06);
  border-color: rgba(255,183,197,.2);
}
.pass-tier-number {
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  color: rgba(255,255,255,.5);
  font-size: .8rem;
}
.pass-tier-row.reached .pass-tier-number { color: #FFD700; }

.pass-reward {
  display: flex; align-items: center;
  padding: .4rem;
  border-radius: 8px;
  background: rgba(255,255,255,.03);
  position: relative;
  font-size: .7rem;
}
.pass-reward.empty { opacity: .2; }
.pass-reward.locked { filter: blur(2px); opacity: .5; }
.pass-reward.premium-reward {
  border: 1px solid rgba(255,215,0,.2);
}
.pass-reward.claimable {
  background: linear-gradient(135deg, rgba(255,215,0,.15), rgba(255,140,0,.08));
  border: 1px solid rgba(255,215,0,.4);
  cursor: pointer;
  animation: rewardPulse 1.5s ease-in-out infinite;
}
.pass-reward.claimed {
  opacity: .4;
}
.pass-reward.claimed::after {
  content: '✓';
  position: absolute; top: 4px; right: 6px;
  color: #2ecc71;
  font-weight: 700;
}
@keyframes rewardPulse {
  0%, 100% { box-shadow: 0 0 0 rgba(255,215,0,.3); }
  50%      { box-shadow: 0 0 12px rgba(255,215,0,.6); }
}
.pass-reward-icon {
  font-size: 1.2rem; margin-right: .3rem;
}
.pass-reward-label {
  flex: 1; color: rgba(255,255,255,.85);
}
