/* ============================================
   GAZEEPAY — Public Site Styles
   ============================================ */
:root{
  --gp-primary:#1947E5;
  --gp-primary-2:#5B8DEF;
  --gp-dark:#0B1437;
  --gp-text:#1f2937;
  --gp-muted:#6b7280;
  --gp-bg:#f6f9ff;
  --gp-card:#ffffff;
  --gp-grad: linear-gradient(135deg,#1947E5 0%,#5B8DEF 60%,#7AB8FF 100%);
  --gp-grad-soft: linear-gradient(135deg,rgba(25,71,229,.08),rgba(91,141,239,.04));
  --gp-shadow: 0 20px 50px rgba(20,40,90,.10);
  --gp-radius: 18px;
}
*{box-sizing:border-box}
html,body{scroll-behavior:smooth}
body.site-body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--gp-text);
  background:var(--gp-bg);
  padding-top:78px;
}

/* ===== Navbar ===== */
.site-navbar{
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(20,40,90,.06);
  transition:.3s ease;
}
.site-navbar.scrolled{box-shadow:0 8px 30px rgba(20,40,90,.08)}
.brand-text{font-weight:800;letter-spacing:.5px;color:var(--gp-dark);font-size:1.35rem}
.brand-mark{
  width:38px;height:38px;border-radius:12px;
  background:var(--gp-grad);
  color:#fff;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px rgba(25,71,229,.35);
}
.navbar .nav-link{font-weight:500;color:#1f2937;padding:.5rem 1rem;border-radius:10px}
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--gp-primary);background:rgba(25,71,229,.06)}

.btn-primary-grad{
  background:var(--gp-grad);color:#fff;border:none;border-radius:12px;
  font-weight:600;padding:.55rem 1.2rem;
  box-shadow:0 10px 24px rgba(25,71,229,.28);
}
.btn-primary-grad:hover{filter:brightness(1.05);color:#fff;transform:translateY(-1px)}
.btn-outline-grad{
  background:#fff;border:1.5px solid rgba(25,71,229,.25);color:var(--gp-primary);
  border-radius:12px;font-weight:600;padding:.55rem 1.2rem;
}
.btn-outline-grad:hover{border-color:var(--gp-primary);color:#fff;background:var(--gp-primary)}

/* ===== Hero ===== */
.hero{
  position:relative;overflow:hidden;
  padding:5rem 0 6rem;
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(25,71,229,.15), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(91,141,239,.18), transparent 60%),
    linear-gradient(180deg,#f6f9ff,#fff);
}
.hero h1{font-weight:800;font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;color:var(--gp-dark)}
.hero .lead{color:var(--gp-muted);font-size:1.1rem;max-width:560px}
.gradient-text{
  background:var(--gp-grad);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .hero-card{
  background:rgba(255,255,255,.65);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:1.5rem;
  box-shadow:var(--gp-shadow);
}
.hero-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}
.hero-stats .stat{background:#fff;border-radius:14px;padding:.8rem 1rem;box-shadow:0 6px 18px rgba(20,40,90,.06)}
.hero-stats .stat strong{display:block;font-size:1.3rem;color:var(--gp-primary)}
.hero-stats .stat span{color:var(--gp-muted);font-size:.85rem}

/* ===== Section ===== */
.section{padding:5rem 0}
.section-eyebrow{
  display:inline-block;font-weight:600;font-size:.85rem;
  color:var(--gp-primary);background:rgba(25,71,229,.08);
  border-radius:999px;padding:.35rem .8rem;letter-spacing:.4px;
}
.section h2{font-weight:800;color:var(--gp-dark);font-size:clamp(1.6rem,3vw,2.4rem)}
.section p.lead{color:var(--gp-muted);max-width:720px}

/* ===== Cards ===== */
.feature-card{
  background:var(--gp-card);border-radius:var(--gp-radius);
  border:1px solid rgba(20,40,90,.05);padding:1.6rem;height:100%;
  transition:.3s ease;box-shadow:0 4px 14px rgba(20,40,90,.04);
}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(25,71,229,.12);border-color:rgba(25,71,229,.2)}
.feature-icon{
  width:54px;height:54px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--gp-grad-soft);color:var(--gp-primary);font-size:1.5rem;margin-bottom:1rem;
}
.feature-card h5{font-weight:700;color:var(--gp-dark)}
.feature-card p{color:var(--gp-muted);margin:0}

.glass-card{
  background:rgba(255,255,255,.6);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.6);border-radius:var(--gp-radius);
  padding:1.5rem;box-shadow:var(--gp-shadow);
}

/* ===== CTA strip ===== */
.cta-strip{
  background:var(--gp-grad);color:#fff;border-radius:24px;
  padding:2.4rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.2rem;
  box-shadow:0 25px 60px rgba(25,71,229,.25);
}
.cta-strip h3{font-weight:800;margin:0}
.cta-strip .btn{background:#fff;color:var(--gp-primary);font-weight:700}

/* ===== Footer ===== */
.site-footer{background:var(--gp-dark);color:#fff;padding:3.5rem 0 2rem;margin-top:5rem}
.site-footer h6{font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.85rem;margin-bottom:1rem}
.footer-links li{margin-bottom:.5rem}
.footer-links a{color:rgba(255,255,255,.7);text-decoration:none;transition:.2s}
.footer-links a:hover{color:#fff}

/* ===== Forms ===== */
.form-control,.form-select{
  border-radius:12px;padding:.7rem 1rem;border:1px solid rgba(20,40,90,.12);
}
.form-control:focus,.form-select:focus{border-color:var(--gp-primary);box-shadow:0 0 0 .2rem rgba(25,71,229,.12)}
.form-label{font-weight:500;color:var(--gp-dark)}

/* ===== Auth ===== */
.auth-wrap{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:3rem 0;
  background:
    radial-gradient(900px 400px at 10% 0%, rgba(25,71,229,.18), transparent 60%),
    radial-gradient(700px 400px at 90% 100%, rgba(91,141,239,.18), transparent 60%),
    #f6f9ff;
}
.auth-card{
  background:#fff;border-radius:24px;padding:2.4rem;box-shadow:var(--gp-shadow);
  border:1px solid rgba(20,40,90,.05);
}
.auth-side{
  border-radius:24px;background:var(--gp-grad);color:#fff;padding:2.4rem;
  position:relative;overflow:hidden;
}
.auth-side::after{
  content:"";position:absolute;width:340px;height:340px;border-radius:50%;
  background:rgba(255,255,255,.08);right:-100px;bottom:-100px;
}

/* ===== Animations ===== */
.fade-up{opacity:0;transform:translateY(20px);transition:.7s ease}
.fade-up.is-visible{opacity:1;transform:none}

/* ===== Policy / Terms pages ===== */
.policy-content{background:#fff;border-radius:18px;padding:2.2rem;box-shadow:0 6px 20px rgba(20,40,90,.05);line-height:1.75}
.policy-content h3{color:var(--gp-dark);margin-top:1.5rem;font-weight:700;font-size:1.2rem}
.policy-content p{color:#374151}

/* ===== Alerts ===== */
.alert{border-radius:12px;border:none}

/* ===== Responsive ===== */
@media (max-width: 991px){
  body.site-body{padding-top:72px}
  .site-navbar{background:#fff}
}
