/* =============================================================
   SHARED SIDEBAR — Bagèt Sant Dans Ayiti Inc
   Included by every page except index-v3.html (self-contained)
============================================================= */
:root{
  --sb-w:220px;
  --purple:#A855C8;
  --gold:#C9960C;
  --gold-lt:#e8b84b;
  --black:#080808;
  --ff-body:'Jost',sans-serif;
}

/* Body offset */
body{margin-left:var(--sb-w)}

/* ── Sidebar shell ── */
.sidebar{
  position:fixed;top:0;left:0;
  width:var(--sb-w);height:100vh;
  background:#111111;
  border-right:1px solid rgba(168,85,200,.20);
  z-index:1000;
  display:flex;flex-direction:column;
  overflow-y:auto;scrollbar-width:none;
}
.sidebar::-webkit-scrollbar{display:none}

/* ── Logo ── */
.sb-logo{
  text-align:center;
  padding:30px 20px 18px;
  border-bottom:1px solid rgba(255,255,255,.06);
  flex-shrink:0;
}
.sb-logo a{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none}
.sb-logo img{width:140px;margin:0 auto;display:block}
.sb-logo-sub{
  display:block;
  font-family:var(--ff-body);font-size:8.5px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;
  color:rgba(201,150,12,.65);
}

/* ── Nav links ── */
.sb-nav{flex:1;padding:10px 0}
.sb-link{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:12px 24px;
  font-family:var(--ff-body);font-size:.75rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.50);
  border-left:2px solid transparent;
  background:none;border-top:none;border-right:none;border-bottom:none;
  cursor:pointer;text-align:left;
  text-decoration:none;
  transition:color .2s,border-color .2s,background .2s;
}
.sb-link:hover,.sb-link.active{
  color:var(--gold);
  border-left-color:var(--purple);
  background:rgba(168,85,200,.07);
}
.sb-chevron{
  width:8px;height:8px;fill:currentColor;
  transition:transform .25s;flex-shrink:0;
}
.sb-has-sub.open .sb-chevron{transform:rotate(180deg)}

/* Programs sub-list */
.sb-sub{max-height:0;overflow:hidden;transition:max-height .35s ease}
.sb-has-sub.open .sb-sub{max-height:360px}
.sb-sub li a{
  display:block;
  padding:8px 24px 8px 38px;
  font-family:var(--ff-body);font-size:.68rem;font-weight:400;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.36);
  text-decoration:none;
  transition:color .2s,padding-left .2s;
}
.sb-sub li a:hover{color:var(--gold);padding-left:44px}

/* ── Donate button ── */
.sb-donate-wrap{padding:16px 16px 0;flex-shrink:0}
.sb-donate{
  display:block;width:100%;padding:11px;
  font-family:var(--ff-body);font-size:.7rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  background:var(--gold);color:var(--black);
  text-align:center;border-radius:2px;text-decoration:none;
  transition:background .2s;
}
.sb-donate:hover{background:var(--gold-lt)}

/* ── Social + copyright ── */
.sb-footer{
  padding:18px 14px 20px;
  border-top:1px solid rgba(255,255,255,.07);
  margin-top:16px;flex-shrink:0;
}
.sb-social-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:7px;margin-bottom:13px;
}
.sb-social-grid a{
  display:flex;align-items:center;justify-content:center;
  height:34px;border-radius:2px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.40);
  transition:background .2s,border-color .2s,color .2s;
}
.sb-social-grid a:hover{
  background:rgba(201,150,12,.12);
  border-color:rgba(201,150,12,.3);
  color:var(--gold);
}
.sb-social-grid svg{width:14px;height:14px;fill:currentColor}
.sb-copy{
  font-family:var(--ff-body);font-size:8.5px;letter-spacing:.05em;
  color:rgba(255,255,255,.18);text-align:center;line-height:1.6;
}

/* ── Mobile top bar ── */
.mob-topbar{
  display:none;
  position:fixed;top:0;left:0;right:0;height:56px;
  background:rgba(8,8,8,.97);
  border-bottom:1px solid rgba(168,85,200,.22);
  z-index:1100;
  align-items:center;justify-content:space-between;
  padding:0 20px;
}
.mob-topbar-logo img{height:38px;width:auto;display:block}
.mob-burger{
  display:flex;flex-direction:column;gap:5px;
  padding:7px;cursor:pointer;background:none;border:none;
}
.mob-burger span{
  display:block;width:22px;height:2px;
  background:#ffffff;border-radius:2px;transition:.28s;
}
.mob-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mob-burger.open span:nth-child(2){opacity:0}
.mob-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Backdrop ── */
.sb-backdrop{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.62);z-index:999;
  opacity:0;transition:opacity .3s;cursor:pointer;
}
.sb-backdrop.show{display:block}
.sb-backdrop.visible{opacity:1}

/* ── Mobile responsive ── */
@media(max-width:768px){
  body{margin-left:0 !important;padding-top:56px}
  .sidebar{
    transform:translateX(-100%);
    transition:transform .35s cubic-bezier(.16,1,.3,1);
    z-index:1100;
  }
  .sidebar.open{transform:translateX(0)}
  .mob-topbar{display:flex}
  .sb-backdrop{display:block}
}
