/* =====================================================
   Color palette matches the college's live website
   (asmcayodhya.ac.in) — Deep Maroon + Gold + Off-White
   ===================================================== */
:root {
    --primary: #7B1D1D;
    --primary-dark: #5a1414;
    --primary-light: #a03030;
    --accent: #C9A84C;
    --accent-light: #e8c96b;
    --accent-dark: #a8873a;
    --off-white: #f8f6f0;
    --light-gray: #f0ede8;
    --medium-gray: #e0dbd4;
    --text-dark: #1a1208;
    --text-medium: #4a3f2f;
    --text-light: #7a6d5e;
}

body {
    font-family: 'DM Sans', system-ui, sans-serif;
    color: var(--text-dark);
    background: #fff;
}

/* Override Font Awesome's inline-block icon display (avoids odd wrapping
   when icons sit inside flex nav rows alongside text). */
.fa, .fa-brands, .fa-classic, .fa-regular, .fa-sharp, .fa-solid, .fab, .far, .fas { display: inline; }

h1, h2, h3, h4, h5, .brand-font { font-family: 'Playfair Display', serif; }

.skip-link {
    position: absolute; left: -999px; top: 0; background: #fff; color: var(--primary);
    padding: .5rem 1rem; z-index: 2000;
}
.skip-link:focus { left: 0; }

.top-strip { background: var(--primary-dark); color: rgba(255,255,255,.85); padding: .35rem 0; border-bottom: 2px solid var(--accent); }
.top-strip a { color: rgba(255,255,255,.85); text-decoration: none; }
.top-strip a:hover { color: var(--accent-light); }
.top-strip .text-adjust { background: none; border: 1px solid rgba(255,255,255,.4); color: #fff; border-radius: 3px; font-size: .75rem; padding: 0 .3rem; }

.site-header { background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.08); position: sticky; top:0; z-index: 1000; }
@media (max-width: 767px) { .site-header { position: static; } }
.text-primary-dark { color: var(--primary-dark); }

.logo-text { display:flex; flex-direction:column; }
.logo-hi { font-size:.8rem; color: var(--primary); font-weight:600; line-height:1.3; }
.logo-en { font-family:'Playfair Display',serif; color: var(--primary-dark); font-weight:700; line-height:1.25; }
.logo-sub { font-size:.7rem; color: var(--text-light); letter-spacing:.06em; text-transform:uppercase; }

.helpline-box { display:flex; align-items:center; gap:.5rem; border:1px solid var(--primary); color: var(--primary); border-radius: 8px; padding: .35rem .75rem; }
.helpline-box i { font-size: 1.3rem; }
@media (max-width: 767px) { .helpline-box { display:none; } }

.main-nav { background: var(--primary); position: relative; }
.hamburger-btn { display:none; background:none; border:none; color:#fff; font-size:1.3rem; padding:.7rem 1rem; cursor:pointer; }
.nav-list { list-style:none; display:flex; margin:0; padding:0; flex-wrap: nowrap; }
.nav-list > .nav-item { position: relative; }
.nav-link-row { display:flex; align-items:center; }
.nav-list > .nav-item > a, .nav-list > .nav-item > .nav-link-row > a { display:block; color:rgba(255,255,255,.9); padding:.75rem .58rem; text-decoration:none; font-size:.92rem; font-weight:500; }
.nav-list > .nav-item:hover > a, .nav-list > .nav-item > a.active,
.nav-list > .nav-item > .nav-link-row > a.active { background: rgba(255,255,255,.1); color: var(--accent-light); }
.nav-list > .nav-item:hover > .nav-link-row > a { background: rgba(255,255,255,.1); color: var(--accent-light); }
.nav-toggle { display:none; background:none; border:none; color:rgba(255,255,255,.85); padding:.75rem 1rem; cursor:pointer; }
.dropdown-list { display:none; position:absolute; left:0; top:100%; background:#fff; min-width:240px; box-shadow:0 8px 40px rgba(0,0,0,.16); list-style:none; padding:.5rem 0; margin:0; z-index:50; border-top:3px solid var(--accent); }
.nav-item.has-children:hover .dropdown-list, .nav-more:hover .dropdown-list { display:block; }
.nav-more .dropdown-list { min-width:220px; }
.nav-more .dropdown-list .nav-item { width:100%; }
.nav-more .dropdown-list .nav-item > a { color: var(--text-medium); padding:.6rem 1rem; }
.nav-more .dropdown-list .nav-item > a:hover { background: var(--off-white); color: var(--primary); }
.nav-more .dropdown-list .dropdown-list { position:static; box-shadow:none; border-top:0; padding-left:1rem; display:block !important; }
.dropdown-list li a { display:block; padding:.5rem 1rem; color: var(--text-medium); text-decoration:none; font-size:.9rem; }
.dropdown-list li a:hover { background: var(--off-white); color: var(--primary); }

/* Hero */
.hero-slide { position: relative; height: 460px; background-size: cover; background-position: center; }
.hero-caption-strip { position: absolute; left:0; right:0; bottom:0; z-index: 2; background: rgba(90,20,20,.92); color:#fff; padding: .9rem 0; }
.hero-caption-strip h2 { font-size: 1.3rem; font-weight:700; margin:0; }
.hero-caption-strip p { font-size: .85rem; opacity:.9; }
.hero-caption .eyebrow { letter-spacing:.2em; font-size:.75rem; color: var(--accent); font-weight:600; }

/* Quick links */
.quick-link-card { border:1px solid var(--medium-gray); border-radius:10px; padding:1.1rem; height:100%; text-decoration:none; color: var(--text-dark); display:flex; gap:.75rem; align-items:flex-start; transition:.2s; background:#fff; }
.quick-link-card:hover { border-color: var(--primary); box-shadow: 0 8px 20px rgba(123,29,29,.12); transform: translateY(-2px); }
.quick-link-card i { font-size: 1.5rem; color: var(--primary); }
.quick-link-card .subtitle { color: var(--text-light); font-size:.8rem; }

/* Stats */
.stats-bar { background: var(--primary); padding: 2rem 0; }
.stat-item { text-align:center; padding: 0 .5rem; }
.stat-item i { color: var(--accent); font-size:2.2rem; }
.stat-item .num { font-size:2.4rem; font-weight:700; color: var(--accent); font-family:'Playfair Display',serif; line-height:1.1; }
.stat-item .label { font-size:1rem; color: rgba(255,255,255,.9); margin-top:.15rem; }
@media (max-width: 767px) {
    .stat-item .num { font-size:1.7rem; }
    .stat-item .label { font-size:.8rem; }
    .stat-item i { font-size:1.6rem; }
}

/* "View All" buttons used across panel headers/sections */
.btn-view-all {
    display:inline-flex; align-items:center; gap:.35rem; font-size:.75rem; font-weight:600;
    padding:.3rem .8rem; border-radius:20px; text-decoration:none; white-space:nowrap;
    background: rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.35); transition:.2s;
}
.btn-view-all:hover { background: var(--accent); color: var(--primary-dark); border-color: var(--accent); }
.btn-view-all.btn-view-all-light {
    background: var(--off-white); color: var(--primary); border:1px solid var(--medium-gray);
}
.btn-view-all.btn-view-all-light:hover { background: var(--primary); color:#fff; border-color: var(--primary); }

/* Notices */
.notice-panel { border:1px solid var(--medium-gray); border-radius:10px; overflow:hidden; height:100%; background:#fff; }
.notice-panel .panel-head { background: var(--primary); color:#fff; padding:.75rem 1rem; display:flex; justify-content:space-between; align-items:center; }
.notice-panel .panel-head i { color: var(--accent); }
.notice-tabs { display:flex; gap:.35rem; padding:.6rem .75rem 0; flex-wrap:wrap; }
.notice-tabs .btn {
    font-size:.72rem; font-weight:600; padding:.25rem .75rem; border-radius:20px;
    border:1.5px solid var(--medium-gray); color: var(--text-medium); background:#fff;
}
.notice-tabs .btn:hover { border-color: var(--primary); color: var(--primary); background: var(--off-white); }
.notice-list { list-style:none; margin:0; padding:.5rem 0; max-height: 420px; overflow-y:auto; }
.notice-list li { display:flex; gap:.75rem; padding:.6rem 1rem; border-bottom:1px solid var(--light-gray); align-items:center; }
.notice-list li:hover { background: var(--off-white); }
.notice-date {
    flex: 0 0 54px; width:54px; height:54px; display:flex; flex-direction:column;
    align-items:center; justify-content:center; background: var(--off-white);
    border-radius:8px; font-size:.68rem; color: var(--primary); font-weight:700;
    text-transform:uppercase; line-height:1.1;
}
.notice-date .day { font-size:1.2rem; display:block; font-family:'Playfair Display',serif; }

/* Principal */
.principal-card { background: linear-gradient(160deg, var(--off-white) 0%, #fff 100%); height:100%; display:flex; flex-direction:column; justify-content:center; }
.principal-card .principal-photo {
    width:90px; height:90px; border-radius:50%; object-fit:cover; flex-shrink:0;
    border:3px solid var(--accent); box-shadow: 0 4px 16px rgba(123,29,29,.2);
}
.principal-card .principal-photo-placeholder {
    width:90px; height:90px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    flex-shrink:0; background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    border:3px solid var(--accent); box-shadow: 0 4px 16px rgba(123,29,29,.2);
}
.principal-card .principal-photo-placeholder i { color: rgba(255,255,255,.9); font-size:2rem; }
.principal-card .quote-mark { font-size:1.4rem; color: var(--accent); opacity:.8; }
.principal-card blockquote { color: var(--text-medium); font-size:.92rem; line-height:1.6; }

/* Events */
.event-row { display:flex; gap:.75rem; padding:.6rem 0; border-bottom:1px solid var(--light-gray); align-items:flex-start; }
.event-date { background: var(--primary); color:#fff; border-radius:8px; text-align:center; padding:.3rem .55rem; min-width:52px; }
.event-date .day { font-size:1.1rem; font-weight:700; display:block; }
.event-date .mon { font-size:.7rem; text-transform:uppercase; }

/* Hospital services — matches the live site's dark glass-card treatment */
.services-section { background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%); padding: 3rem 0; }
.services-section .section-title { color:#fff; border-left-color: var(--accent); }
.services-section .section-title.section-title-plain { border:0; padding-left:0; }
.service-card {
    border:1px solid rgba(255,255,255,.18); border-radius:10px; overflow:hidden; height:100%;
    background: rgba(255,255,255,.08); transition:.25s ease; cursor:default;
}
.service-card:hover { transform: translateY(-6px); background: rgba(255,255,255,.16); border-color: var(--accent); }
.service-card .icon-wrap { height:90px; display:flex; align-items:center; justify-content:center; }
.service-card .icon-wrap i { font-size:2.1rem; color: var(--accent); transition:.25s ease; }
.service-card:hover .icon-wrap i { transform: scale(1.15); }
.service-card .body { padding:.9rem; text-align:center; }
.service-card .body .fw-semibold { color:#fff; }
.service-card .subtitle { color: rgba(255,255,255,.7); font-size:.8rem; }

/* Leadership / Officials */
.leader-item { display:flex; flex-direction:column; align-items:center; text-align:center; height:100%; }
.leader-photo {
    width:110px; height:110px; border-radius:50%; object-fit:cover; object-position: top center;
    border:3px solid var(--accent); box-shadow: 0 4px 16px rgba(123,29,29,.18); margin-bottom:.75rem;
    transition:.2s;
}
.leader-item:hover .leader-photo { transform: scale(1.05); box-shadow: 0 8px 24px rgba(123,29,29,.28); }
.leader-photo-placeholder {
    width:110px; height:110px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary)); border:3px solid var(--accent);
    box-shadow: 0 4px 16px rgba(123,29,29,.18); margin-bottom:.75rem;
}
.leader-photo-placeholder i { color: rgba(255,255,255,.9); font-size:2rem; }
.leader-name { font-weight:600; font-size:.88rem; color: var(--text-dark); }
.leader-designation { color: var(--text-light); font-size:.78rem; line-height:1.3; }

/* Departments */
.dept-tabs .btn { font-size:.8rem; }
.dept-card { border:1px solid var(--medium-gray); border-radius:10px; padding:1rem; text-align:center; text-decoration:none; color: var(--text-dark); height:100%; transition:.2s; background:#fff; }
.dept-card:hover { border-color: var(--primary); transform: translateY(-3px); box-shadow: 0 8px 20px rgba(123,29,29,.12); }
.dept-card i { font-size:1.6rem; color: var(--primary); margin-bottom:.4rem; }

/* Section titles */
.section-title { border-left:4px solid var(--accent); padding-left:.6rem; color: var(--primary-dark); }

/* Footer — matches the live site's dark neutral footer (not maroon) */
.site-footer { background: var(--text-dark); color: rgba(255,255,255,.8); }
.site-footer h6 { color: var(--accent); margin-bottom:1rem; position:relative; padding-bottom:.6rem; display:inline-block; }
.site-footer h6::after {
    content:''; position:absolute; left:0; bottom:0; width:40px; height:2px;
    background: rgba(201,168,76,.5);
}
.site-footer a { color: rgba(255,255,255,.8); text-decoration:none; }
.site-footer a:hover { color: var(--accent-light); }
.footer-bottom { background: rgba(0,0,0,.3); border-top:1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.65); }
.footer-bottom a { color: var(--accent-light); }

/* Generic inner pages */
.page-header {
    background: linear-gradient(120deg, var(--primary-dark) 0%, var(--primary) 60%, var(--primary-light) 100%);
    color:#fff; padding: 2.25rem 0; position: relative; overflow: hidden;
    border-bottom: 4px solid var(--accent);
}
.page-header::before {
    content:''; position:absolute; right:-60px; top:-60px; width:220px; height:220px;
    border-radius:50%; background: rgba(255,255,255,.06);
}
.page-header::after {
    content:''; position:absolute; right:40px; bottom:-90px; width:160px; height:160px;
    border-radius:50%; background: rgba(201,168,76,.18);
}
.page-header h1 { position: relative; margin-bottom: .25rem; }
.page-header p { position: relative; opacity:.85; margin-bottom:0; }
.page-header .breadcrumb-trail { position: relative; font-size:.8rem; opacity:.85; margin-top:.4rem; }
.page-header .breadcrumb-trail a { color:#fff; text-decoration:none; }
.page-header .breadcrumb-trail a:hover { text-decoration:underline; }

.faculty-card { border:1px solid var(--medium-gray); border-radius:10px; overflow:hidden; height:100%; box-shadow: 0 2px 8px rgba(0,0,0,.08); transition:.2s; background:#fff; }
.faculty-card:hover { box-shadow: 0 8px 40px rgba(0,0,0,.16); transform: translateY(-3px); }
.faculty-card img { height:200px; width:100%; object-fit:cover; background: var(--off-white); }
.faculty-card .avatar-placeholder {
    height:200px; width:100%; display:flex; align-items:center; justify-content:center;
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--primary-light) 100%);
}
.faculty-card .avatar-placeholder i { font-size: 3rem; color: rgba(255,255,255,.85); }

/* Pill filter tabs (departments / notices / gallery years) */
.pill-tabs { display:flex; gap:.5rem; flex-wrap:wrap; }
.pill-tabs .btn {
    border-radius: 30px; font-size:.82rem; font-weight:600; padding:.4rem 1.1rem;
    border:2px solid var(--primary); color: var(--primary); background:#fff;
}
.pill-tabs .btn.active, .pill-tabs .btn:hover { background: var(--primary); color:#fff; border-color: var(--primary); }

/* Content cards / tables on inner pages */
.content-card { border:1px solid var(--medium-gray); border-radius:12px; overflow:hidden; box-shadow: 0 2px 8px rgba(0,0,0,.08); background:#fff; }
.content-card .table { margin-bottom:0; }
.content-card .table thead th {
    background: var(--primary); color:#fff; border:0; font-weight:600; font-size:.82rem;
    text-transform: uppercase; letter-spacing:.03em;
}
.content-card .table tbody tr:hover { background: var(--off-white); }

/* Category / status badges */
.badge-soft-navy { background: rgba(123,29,29,.1); color: var(--primary); font-weight:600; }
.badge-soft-maroon { background: rgba(160,48,48,.14); color: var(--primary-light); font-weight:600; }
.badge-soft-gold { background: rgba(201,168,76,.22); color: var(--accent-dark); font-weight:600; }

/* Committee accordion */
.accordion-item { border:1px solid var(--medium-gray) !important; border-radius:10px !important; overflow:hidden; margin-bottom:.75rem; }
.accordion-button { font-weight:600; color: var(--primary-dark); }
.accordion-button:not(.collapsed) { background: linear-gradient(90deg, var(--primary-dark) 0%, var(--primary) 100%); color:#fff; box-shadow:none; }
.accordion-button:not(.collapsed) .badge { background: var(--accent); color: var(--primary-dark) !important; }
.accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(123,29,29,.15); }

/* Reusable maroon pill button (standalone or inside .pill-tabs) */
.btn-active-maroon {
    border-radius: 30px; font-size:.82rem; font-weight:600; padding:.4rem 1.1rem;
    border:2px solid var(--primary); color: var(--primary); background:#fff;
}
.btn-active-maroon.active, .btn-active-maroon:hover { background: var(--primary); color:#fff; border-color: var(--primary); }
.text-accent-dark { color: var(--accent-dark); }

/* Hospital Statistics page */
.stats-filter-bar {
    display:flex; gap:1.5rem; flex-wrap:wrap; align-items:flex-end; background:#fff;
    border:1px solid var(--medium-gray); border-radius:10px; padding:1.1rem 1.4rem;
}
.stats-filter-bar select { max-width:160px; }
.stats-cards-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(170px,1fr)); gap:1rem; }
.stats-info-card {
    background:#fff; border:1px solid var(--medium-gray); border-top:4px solid var(--accent);
    border-radius:10px; padding:1.25rem 1rem; text-align:center;
}
.stats-info-card .s-number { font-family:'Playfair Display',serif; font-size:2rem; font-weight:700; color: var(--primary-dark); line-height:1.1; }
.stats-info-card .s-label { font-size:.8rem; color: var(--text-light); margin-top:.3rem; }
.stats-table-title {
    font-size:1.35rem; color: var(--primary-dark); margin-bottom:1rem;
    border-left:4px solid var(--accent); padding-left:.85rem;
}

/* Hospital services — emergency banner, 24x7 grid, category cards */
.emergency-banner {
    background: linear-gradient(120deg, var(--primary-dark) 0%, var(--primary) 100%); color:#fff;
    border-radius:12px; padding:1.5rem 1.75rem; display:flex; gap:1.5rem; align-items:center; flex-wrap:wrap;
}
.emergency-banner .icon { font-size:2.2rem; color: var(--accent); }
.emergency-banner p { opacity:.9; margin-bottom:0; font-size:.9rem; }
.emergency-call-btn {
    margin-left:auto; display:inline-flex; align-items:center; gap:.6rem; background: var(--accent);
    color: var(--primary-dark); padding:.75rem 1.5rem; border-radius:30px; font-size:1.05rem; font-weight:700;
    text-decoration:none; white-space:nowrap;
}
.emergency-call-btn:hover { background: var(--accent-light); color: var(--primary-dark); }

.badge-24x7 {
    background:#4caf50; color:#fff; font-size:.65rem; font-weight:700; padding:.2rem .65rem;
    border-radius:10px; margin-right:.5rem; vertical-align:middle; letter-spacing:.03em;
}
.badge-24x7-small {
    background:#e8f5e9; color:#2e7d32; font-size:.62rem; font-weight:700; padding:.15rem .55rem;
    border-radius:10px; margin-top:.3rem; display:inline-block;
}

.service-card-247 {
    background:#fff; border:2px solid #4caf50; border-radius:10px; padding:1.25rem 1rem; text-align:center; height:100%;
    transition:.2s;
}
.service-card-247:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(76,175,80,.2); }
.service-card-247 i { font-size:1.8rem; color:#4caf50; margin-bottom:.5rem; display:block; }
.service-card-247 h4 { font-size:.9rem; margin:0; color: var(--text-dark); font-family:'DM Sans',sans-serif; font-weight:600; }

.category-title {
    font-size:1.3rem; color: var(--primary-dark); margin-bottom:1rem;
    border-bottom:2px solid var(--medium-gray); padding-bottom:.6rem;
}
.service-category-card {
    background:#fff; border:1px solid var(--medium-gray); border-radius:10px; padding:1.1rem;
    display:flex; gap:1rem; align-items:flex-start; height:100%;
}
.service-category-card .icon-box {
    width:48px; height:48px; background: var(--primary); border-radius:10px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
}
.service-category-card .icon-box i { color: var(--accent); font-size:1.15rem; }
.service-category-card strong { display:block; font-size:.92rem; color: var(--text-dark); }
.service-category-card .subtitle { color: var(--text-light); font-size:.78rem; margin-top:.15rem; }

/* Contact page — "Get In Touch" info cards */
.contact-info-item { display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.5rem; }
.contact-info-item:last-of-type { margin-bottom:0; }
.contact-icon-box {
    width:48px; height:48px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary)); color: var(--accent); font-size:1.2rem;
}
.contact-info-label { font-weight:700; color: var(--text-dark); font-size:1rem; margin-bottom:.15rem; }
.contact-info-value { color: var(--text-medium); font-size:.92rem; line-height:1.5; }
.contact-info-value a { color: var(--primary); text-decoration:none; }
.contact-info-value a:hover { text-decoration:underline; }

.btn-maroon-solid {
    background: var(--primary); color:#fff; border:none; border-radius:8px; font-weight:600; font-size:.92rem;
}
.btn-maroon-solid:hover { background: var(--primary-dark); color:#fff; }

/* About page */
.about-body h3 {
    font-family:'Playfair Display',serif; color: var(--primary-dark); font-size:1.4rem;
    margin-top:2.2rem; padding-left:.85rem; border-left:4px solid var(--accent);
    scroll-margin-top: 130px;
}
#principal, #vision-mission { scroll-margin-top: 130px; }
.about-body h3:first-of-type { margin-top:0; }
.about-body p, .about-body li { color: var(--text-medium); line-height:1.9; font-size:.98rem; }
.about-body ul { padding-left:1.4rem; }
.principal-message-body { border-left:4px solid var(--accent); padding-left:1.25rem; color: var(--text-medium); line-height:1.9; font-size:.95rem; }
.principal-message-body p:last-child { margin-bottom:0; }

/* Course level badge */
.course-level-badge { font-size:.7rem; padding:.35rem .7rem; border-radius:20px; font-weight:700; letter-spacing:.03em; }
.course-level-badge.level-ug { background: rgba(123,29,29,.12); color: var(--primary); }
.course-level-badge.level-pg { background: rgba(160,48,48,.14); color: var(--primary-light); }
.course-level-badge.level-dnb { background: rgba(201,168,76,.22); color: var(--accent-dark); }
.course-card { border:1px solid var(--medium-gray); border-radius:12px; overflow:hidden; box-shadow: 0 2px 8px rgba(0,0,0,.08); border-top:4px solid var(--accent); transition:.25s; display:flex; flex-direction:column; }
.course-card:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(0,0,0,.12); }
.course-card.level-ug { border-top-color: var(--primary); }
.course-card.level-pg { border-top-color: var(--primary-light); }
.course-card.level-dnb { border-top-color: var(--accent); }

.course-level-heading { font-size:1.35rem; color: var(--primary-dark); margin-bottom:1.25rem; padding-bottom:.6rem; border-bottom:2px solid var(--medium-gray); display:flex; align-items:center; }
.course-level-heading.level-ug i { color: var(--primary); }
.course-level-heading.level-pg i { color: var(--primary-light); }
.course-level-heading.level-dnb i { color: var(--accent-dark); }

.course-card-head { display:flex; gap:1rem; align-items:flex-start; padding:1.25rem 1.25rem .75rem; }
.course-card-icon {
    width:52px; height:52px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    font-size:1.4rem; color:#fff;
}
.course-card.level-ug .course-card-icon { background: linear-gradient(135deg, var(--primary-dark), var(--primary)); }
.course-card.level-pg .course-card-icon { background: linear-gradient(135deg, var(--primary), var(--primary-light)); }
.course-card.level-dnb .course-card-icon { background: linear-gradient(135deg, var(--accent-dark), var(--accent)); }

.course-card-body { padding:0 1.25rem 1.25rem; flex-grow:1; display:flex; flex-direction:column; }
.course-fact { display:flex; align-items:flex-start; gap:.6rem; background: var(--off-white); border-radius:8px; padding:.6rem .75rem; height:100%; }
.course-fact i { color: var(--accent-dark); margin-top:.15rem; }
.course-fact .label { display:block; font-size:.68rem; color: var(--text-light); text-transform:uppercase; letter-spacing:.03em; }
.course-fact .value { display:block; font-size:.88rem; font-weight:600; color: var(--text-dark); }

.course-toggle-btn {
    align-self:flex-start; background: var(--off-white); border:1px solid var(--medium-gray); color: var(--primary-dark);
    font-size:.8rem; font-weight:600; border-radius:20px; padding:.4rem 1rem;
}
.course-toggle-btn:hover { background: var(--primary); color:#fff; border-color: var(--primary); }
.course-toggle-btn[aria-expanded="true"] .fa-chevron-down { transform: rotate(180deg); }
.course-toggle-btn .fa-chevron-down { transition:.2s; }
.course-detail-block { margin-top:1rem; padding-top:1rem; border-top:1px dashed var(--medium-gray); font-size:.88rem; color: var(--text-medium); line-height:1.7; }

@media (max-width: 767px) {
    .hero-slide { height: 340px; }
    .hero-caption h2 { font-size: 1.6rem; }
}

/* Gallery */
.gallery-thumb { position: relative; border-radius:10px; overflow:hidden; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.gallery-thumb img { width:100%; height:180px; object-fit:cover; display:block; transition:.25s ease; }
.gallery-thumb:hover img { transform: scale(1.06); }
.gallery-thumb-caption {
    position:absolute; left:0; right:0; bottom:0; background: linear-gradient(0deg, rgba(0,0,0,.7), transparent);
    color:#fff; font-size:.78rem; padding:.5rem .6rem .35rem;
}
.dept-card.active { border-color: var(--primary); background: var(--off-white); }

.lightbox-overlay {
    position: fixed; inset:0; background: rgba(10,5,5,.92); z-index: 2000;
    display:flex; align-items:center; justify-content:center; flex-direction:column; padding: 2rem;
}
.lightbox-image { max-width: 90vw; max-height: 80vh; border-radius:6px; box-shadow: 0 10px 40px rgba(0,0,0,.5); }
.lightbox-caption { color:#fff; text-align:center; margin-top:1rem; font-size:.9rem; max-width:80vw; }
.lightbox-close {
    position:absolute; top:1rem; right:1.25rem; background:none; border:none; color:#fff;
    font-size:2.2rem; line-height:1; cursor:pointer;
}
.lightbox-nav {
    position:absolute; top:50%; transform:translateY(-50%); background: rgba(255,255,255,.15);
    border:2px solid rgba(255,255,255,.4); color:#fff; width:48px; height:48px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s;
}
.lightbox-nav:hover { background: var(--accent); border-color: var(--accent); color: var(--primary-dark); }
.lightbox-prev { left: 1.25rem; }
.lightbox-next { right: 1.25rem; }
@media (max-width: 575px) {
    .lightbox-nav { width:38px; height:38px; font-size:.85rem; }
}

/* Important Links (homepage, above footer) */
.imp-links-section { background: var(--off-white); padding: 3rem 0; }
.imp-links-grid { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
.imp-link-card {
    display:flex; align-items:center; gap:.6rem; padding:.85rem 1.4rem; background:#fff;
    border:2px solid var(--medium-gray); border-radius:8px; color: var(--text-medium);
    font-size:.85rem; font-weight:500; text-decoration:none; transition:.2s;
}
.imp-link-card i { color: var(--primary); }
.imp-link-card:hover { border-color: var(--primary); color: var(--primary); box-shadow: 0 6px 18px rgba(123,29,29,.12); transform: translateY(-2px); }

/* Primary nav — single line with a "More" overflow dropdown (JS-managed) */
.nav-item { position: relative; }
.nav-more { display:none; }
.nav-more.show-more { display:block; }
.nav-more > a { cursor:pointer; }

/* Mobile nav — hamburger-toggled vertical drawer, matching the live site */
@media (max-width: 991.98px) {
    .main-nav .container { padding-left:0; padding-right:0; }
    .hamburger-btn { display:block; margin-left:.5rem; }
    .nav-list {
        display:none; flex-direction:column; flex-wrap:wrap; width:100%;
        background: var(--primary-dark); padding:.4rem 0;
    }
    .nav-list.mobile-open { display:flex; }
    .nav-list > .nav-item { width:100%; }
    .nav-link-row { width:100%; justify-content:space-between; }
    .nav-list > .nav-item > a, .nav-list > .nav-item > .nav-link-row > a { flex-grow:1; padding:.7rem 1.25rem; }
    .nav-toggle { display:block; }
    .nav-toggle i { transition: transform .2s; }
    .nav-item.mobile-expanded > .nav-link-row .nav-toggle i { transform: rotate(180deg); }
    .dropdown-list {
        display:none; position:static; box-shadow:none; border-top:0; min-width:0;
        background: rgba(0,0,0,.18); padding:.25rem 0;
    }
    .nav-item.mobile-expanded > .dropdown-list { display:block; }
    .dropdown-list li a { color: rgba(255,255,255,.85); padding:.55rem 1.25rem .55rem 2.25rem; }
    .dropdown-list li a:hover { background: rgba(255,255,255,.08); color:#fff; }
    .nav-more { display:none !important; }
}
