.nm-frontend-wrapper {
    width: 100%;
    /* max-width: 1280px; */
    margin: 0 auto;
    padding: 10px 5px;
}

.nm-frontend-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 30px;
}

.nm-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

.nm-card-image img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.nm-card-content {
    padding: 24px;
}

.nm-card-title {
    font-size: 24px;
    margin-bottom: 16px;
}

.nm-card-description {
    color: #4b5563;
    margin-bottom: 24px;
    line-height: 1.8;
}

.nm-read-more-btn {
    display: inline-block;
    padding: 12px 22px;
    background: #1e40af;
    color: #fff;
    border-radius: 10px;
    text-decoration: none;
}

@media (max-width:1024px) {
    .nm-frontend-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   ACCORDION
========================= */

.nm-accordion-wrapper{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.nm-accordion-item{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,0.04);
}

/* HEADER */

.nm-accordion-header{
    width:100%;
    border:none;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:22px 24px;
    cursor:pointer;
    font-size:18px;
    font-weight:600;
    color:#111827;
    transition:all .25s ease;
    outline: none !important;
}

.nm-accordion-header:hover{
    background:#f9fafb;
}

/* ICON */

.nm-accordion-icon{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#2563eb;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    font-weight:700;
    flex-shrink:0;
    transition:all .25s ease;
    line-height: 0px;
}

/* CONTENT */

.nm-accordion-content{
    display:none;
    padding:0 24px 24px;
}

/* ACTIVE */

/*.nm-accordion-item.active .nm-accordion-content{
    display:block;
}*/

.nm-accordion-item.active .nm-accordion-icon{
    background:#dc2626;
    transform:rotate(45deg);
}

/* IMAGE */

.nm-accordion-image{
    margin:20px 0;
}

.nm-accordion-image img{
    width:100%;
    border-radius:14px;
    display:block;
}

/* DESCRIPTION */

.nm-accordion-description{
    line-height:1.9;
    color:#4b5563;
    font-size:15px;
}

/* MOBILE */

@media(max-width:767px){

    .nm-accordion-header{
        font-size:16px;
        padding:18px;
    }

    .nm-accordion-content{
        padding:0 18px 18px;
    }
}

/* =========================
   HUB LAYOUT
========================= */

.nm-hub-wrapper{
    /*max-width:1280px;
    margin:0 auto;
    padding:20px;*/
}

.nm-hub-header{
    margin-bottom:40px;
    padding:35px;
    border-radius:18px;
    background:linear-gradient(135deg,#1e3a8a,#0f172a);
    color:#fff;
}

.nm-hub-header h2{
    margin:0;
    font-size:40px;
}

.nm-hub-header p{
    margin-top:10px;
    opacity:.9;
}

.nm-hub-grid{
    /*display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;*/
}

.nm-column{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.nm-column-heading{
    font-size:24px;
    margin-bottom:10px;
    border-bottom:3px solid #e5e7eb;
    padding-bottom:10px;
}

.nm-card-date {
    font-size: 0.85rem;
    font-weight: 700;
    color: #2563eb;
    text-transform: uppercase;
    margin-bottom: 6px;
    display: block;
}

/* EVENTS */

.nm-event-card{
    border-left:4px solid #2563eb;
    background:#f8fafc;
    padding:24px;
    border-radius:14px;
    transition:all .25s ease;
    margin-bottom: 20px;
    margin-top: 20px;
}

/*.nm-event-card:hover{
    transform:translateY(-2px);
}*/

.nm-frontend-wrapper h3{
    margin:10px 0;
    font-weight: 700;
    line-height: 1.4;
    font-size: 1.3rem;
}

.nm-event-card p{
    line-height: 1.8;
    margin: 0px;
}

/* ACHIEVEMENTS */

.nm-achievement-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-top:4px solid #f59e0b;
    padding:24px;
    border-radius:14px;
    transition:all .25s ease;
    margin-bottom: 20px;
    margin-top: 20px;
}

/*.nm-achievement-card:hover{
    transform:translateY(-2px);
}*/

.nm-achievement-badge{
    display:inline-block;
    margin-bottom:14px;
    background:#fef3c7;
    color:#92400e;
    padding:6px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
}

.nm-achievement-card h3{
    /*margin:0 0 14px;
    font-size:22px;*/
    /*margin: 10px 0;
    font-weight: 700;
    line-height: 1.4;*/
}

.nm-achievement-card p{
    line-height:1.8;
    margin: 0px;
}

/* MOBILE */

@media(max-width:991px){

    .nm-hub-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:767px){

    .nm-hub-header{
        padding:24px;
    }

    .nm-hub-header h2{
        font-size:30px;
    }

    .nm-column-heading{
        font-size:22px;
    }
}

/* ===================================
   NOTICE BOARD LAYOUT
=================================== */

.nm-notice-board-wrapper{
    /*max-width:1200px;*/
    margin:0 auto;
}

/* HEADER */

.nm-notice-header{
    background:linear-gradient(135deg,#1e3a8a,#0f172a);
    color:#fff;
    padding:42px 36px;
    border-radius:12px;
    margin-bottom:35px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.nm-notice-header h1{
    margin:0;
    font-size:42px;
    font-weight:700;
    letter-spacing:-0.5px;
}

.nm-notice-header p{
    margin:10px 0 0;
    opacity:.9;
    font-size:17px;
}

/* CONTAINER */

.nm-notice-container{
    display:flex;
    flex-direction:column;
    gap:24px;
}

/* ROW */

.nm-notice-row{
    background:#fff;
    border:1px solid #dbe2ea;
    border-radius:12px;
    padding:28px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:28px;
    transition:all .25s ease;
    box-shadow:0 4px 12px rgba(0,0,0,0.03);
    border-left:4px solid #2563eb;
}

.nm-notice-row:hover{
    /*transform:translateX(4px);
    border-left:4px solid #2563eb;
    box-shadow:0 8px 24px rgba(0,0,0,0.06);*/
}

/* LEFT */

.nm-notice-meta-left{
    flex:1;
}

/* DATE */

.nm-date-node{
    display:inline-block;
    background:#f1f5f9;
    color:#64748b;
    padding:6px 12px;
    border-radius:6px;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:16px;
}

/* TITLE */

.nm-notice-row h3{
    /*margin:0 0 16px;
    font-size:26px;
    line-height:1.5;
    font-weight:700;*/
    color:#0f172a;
}

/* DESCRIPTION */

.nm-notice-description{
    color:#475569;
    line-height:1.9;
    font-size:15px;
}

.nm-notice-description p{
    margin-top:0;
}

/* BUTTON */

.nm-notice-action-right{
    min-width:170px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
}

.nm-pdf-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:160px;
    height:44px;
    background:#1e3a8a;
    color:#fff !important;
    text-decoration:none;
    border-radius:6px;
    font-size:14px;
    font-weight:600;
    transition:all .25s ease;
}

.nm-pdf-btn:hover{
    background:#0f172a;
    /*transform:translateY(-1px);*/
}

/* MOBILE */

@media(max-width:767px){
    .nm-notice-header{
        padding:28px 24px;
    }

    .nm-notice-header h1{
        font-size:30px;
    }

    .nm-notice-row{
        flex-direction:column;
        padding:22px;
    }

    .nm-notice-row h3{
        font-size:22px;
    }

    .nm-notice-action-right{
        width:100%;
        justify-content:flex-start;
    }

    .nm-pdf-btn{
        width:100%;
    }
}
/* ===================================
   MEDIA NEWS
=================================== */

.nm-media-wrapper{
    max-width:1200px;
    margin:0 auto;
}

/* HEADER */

.nm-media-header{
    background:linear-gradient(135deg,#1e3a8a,#4338ca);
    color:#fff;
    padding:40px 30px;
    border-radius:8px;
    margin-bottom:35px;
    box-shadow:0 4px 6px rgba(0,0,0,0.08);
}

.nm-media-header h1{
    margin:0;
    font-size:42px;
    font-weight:700;
    letter-spacing:-0.5px;
}

.nm-media-header p{
    margin:10px 0 0;
    opacity:.9;
    font-size:17px;
}

/* CONTROL BAR */

.nm-media-control-bar{
    background:#f8fafc;
    border:1px solid #cbd5e1;
    border-radius:6px;
    padding:15px 20px;
    margin-bottom:35px;
}

.nm-media-archive-title{
    margin:0;
    font-size:18px;
    font-weight:700;
    color:#0f172a;
    text-transform:uppercase;
    letter-spacing:.5px;
}

/* GRID */

.nm-media-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* CARD */

.nm-media-card{
    background:#fff;
    border:1px solid #cbd5e1;
    border-radius:8px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    transition:all .25s ease;
    box-shadow:0 4px 6px rgba(0,0,0,0.03);
}

.nm-media-card:hover{
    /*transform:translateY(-4px);
    box-shadow:0 10px 15px rgba(0,0,0,0.08);
    border-color:#2563eb;*/
}

/* GRAPHIC BLOCK */

.nm-media-graphic-block{
    background:linear-gradient(45deg,#f1f5f9,#e2e8f0);
    height:130px;
    padding:20px;
    display:flex;
    align-items:flex-end;
    position:relative;
    border-bottom:1px solid #cbd5e1;
}

/* PUBLICATION */

.nm-publication-tag{
    position:absolute;
    top:15px;
    right:15px;
    background:#0f172a;
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:4px 10px;
    border-radius:4px;
    letter-spacing:.3px;
}

/* BADGE */

.nm-scope-badge{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    padding:4px 10px;
    border-radius:4px;
    text-transform:uppercase;
    letter-spacing:.5px;
    background:#fef2f2;
    color:#dc2626;
    border:1px solid #fca5a5;
}

/* BODY */

.nm-media-card-body{
    padding:24px;
    flex-grow:1;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

/* DATE */

.nm-date-node{
    font-size:12px;
    font-weight:700;
    color:#64748b;
    text-transform:uppercase;
    margin-bottom:8px;
    display:block;
}

/* TITLE */

.nm-media-card h3{
    /*margin:0 0 14px;
    font-size:22px;
    font-weight:700;
    line-height:1.5;*/
    color:#0f172a;
}

/* DESCRIPTION */

.nm-media-description{
    margin-bottom:20px;
    font-size:15px;
    color:#334155;
    line-height:1.8;
}

/* BUTTON */

.nm-media-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#1e3a8a;
    color:#fff !important;
    text-decoration:none;
    border-radius:4px;
    font-size:14px;
    font-weight:600;
    transition:all .25s ease;
    height:44px;
    width:100%;
}

.nm-media-btn:hover{
    background:#0f172a;
}

/* FOOTER */

.nm-media-footer-note{
    display:block;
    margin-top:60px;
    font-size:14px;
    color:#94a3b8;
    border-top:1px solid #cbd5e1;
    padding-top:20px;
    text-align:center;
}

/* RESPONSIVE */

@media(max-width:1024px){
    .nm-media-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:767px){
    .nm-media-grid{
        grid-template-columns:1fr;
    }

    .nm-media-header{
        padding:28px 22px;
    }

    .nm-media-header h1{
        font-size:30px;
    }

    .nm-media-card h3{
        font-size:20px;
    }
}

/* ===================================
   FILTER TAGS
=================================== */
.filter-tags{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:30px;
}

.filter-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:999px;
    background:#f1f5f9;
    color:#0f172a;
    text-decoration:none !important;
    font-size:14px;
    font-weight:600;
    transition:all .25s ease;
    border:1px solid #cbd5e1;
}

.filter-btn:hover{
    background:#1e3a8a;
    color:#fff;
}

.filter-btn.active{
    background:#1e3a8a;
    color:#fff;
    border-color:#1e3a8a;
}

/* ===================================
   LOG CATEGORY BADGES
=================================== */

.scope-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    /*margin-left:10px;*/
    padding:4px 10px;
    border-radius:4px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.3px;
}

/* ACADEMIC */
.badge-academic{
    background:#eef2ff;
    color:#4338ca;
    border:1px solid #c7d2fe;
}

/* FINANCIAL */
.badge-financial{
    background:#fffbeb;
    color:#d97706;
    border:1px solid #fde68a;
}

/* EXAMS */
.badge-exam{
    background:#fef2f2;
    color:#dc2626;
    border:1px solid #fca5a5;
}

/* ADMINISTRATIVE */
.badge-admin{
    background:#ecfdf5;
    color:#059669;
    border:1px solid #a7f3d0;
}

/* DEFAULT */
.badge-default{
    background:#f1f5f9;
    color:#334155;
    border:1px solid #cbd5e1;
}

.display-card{
    background:#fff;
    border:1px solid #cbd5e1;
    border-radius:8px;
    padding:24px;
    transition:.2s;
}

.display-card:hover{
    /*transform:translateY(-2px);*/
}

.alumni-node{
    border-left:4px solid #2563eb;
    background:#f8fafc;
}

.chapter-node{
    border-top:4px solid #1e3a8a;
}

.card-meta-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:12px;
}

.batch-year{
    font-size:13px;
    font-weight:700;
    color:#2563eb;
}

.badge{
    display:inline-block;
    padding:3px 8px;
    border-radius:4px;
    font-size:12px;
    font-weight:700;
}

.badge-laurel{
    background:#fef3c7;
    color:#b45309;
    border:1px solid #fde68a;
}

.badge-purple{
    background:#f3e8ff;
    color:#6b21a8;
    border:1px solid #e9d5ff;
}

.alumni-designation{
    display:block;
    margin-bottom:12px;
    color:#64748b;
    font-size:14px;
    font-weight:600;
}
