/* Global Styles */
:root {
  --primary: #2c5aa0;
  --secondary: #6c757d;
  --success: #28a745;
  --danger: #dc3545;
  --warning: #ffc107;
  --info: #17a2b8;
  --light: #f8f9fa;
  --dark: #343a40;
}

* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: #f8f9fa;
}

/* NAV: Login/Register pills (mobile friendly) */
.navbar .nav-pill {
  border: 1px solid rgba(255,255,255,0.6);
  border-radius: 999px;
  padding: .45rem 1rem;
  line-height: 1;
  font-weight: 600;
  color: #fff;
}
.navbar .nav-pill:hover { background: rgba(255,255,255,0.12); color:#fff; }
.navbar .nav-pill.nav-register { border-color:#fff; background: rgba(255,255,255,0.15); }

@media (max-width:576px){
  .navbar .nav-pill{
    padding:.6rem 1rem;
    margin-bottom:.35rem;
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    font-size:.95rem;
    min-height:44px;
  }
}

/* ---------- Hero Section (no overlay intercepts) ---------- */
.hero-section {
  background: linear-gradient(135deg, var(--primary) 0%, #1e3a8a 100%);
  color:#fff;
  padding:120px 0 80px;
  position:relative;
  overflow:hidden;
  z-index:0;              /* base stacking context */
}
.hero-section::before{
  content:'';
  position:absolute;
  inset:0;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><polygon fill="%23ffffff10" points="0,1000 1000,0 1000,1000"/></svg>');
  background-size:cover;
  pointer-events:none;   /* <<< critical: cannot steal clicks */
  z-index:0;
}

/* CTA container & buttons are forced above everything */
.hero-buttons{
  position:relative;
  z-index:30;            /* high above overlay/cards */
}
.hero-buttons .btn{
  padding:12px 30px;
  font-weight:600;
  border-radius:50px;
  margin:5px;
  transition:all .3s ease;

  position:relative;
  z-index:31;            /* above hero-buttons */
  touch-action:manipulation;
  pointer-events:auto;   /* <<< explicit */
}
.hero-buttons .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 5px 15px rgba(0,0,0,.2);
}

/* Animation area never intercepts taps */
.hero-section .hero-animation{
  pointer-events:none;
  position:relative;
  height:300px;
  z-index:1;
}

/* Floating cards (decorations only) */
.floating-card{
  position:absolute;
  pointer-events:none;   /* <<< explicit */
  background:rgba(255,255,255,.1);
  backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:15px;
  padding:20px;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  animation:float 3s ease-in-out infinite;
  box-shadow:0 8px 32px rgba(0,0,0,.1);
  width:140px;
  text-align:center;
}
.floating-card i{ font-size:2rem; margin-bottom:10px; }
.floating-card span{ font-weight:600; font-size:.9rem; }
.card1{ top:20%; left:10%; animation-delay:0s; }
.card2{ top:50%; right:10%; animation-delay:1s; }
.card3{ bottom:20%; left:30%; animation-delay:2s; }
@keyframes float{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }

/* Feature Section */
.section-title{ font-weight:700; color:var(--dark); margin-bottom:1rem; }
.section-subtitle{ color:var(--secondary); font-size:1.1rem; }

.feature-card{
  padding:2rem 1rem;
  border-radius:15px;
  transition:all .3s ease;
  background:#fff;
  box-shadow:0 5px 15px rgba(0,0,0,.08);
  height:100%;
}
.feature-card:hover{ transform:translateY(-10px); box-shadow:0 15px 30px rgba(0,0,0,.15); }
.feature-icon{
  width:80px; height:80px;
  background:linear-gradient(135deg, var(--primary), #1e3a8a);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1rem; color:#fff; font-size:2rem;
}

/* Network Cards */
.network-card{
  padding:2rem 1rem;
  border-radius:15px;
  transition:all .3s ease;
  background:#fff; box-shadow:0 5px 15px rgba(0,0,0,.08);
  cursor:pointer;
}
.network-card:hover{ transform:scale(1.05); }
.network-logo{
  width:80px; height:80px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1rem; font-size:2rem; color:#fff;
}
.network-logo.mtn{ background:#ffcc00; color:#000; }
.network-logo.airteltigo{ background:#ff0000; }
.network-logo.vodafone{ background:#e60000; }
.network-logo.telecel{ background:#00aaff; }

/* WhatsApp Float */
.whatsapp-float{ position:fixed; bottom:25px; right:25px; z-index:1000; }
.whatsapp-link{
  display:flex; align-items:center; justify-content:center;
  width:60px; height:60px; background:#25D366; color:#fff; border-radius:50%;
  text-decoration:none; font-size:1.5rem;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:all .3s ease; animation:pulse 2s infinite;
}
.whatsapp-link:hover{ transform:scale(1.1); color:#fff; box-shadow:0 6px 25px rgba(37,211,102,.6); }
@keyframes pulse{ 0%{transform:scale(1)} 50%{transform:scale(1.1)} 100%{transform:scale(1)} }

/* Simple Animations */
.animate-fade-in{ animation: fadeIn .6s ease-in; }
.animate-slide-up{ animation: slideUp .6s ease-out; }
.animate-slide-down{ animation: slideDown .6s ease-out; }
@keyframes fadeIn{ from{opacity:0} to{opacity:1} }
@keyframes slideUp{ from{opacity:0; transform:translateY(30px)} to{opacity:1; transform:translateY(0)} }
@keyframes slideDown{ from{opacity:0; transform:translateY(-30px)} to{opacity:1; transform:translateY(0)} }

/* Status Badges */
.badge.status-pending{ background:var(--warning); color:#000; }
.badge.status-processing{ background:var(--info); color:#fff; }
.badge.status-complete{ background:var(--success); color:#fff; }
.badge.status-failed{ background:var(--danger); color:#fff; }

/* Responsive */
@media (max-width:768px){
  .hero-section{ padding:100px 0 60px; text-align:center; }
  .display-4{ font-size:2.5rem; }
  .hero-section .hero-animation{ height:200px; margin-top:2rem; }
  .floating-card{ padding:15px; font-size:.9rem; width:120px; }
  .floating-card i{ font-size:1.5rem; }
  .whatsapp-float{ bottom:15px; right:15px; }
  .whatsapp-link{ width:50px; height:50px; font-size:1.2rem; }
}
@media (max-width:576px){
  .feature-card, .network-card{ margin-bottom:1rem; }
  .hero-buttons .btn{
    display:block; width:100%; margin:10px 0;
    min-height:48px; font-size:1.05rem;
  }
}
