/* =========================================================================
   POLYGLOT.FI — Demo & Production UI Badges
   Applied globally to mark demo/preview content vs live data.
   ========================================================================= */

/* --- Demo Content Badge ------------------------------------------------- */
.demo-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: linear-gradient(135deg, #ff6b35, #f7931a);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 4px;
  z-index: 10;
  box-shadow: 0 2px 6px rgba(255, 107, 53, 0.4);
  pointer-events: none;
}

/* Ensure parent is positioned so badge anchors correctly */
.launch-card,
.nft-card,
.project-card,
.trading-card,
.token-row,
.stat-card {
  position: relative;
}

/* --- Coming Soon Badge (for disabled wallet options) -------------------- */
.coming-soon-badge {
  display: inline-block;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.5);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: 6px;
  vertical-align: middle;
}

/* Wallet option with coming-soon state */
.wallet-option.coming-soon {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.wallet-option.coming-soon:hover {
  transform: none;
  box-shadow: none;
}

/* --- Live Data Indicator ------------------------------------------------ */
.live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  color: #00e676;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.live-indicator::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00e676;
  animation: live-pulse 1.5s ease-in-out infinite;
}
@keyframes live-pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(0, 230, 118, 0.4); }
  50% { opacity: 0.7; box-shadow: 0 0 0 4px rgba(0, 230, 118, 0); }
}

/* --- Stat loading placeholder ------------------------------------------ */
.stat-loading {
  display: inline-block;
  width: 60px;
  height: 14px;
  background: linear-gradient(90deg, rgba(255,255,255,0.05) 25%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.05) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 3px;
  vertical-align: middle;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
