/* GKMIS — dynamic site additions: dropdown menu, inner pages, notices, sidebar */
body{font-family:var(--font-b),'Hind Siliguri',system-ui,sans-serif}
.em-hl em,.hs-cap h1 em,.hs-cap h2 em{font-style:normal}
.em-hl em{position:relative;white-space:nowrap}
.em-hl em::after{content:"";position:absolute;left:-4px;right:-4px;bottom:4px;height:.32em;background:var(--sun);border-radius:8px;z-index:-1;opacity:.75}

/* ---------- dropdown menu ---------- */
.menu .has-sub{position:relative}
.menu .caret{display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:4px;opacity:.6}
.menu .sub-toggle{display:none}
.menu .sub{list-style:none;position:absolute;top:100%;left:0;min-width:250px;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:60;border:1px solid var(--line)}
.menu .sub::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.menu .has-sub:hover>.sub,.menu .has-sub:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.menu .sub a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-family:var(--font-b);font-weight:700;font-size:.95rem;white-space:nowrap}
.menu .sub a span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--cream-2);font-size:1rem;flex:none}
.menu .sub a:hover{background:var(--cream);color:var(--coral)}

/* ---------- inner pages ---------- */
.page-body{padding:80px 0;background:#fff}
.container.narrow{max-width:860px}
.with-side{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}
.page-main{min-width:0}
.page-img{width:100%;max-height:420px;object-fit:cover;border-radius:var(--r-lg);margin-bottom:28px;box-shadow:var(--shadow-sm)}
.prose{font-size:1.06rem;color:#3b4058;overflow-wrap:anywhere}
.prose>*+*{margin-top:1em}
.prose h2,.prose h3,.prose h4{color:var(--ink);margin-top:1.5em}
.prose h2{font-size:1.8rem}.prose h3{font-size:1.4rem}.prose h4{font-size:1.15rem}
.prose>:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin:.35em 0}
.prose li[data-list=bullet]{list-style:disc}
.prose ul li::marker{color:var(--coral)}
.prose ol li::marker{color:var(--coral);font-weight:800}
.prose a{color:var(--sky-d);text-decoration:underline}
.prose img{border-radius:var(--r-md);margin:1em 0;height:auto}
.prose blockquote{border-left:5px solid var(--sun);background:var(--cream);padding:14px 20px;border-radius:0 var(--r-sm) var(--r-sm) 0;font-style:italic}
.prose table{width:100%;border-collapse:collapse;font-size:.98rem}
.prose th,.prose td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.prose th{background:var(--cream-2)}
.prose iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r-md)}
.prose .ql-align-center{text-align:center}.prose .ql-align-right{text-align:right}.prose .ql-align-justify{text-align:justify}
.prose .ql-indent-1{padding-left:2em}.prose .ql-indent-2{padding-left:4em}
.prose .ql-size-large{font-size:1.3em}.prose .ql-size-small{font-size:.85em}
.dl-btn{margin-top:28px}
.empty-note{color:var(--ink-2);font-style:italic;text-align:center;padding:24px}

/* sidebar */
.side{position:sticky;top:100px;display:grid;gap:20px}
.side-box{background:var(--cream);border-radius:var(--r-lg);padding:22px;border:1px solid var(--line)}
.side-box h4{font-size:1.2rem;margin-bottom:12px}
.side-nav{list-style:none;display:grid;gap:4px}
.side-nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;font-weight:700;font-size:.95rem;transition:background .15s}
.side-nav a span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#fff;flex:none}
.side-nav a:hover{background:#fff;color:var(--coral)}
.side-nav a.on{background:var(--coral);color:#fff}
.side-nav a.on span{background:rgba(255,255,255,.25)}
.side-nav.small a{align-items:flex-start;font-size:.9rem;line-height:1.35}
.side-nav.small small{display:block;color:var(--ink-2);font-weight:600;font-size:.78rem;margin-top:2px}
.side-call{background:var(--bd-green);color:#fff;border:0;text-align:center}
.side-call b{font-family:var(--font-h);font-size:1.25rem}
.side-call p{opacity:.85;margin:4px 0 12px}

/* group landing cards */
.sub-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sub-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}
.sub-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.sc-ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;margin-bottom:6px}
.sub-card h3{font-size:1.3rem}
.sub-card p{color:var(--ink-2);font-size:.95rem;flex:1}
.sub-card .go{font-family:var(--font-h);font-weight:600;color:var(--coral)}

/* committee */
.committee{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;margin-top:34px}
.member{background:var(--cream);border-radius:var(--r-lg);padding:22px 16px;text-align:center}
.member .av{width:96px;height:96px;border-radius:50%;margin:0 auto 12px;background:var(--mint);color:#fff;display:grid;place-items:center;font-family:var(--font-h);font-size:2.2rem;overflow:hidden;border:5px solid #fff}
.member .av img{width:100%;height:100%;object-fit:cover}
.member b{display:block;font-family:var(--font-h);font-size:1.1rem}
.member small{color:var(--ink-2);font-weight:700}

/* notices */
.notices .t a:hover{color:var(--coral)}
.notices .new.pin{background:none;padding:0;font-size:.95rem}
.search-bar{display:flex;gap:10px;margin-bottom:22px}
.search-bar input{flex:1;padding:13px 18px;border-radius:999px;border:2px solid var(--line);font:inherit;background:#fff}
.search-bar input:focus{outline:none;border-color:var(--sun)}
.pager{display:flex;gap:6px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.pager a{min-width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--cream-2);font-weight:800}
.pager a.on{background:var(--coral);color:#fff}
.notice-img{max-width:100%;border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin-top:20px}
.pdf-view{width:100%;height:75vh;border:1px solid var(--line);border-radius:var(--r-md);margin-top:20px}
.notice-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn-ghost-dark{background:var(--cream-2);color:var(--ink)}

/* calendar list */
.month-h{font-size:1.6rem;margin:36px 0 16px;padding-bottom:8px;border-bottom:3px dashed var(--line)}
.month-h:first-child{margin-top:0}
.ev-list{display:grid;gap:16px}
.event.past{opacity:.6}
.more-link{display:inline-block;margin-top:16px;font-family:var(--font-h);font-weight:600;color:var(--coral)}
.contact .map{width:100%;min-height:380px;border:0;border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.principal .prose{margin-bottom:18px}

@media (max-width:1080px){
  .menu a{padding:8px 10px}
}
@media (max-width:900px){
  .menu{max-height:calc(100vh - 100px);overflow-y:auto}
  .menu .has-sub>a{padding-right:56px}
  .menu .caret{display:none}
  .menu .sub-toggle{display:block;position:absolute;right:4px;top:2px;width:44px;height:44px;border:0;border-radius:12px;background:var(--cream-2);cursor:pointer}
  .menu .sub-toggle::after{content:"";position:absolute;left:50%;top:45%;width:8px;height:8px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:translate(-50%,-50%) rotate(45deg);transition:transform .2s}
  .menu .has-sub.open .sub-toggle::after{transform:translate(-50%,-20%) rotate(225deg)}
  .menu .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 6px 12px;display:none;min-width:0}
  .menu .has-sub.open>.sub{display:block}
  .menu .sub a{white-space:normal}
  .with-side{grid-template-columns:1fr}
  .side{position:static}
  .sub-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .page-body{padding:56px 0}
  .sub-cards{grid-template-columns:1fr}
}

/* ---------- centered page layout (no sidebar) ---------- */
.page-main{max-width:none;width:100%}
.subnav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:1080px;margin:0 auto 44px}
.subnav a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 10px;border-radius:999px;background:var(--cream);border:1px solid var(--line);font-weight:700;font-size:.95rem;transition:.15s}
.subnav a span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;font-size:.95rem}
.subnav a:hover{border-color:var(--sun);color:var(--coral)}
.subnav a.on{background:var(--coral);border-color:var(--coral);color:#fff}
.subnav a.on span{background:rgba(255,255,255,.25)}
.page-img{max-height:460px}
.help-band{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding:20px 26px;border-radius:var(--r-lg);background:var(--bd-green);color:#fff}
.help-band b{display:block;font-family:var(--font-h);font-size:1.25rem}
.help-band span{opacity:.85}
.recent-box{margin-top:50px}
.recent-box h3{font-size:1.4rem;margin-bottom:14px}
@media (max-width:640px){
  .subnav{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:0 -16px 30px;padding:0 16px 6px;scrollbar-width:none}
  .subnav a{flex:none}
  .help-band{padding:18px}
}
/* full-width content */
.page-body .prose{font-size:1.08rem}
.page-body .prose>h2,.page-body .prose>h3{padding-bottom:8px;border-bottom:2px dashed var(--line)}
.page-img{width:100%;max-height:480px}
.subnav{max-width:none}

/* uploaded logo */
.logo .logo-img{width:auto;height:54px;max-width:220px;object-fit:contain}
footer .logo .logo-img{height:60px;background:#fff;border-radius:12px;padding:4px}
@media (max-width:640px){.logo .logo-img{height:44px;max-width:170px}}
