/* ═══════════════════════════════════════════════════════════════════════════════
   HelixJumPAY — Variables, Reset & Base
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ─── Reset ──────────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  font-size: 16px; scroll-behavior: smooth;
  overflow-x: hidden; width: 100%;
}
body {
  font-family: 'Poppins', sans-serif;
  background: #0d0020;
  min-height: 100vh; width: 100%;
  overflow-x: hidden;
  color: #fff;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font-family: inherit; }
ul { list-style: none; }

/* ─── CSS Variables ──────────────────────────────────────────────────────────── */
:root {
  --pink:        #FF6B9D;
  --pink-light:  #FF8CC8;
  --pink-dark:   #E0558A;
  --dark:        #4A0020;
  --dark-mid:    #7a0035;
  --green:       #00C97A;
  --green-dark:  #00A063;
  --red:         #FF4D6D;
  --blue:        #4D9EFF;
  --orange:      #FF8C42;
  --white:       #FFFFFF;
  --card-bg:     rgba(255,255,255,0.92);
  --shadow:      0 8px 32px rgba(74,0,32,0.10);
  --shadow-hover:0 16px 48px rgba(74,0,32,0.18);
  --radius:      16px;
  --radius-btn:  50px;
  --radius-sm:   8px;
  --transition:  0.25s ease;
}

/* ─── Pages / Router ────────────────────────────────────────────────────────── */
.page { display: none; min-height: 100vh; width: 100%; max-width: 100%; overflow-x: hidden; }
.page.active { display: block; }

/* ─── Animations ────────────────────────────────────────────────────────────── */
@keyframes fadeIn    { from { opacity:0 } to { opacity:1 } }
@keyframes slideUp   { from { opacity:0; transform:translateY(24px) } to { opacity:1; transform:translateY(0) } }
@keyframes pulse     { 0%,100%{transform:scale(1)} 50%{transform:scale(1.06)} }
@keyframes float     { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes spin      { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes spin-slow { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes shimmer   { 0%{background-position:-400px 0} 100%{background-position:400px 0} }
@keyframes popIn     { 0%{transform:scale(0.7);opacity:0} 80%{transform:scale(1.05)} 100%{transform:scale(1);opacity:1} }
@keyframes toastIn   { from{opacity:0;transform:translateX(60px)} to{opacity:1;transform:translateX(0)} }
@keyframes toastOut  { from{opacity:1;transform:translateX(0)} to{opacity:0;transform:translateX(60px)} }
@keyframes confetti  { 0%{transform:translateY(-10px) rotate(0deg);opacity:1} 100%{transform:translateY(100vh) rotate(720deg);opacity:0} }

.anim-fade    { animation: fadeIn  0.4s ease both; }
.anim-slide   { animation: slideUp 0.5s ease both; }
.anim-pulse   { animation: pulse 2s infinite; }
.anim-float   { animation: float 3s ease-in-out infinite; }

/* ─── Utilities ──────────────────────────────────────────────────────────────── */
.flex     { display: flex; }
.flex-col { display: flex; flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center  { justify-content: center; }
.gap-sm  { gap: 8px; }
.gap-md  { gap: 16px; }
.gap-lg  { gap: 24px; }
.mt-sm { margin-top: 8px; }
.mt-md { margin-top: 16px; }
.mt-lg { margin-top: 24px; }
.mb-md { margin-bottom: 16px; }
.text-center { text-align: center; }
.text-sm { font-size: 13px; }
.text-muted { color: rgba(255,255,255,0.5); }
.font-bold { font-weight: 700; }
.hidden { display: none !important; }
.w-full { width: 100%; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.divider { height: 1px; background: rgba(255,255,255,0.07); margin: 20px 0; }

/* ─── Scrollbar ──────────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0d0020; }
::-webkit-scrollbar-thumb { background: var(--pink-light); border-radius: 50px; }
