:root{
  --ink:#172033;
  --muted:#667085;
  --brand:#6d28d9;
  --brand2:#ec4899;
  --accent:#f59e0b;
  --paper:#f8f7ff;
  --card:#fff;
  --line:#e7e5f2;
  --radius:22px;
  --shadow:0 18px 50px rgba(34,20,80,.10);
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
  min-height:100%;
}

body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--ink);
  background:var(--paper);
}

a{text-decoration:none}

.main-nav{
  background:linear-gradient(100deg,#24114f,#6d28d9 65%,#be185d);
  box-shadow:0 10px 35px rgba(36,17,79,.22);
}

.navbar-brand{font-size:1.7rem;letter-spacing:-1px}
.navbar-brand span{color:#fbbf24}
.nav-link{color:rgba(255,255,255,.85)!important;font-weight:700}
.nav-link:hover{color:#fff!important}

.btn-donate{
  background:#fbbf24;
  color:#2b174e;
  font-weight:900;
  border:0;
  border-radius:999px;
  padding:.58rem 1rem;
}

.hero{
  background:
    radial-gradient(circle at 85% 20%,rgba(236,72,153,.35),transparent 30%),
    linear-gradient(120deg,#24114f,#6d28d9);
  color:#fff;
  padding:86px 0 110px;
  border-radius:0 0 42px 42px;
}

.hero h1{
  font-size:clamp(2.4rem,6vw,5.4rem);
  font-weight:950;
  letter-spacing:-3px;
  max-width:900px;
}

.hero p{
  font-size:1.12rem;
  max-width:680px;
  color:#ede9fe;
}

.section-title{
  font-weight:950;
  letter-spacing:-1.5px;
}

.blog-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}

.blog-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 8px 25px rgba(30,20,70,.06);
  transition:.22s;
}

.blog-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow);
}

.blog-card img{
  width:100%;
  height:150px;
  object-fit:cover;
  background:#ddd6fe;
}

.blog-card-body{padding:16px}

.blog-card h3{
  font-size:1rem;
  font-weight:900;
  line-height:1.3;
  margin:0 0 8px;
}

.blog-meta{
  font-size:.78rem;
  color:var(--muted);
}

.content-card,
.dashboard-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.article-content p{
  font-size:1.08rem;
  line-height:1.85;
}

.article-content img,
.article-content video{
  width:100%;
  border-radius:18px;
  margin:16px 0;
}

.site-footer{
  background:#1e103d;
  color:#ddd6fe;
}

.site-footer a{color:#fff}

/* FIX THE WHITE GAP UNDER THE DASHBOARD SIDEBAR */
body:has(.dashboard-shell) .site-footer{
  margin-top:0!important;
}

body:has(.dashboard-shell) main{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

.pagination .page-link{
  border-radius:12px;
  margin:0 3px;
  border:0;
  color:var(--brand);
  font-weight:800;
}

.pagination .active .page-link{
  background:var(--brand);
}

.stripe-card-element{
  border:1px solid #d0d5dd;
  border-radius:12px;
  padding:14px;
  background:#fff;
}

/* DASHBOARD */
.dashboard-shell{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  min-height:calc(100vh - 70px);
  width:100%;
  align-items:stretch;
  margin:0;
  padding:0;
}

.dashboard-sidebar{
  background:#211140;
  color:#fff;
  padding:24px;
  width:240px;
  min-width:240px;
  height:100%;
  min-height:100%;
  align-self:stretch;
  margin:0;
  border:0;
}

.dashboard-sidebar a{
  display:block;
  color:#ddd6fe;
  padding:12px 14px;
  border-radius:12px;
  margin-bottom:5px;
  font-weight:700;
}

.dashboard-sidebar a:hover{
  background:#6d28d9;
  color:#fff;
}

.dashboard-main{
  padding:28px;
  min-width:0;
  width:100%;
  min-height:inherit;
  margin:0;
}

.dashboard-sidebar{
  min-height:inherit;
}

.dashboard-main > :last-child{
  margin-bottom:0;
}

.block-row{
  border:1px dashed #c4b5fd;
  border-radius:16px;
  padding:14px;
  background:#faf9ff;
}

.form-control,
.form-select{
  border-radius:12px;
  padding:.72rem .9rem;
}

.btn-primary{
  background:var(--brand);
  border-color:var(--brand);
  border-radius:12px;
  font-weight:800;
}

.project-card img{
  height:220px;
  object-fit:cover;
}

@media(max-width:1199px){
  .blog-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:991px){
  .dashboard-shell{
    display:block;
    min-height:auto;
    width:100%;
  }

  .dashboard-sidebar{
    display:flex;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:12px;
    width:100%;
    min-width:0;
    min-height:auto;
    height:auto;
  }

  .dashboard-sidebar a{
    white-space:nowrap;
    margin:0;
    flex:0 0 auto;
  }

  .dashboard-main{
    min-height:calc(100vh - 130px);
  }

  .hero{
    padding:65px 0 85px;
  }
}

@media(max-width:767px){
  .blog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .blog-card img{
    height:125px;
  }

  .dashboard-main{
    padding:16px;
  }

  .hero h1{
    letter-spacing:-2px;
  }
}