/* ================================================================
   NABARUN SANGH — Pages CSS (index, ngo, events, members)
   Place at: assets/css/pages/ns-pages.css
   ================================================================ */
:root{
  --blue:#000080;--blue-d:#00005a;--blue-l:#e6e6ff;
  --saf:#FF9933;--saf-d:#e6821a;--saf-l:#fff3e0;
  --grn:#138808;--grn-l:#e8f5e2;
  --red:#cc0000;--red-l:#ffebeb;
  --card:#fff;--bg:#f8f9fb;--border:#e5e7eb;
  --text:#111827;--muted:#6b7280;
  --r:16px;--r-sm:10px;
  --sh:0 1px 4px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.06);
  --sh-md:0 4px 20px rgba(0,0,0,.10);
  --sh-lg:0 10px 40px rgba(0,0,0,.14);
}

/* ── AOS OVERRIDE ─────────────────── */
[data-aos]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
[data-aos].aos-animate{opacity:1;transform:translateY(0);}

/* ── HERO ────────────────────────── */
.ns-hero-wrap{position:relative;overflow:hidden;background:var(--blue-d);}
.swiper-hero{width:100%;}
.ns-hero-slide{
  position:relative;min-height:88vh;
  background-size:cover;background-position:center;
  display:flex!important;flex-direction:column;justify-content:flex-end;
}
@media(max-width:767px){.ns-hero-slide{min-height:78vh;}}
.ns-hero-slide video,.ns-hero-slide iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:none;}
.ns-hero-overlay{position:absolute;inset:0;background:linear-gradient(165deg,rgba(0,0,30,.2) 0%,rgba(0,0,100,.92) 100%);}
.ns-hero-body{position:relative;z-index:2;padding:0 22px 72px;max-width:720px;}
@media(min-width:992px){.ns-hero-body{padding:0 80px 100px;}}
.ns-hero-pill{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(6px);color:#fff;
  font-size:11px;font-weight:700;padding:6px 16px;border-radius:30px;
  margin-bottom:16px;text-transform:uppercase;letter-spacing:.8px;
}
.ns-hero-title{font-size:28px;font-weight:900;color:#fff;line-height:1.12;margin-bottom:10px;}
@media(min-width:768px){.ns-hero-title{font-size:50px;}}
@media(min-width:1200px){.ns-hero-title{font-size:60px;}}
.ns-hero-title span{color:var(--saf);}
.ns-hero-sub{font-size:15px;color:rgba(255,255,255,.85);font-weight:600;margin-bottom:6px;}
.ns-hero-desc{font-size:14px;color:rgba(255,255,255,.75);margin-bottom:24px;line-height:1.8;max-width:540px;}
.ns-hero-btn-wrap{display:flex;gap:12px;flex-wrap:wrap;}
.ns-hbtn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:35px;font-size:14px;font-weight:800;text-decoration:none;transition:all .22s;border:none;cursor:pointer;font-family:inherit;}
.ns-hbtn-primary{background:var(--saf);color:#fff;box-shadow:0 6px 22px rgba(255,153,51,.4);}
.ns-hbtn-primary:hover{background:var(--saf-d);color:#fff;transform:translateY(-2px);}
.ns-hbtn-ghost{background:rgba(255,255,255,.13);color:#fff;border:2px solid rgba(255,255,255,.35);}
.ns-hbtn-ghost:hover{background:rgba(255,255,255,.25);color:#fff;}
/* Hero swiper */
.swiper-hero .swiper-pagination-bullet{background:#fff;opacity:.45;width:8px;height:8px;}
.swiper-hero .swiper-pagination-bullet-active{background:var(--saf);opacity:1;width:26px;border-radius:4px;}
.swiper-hero .swiper-button-next,.swiper-hero .swiper-button-prev{color:#fff;background:rgba(255,255,255,.15);border-radius:50%;width:42px;height:42px;backdrop-filter:blur(5px);}
.swiper-hero .swiper-button-next::after,.swiper-hero .swiper-button-prev::after{font-size:14px;font-weight:900;}
/* Flag strip */
.ns-flag{height:4px;background:linear-gradient(to right,#FF9933 33.3%,#fff 33.3% 66.6%,#138808 66.6%);}

/* ── SECTION SYSTEM ──────────────── */
.ns-sec{padding:52px 16px;}
@media(min-width:768px){.ns-sec{padding:68px 32px;}}
@media(min-width:1200px){.ns-sec{padding:80px 64px;}}
.ns-sec-in{max-width:1240px;margin:0 auto;}
.ns-sec-hd{margin-bottom:32px;}
.ns-tag{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;padding:5px 14px;border-radius:25px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px;}
.ns-tag-saf{background:var(--saf);color:#fff;}
.ns-tag-grn{background:var(--grn);color:#fff;}
.ns-tag-blue{background:var(--blue);color:#fff;}
.ns-tag-red{background:var(--red);color:#fff;}
.ns-sec-title{font-size:24px;font-weight:900;color:var(--blue);line-height:1.2;}
@media(min-width:768px){.ns-sec-title{font-size:32px;}}
.ns-sec-title span{color:var(--saf);}
.ns-sec-title.wh{color:#fff;}
.ns-sec-sub{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.7;max-width:560px;}
.ns-sec-bar{width:52px;height:4px;background:linear-gradient(90deg,var(--saf),var(--grn));border-radius:2px;margin-top:10px;}
.ns-sec-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--blue);padding:8px 18px;border:2px solid var(--blue);border-radius:25px;transition:all .2s;margin-top:14px;}
.ns-sec-more:hover{background:var(--blue);color:#fff;}
.ns-sec-more.wh{color:#fff;border-color:rgba(255,255,255,.4);}
.ns-sec-more.wh:hover{background:rgba(255,255,255,.15);}

/* ── CARDS ───────────────────────── */
/* Base card */
.ns-card{background:#fff;border-radius:var(--r);border:1.5px solid var(--border);overflow:hidden;transition:all .25s;position:relative;}
.ns-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:transparent;}

/* Featured card */
.ns-feat-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:all .25s;}
.ns-feat-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);}
.ns-feat-card-img{width:100%;height:200px;object-fit:cover;display:block;}
@media(min-width:768px){.ns-feat-card-img{height:240px;}}
.ns-feat-card-body{padding:22px 20px;}
.ns-feat-card-title{font-size:18px;font-weight:800;color:var(--blue);margin-bottom:8px;}
.ns-feat-card-desc{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:16px;}

/* Committee card */
.ns-comm-card{background:#fff;border-radius:var(--r);padding:22px 16px;text-align:center;box-shadow:var(--sh);border:1.5px solid var(--border);transition:all .25s;height:100%;position:relative;overflow:hidden;}
.ns-comm-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--saf),var(--grn));}
.ns-comm-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:var(--saf);}
.ns-comm-photo{width:90px;height:90px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block;border:3px solid var(--saf);}
.ns-comm-name{font-size:15px;font-weight:800;color:var(--blue);margin-bottom:4px;}
.ns-comm-role{font-size:11px;color:var(--saf-d);font-weight:700;background:var(--saf-l);padding:3px 12px;border-radius:20px;display:inline-block;margin-bottom:12px;}
.ns-comm-btn{display:inline-flex;align-items:center;gap:5px;background:var(--blue);color:#fff;padding:8px 18px;border-radius:25px;font-size:12px;font-weight:700;transition:all .2s;text-decoration:none;}
.ns-comm-btn:hover{background:var(--saf);color:#fff;}

/* NGO project card */
.ns-ngo-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1.5px solid var(--border);transition:all .25s;display:flex;flex-direction:column;height:100%;}
.ns-ngo-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--blue);}
.ns-ngo-card-img{width:100%;height:170px;object-fit:cover;display:block;}
.ns-ngo-card-body{padding:18px 16px;flex:1;display:flex;flex-direction:column;}
.ns-ngo-card-cat{font-size:10px;font-weight:800;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;display:inline-block;margin-bottom:8px;}
.ns-ngo-card-title{font-size:15px;font-weight:800;color:var(--blue);margin-bottom:6px;line-height:1.3;}
.ns-ngo-card-desc{font-size:12px;color:var(--muted);line-height:1.65;flex:1;margin-bottom:14px;}
.ns-ngo-prog{height:7px;background:#eee;border-radius:4px;overflow:hidden;margin:8px 0 5px;}
.ns-ngo-prog-fill{height:100%;background:linear-gradient(90deg,var(--saf),var(--grn));border-radius:4px;transition:width 1.5s ease;}

/* Event card */
.ns-ev-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);border:1.5px solid var(--border);transition:all .25s;height:100%;}
.ns-ev-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--blue);}
.ns-ev-card-img{width:100%;height:160px;object-fit:cover;display:block;}
.ns-ev-card-body{padding:16px;}
.ns-ev-status{font-size:9px;font-weight:800;padding:3px 10px;border-radius:20px;text-transform:uppercase;display:inline-block;margin-bottom:8px;}
.upcoming-badge{background:#dbeafe;color:#000080;}
.ongoing-badge{background:#dcfce7;color:#138808;}
.completed-badge{background:#f3f4f6;color:#6b7280;}
.ns-ev-title{font-size:14px;font-weight:800;color:var(--text);margin-bottom:6px;line-height:1.35;}
.ns-ev-meta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:4px;}
.ns-ev-meta i{color:var(--saf);font-size:10px;width:14px;}
.ns-ev-date-box{background:var(--blue);color:#fff;border-radius:10px;padding:8px 12px;text-align:center;min-width:50px;flex-shrink:0;}
.ns-ev-day{font-size:22px;font-weight:900;line-height:1;}
.ns-ev-mon{font-size:9px;opacity:.8;}

/* Member card */
.ns-mem-card{background:#fff;border-radius:var(--r);padding:20px 16px;text-align:center;box-shadow:var(--sh);border:1.5px solid var(--border);transition:all .25s;height:100%;position:relative;overflow:hidden;}
.ns-mem-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#000080,#FF9933);}
.ns-mem-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:var(--saf);}
.ns-mem-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 10px;display:block;border:3px solid var(--saf);}
.ns-mem-name{font-size:14px;font-weight:800;color:var(--blue);margin-bottom:3px;}
.ns-mem-type{font-size:10px;color:var(--saf-d);font-weight:700;background:var(--saf-l);padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:8px;}

/* Gallery item */
.ns-gal-item{border-radius:var(--r-sm);overflow:hidden;aspect-ratio:1;cursor:pointer;position:relative;display:block;}
.ns-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.ns-gal-item:hover img{transform:scale(1.1);}
.ns-gal-ov{position:absolute;inset:0;background:rgba(0,0,128,.65);opacity:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;transition:opacity .22s;}
.ns-gal-item:hover .ns-gal-ov{opacity:1;}

/* Video card */
.ns-vid-card{border-radius:var(--r);overflow:hidden;cursor:pointer;box-shadow:var(--sh);transition:all .25s;height:100%;background:#fff;}
.ns-vid-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);}
.ns-vid-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;}
.ns-vid-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.ns-vid-card:hover .ns-vid-thumb img{transform:scale(1.05);}
.ns-vid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.28);}
.ns-vid-play i{font-size:46px;color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));}

/* Stat / counter card */
.ns-stat-card{border-radius:var(--r);padding:26px 18px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.ns-stat-card::after{content:'';position:absolute;bottom:-18px;left:-18px;width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.07);}
.ns-stat-icon{font-size:30px;display:block;margin-bottom:8px;opacity:.9;}
.ns-stat-num{font-size:44px;font-weight:900;line-height:1;letter-spacing:-1px;}
.ns-stat-sfx{font-size:26px;font-weight:900;}
.ns-stat-lbl{font-size:12px;font-weight:700;opacity:.9;margin-top:6px;}

/* Buttons */
.ns-btn{display:inline-flex;align-items:center;gap:7px;padding:11px 24px;border-radius:12px;font-size:14px;font-weight:700;border:none;cursor:pointer;font-family:inherit;transition:all .18s;text-decoration:none;}
.ns-btn-blue{background:var(--blue);color:#fff;}.ns-btn-blue:hover{background:var(--blue-d);color:#fff;}
.ns-btn-saf{background:var(--saf);color:#fff;}.ns-btn-saf:hover{background:var(--saf-d);color:#fff;}
.ns-btn-grn{background:var(--grn);color:#fff;}
.ns-btn-red{background:var(--red);color:#fff;}
.ns-btn-out{background:transparent;border:2px solid var(--blue);color:var(--blue);}.ns-btn-out:hover{background:var(--blue);color:#fff;}
.ns-btn-round{border-radius:35px!important;}
.ns-btn-sm{padding:8px 16px;font-size:12px;}
.ns-btn-lg{padding:14px 32px;font-size:15px;}
.ns-btn-block{width:100%;justify-content:center;}

/* Show more button */
.ns-show-more{display:flex;justify-content:center;margin-top:28px;}
.ns-show-more button{background:#fff;border:2px solid var(--border);color:var(--blue);padding:12px 32px;border-radius:35px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s;display:flex;align-items:center;gap:8px;}
.ns-show-more button:hover{border-color:var(--blue);background:var(--blue);color:#fff;}
.ns-show-more button.loading{opacity:.6;cursor:wait;}

/* Progress bar */
.ns-prog-bar{height:10px;background:#eee;border-radius:5px;overflow:hidden;margin:8px 0 5px;}
.ns-prog-fill{height:100%;background:linear-gradient(90deg,var(--saf),var(--grn));border-radius:5px;transition:width 1.5s cubic-bezier(.4,0,.2,1);}

/* Donation section */
.ns-donate-card{background:linear-gradient(135deg,var(--blue-d),var(--blue));border-radius:20px;padding:44px 28px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.ns-donate-card::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.05);}

/* Form */
.ns-form-card{background:#fff;border-radius:var(--r);padding:28px 24px;box-shadow:var(--sh-md);}
.ns-label{display:block;font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px;}
.ns-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;background:#fff;outline:none;transition:border-color .15s;color:var(--text);}
.ns-input:focus{border-color:var(--blue);}
.ns-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}
.ns-form-group{margin-bottom:18px;}

/* Sponsor strip */
.ns-sp-ticker{overflow:hidden;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;}
.ns-sp-track{display:flex;gap:10px;animation:spTick 30s linear infinite;width:max-content;}
.ns-sp-track:hover{animation-play-state:paused;}
.ns-sp-item{display:inline-flex;align-items:center;gap:9px;padding:6px 18px;background:var(--bg);border-radius:30px;border:1px solid var(--border);font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;}
@keyframes spTick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Lightbox */
.ns-lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:9998;align-items:center;justify-content:center;}
.ns-lb.open{display:flex;}
.ns-lb img{max-width:95vw;max-height:90vh;object-fit:contain;border-radius:8px;}

/* Notice item */
.ns-notice-item{background:#fff;border-radius:var(--r-sm);border-left:4px solid var(--blue);padding:14px 16px;margin-bottom:10px;box-shadow:var(--sh);display:flex;align-items:flex-start;gap:12px;border:1.5px solid var(--border);border-left:4px solid var(--blue);}
.ns-notice-item.urgent{border-left-color:var(--red);}

/* Badge */
.ns-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;}
.ns-badge-blue{background:var(--blue-l);color:var(--blue);}
.ns-badge-saf{background:var(--saf-l);color:var(--saf-d);}
.ns-badge-grn{background:var(--grn-l);color:var(--grn);}
.ns-badge-red{background:var(--red-l);color:var(--red);}

/* Swiper generic pagination */
.swiper-pagination-bullet-active{background:var(--blue)!important;}
.ns-swiper-pag{position:static!important;margin-top:16px!important;}

/* CTA Big */
.ns-cta{background:linear-gradient(145deg,#00005a,#000080,#1a1acc);border-radius:20px;padding:52px 28px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.ns-cta::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.04);}
.ns-cta::after{content:'';position:absolute;bottom:-40px;left:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.03);}

/* Search box */
.ns-search-box{display:flex;gap:8px;margin-bottom:24px;}
.ns-search-box input{flex:1;padding:12px 16px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s;}
.ns-search-box input:focus{border-color:var(--blue);}
.ns-search-box button{padding:12px 20px;background:var(--blue);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;}

/* QR Card */
.ns-qr-card{background:#fff;border-radius:var(--r);padding:24px;text-align:center;box-shadow:var(--sh-md);border:1.5px solid var(--border);}
.ns-qr-card .qr-id{font-size:24px;font-weight:900;color:var(--blue);letter-spacing:2px;margin:10px 0;}

/* Calendar */
.ns-calendar{background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;}
.ns-cal-head{background:var(--blue);color:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center;font-weight:700;}
.ns-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);}
.ns-cal-cell{background:#fff;padding:10px 6px;text-align:center;font-size:12px;min-height:44px;position:relative;}
.ns-cal-cell.head{background:#f8f9fb;font-weight:700;color:var(--muted);font-size:11px;}
.ns-cal-cell.has-event{background:var(--blue-l);color:var(--blue);font-weight:700;cursor:pointer;}
.ns-cal-cell.today{background:var(--saf);color:#fff;font-weight:900;border-radius:6px;}
