:root{
  --maroon:#7a1f2b;
  --maroon-dark:#5c1620;
  --gold:#c9a227;
  --cream:#faf7f0;
  --text:#2a2a2a;
  --muted:#6b6b6b;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Segoe UI',Arial,sans-serif;color:var(--text);background:#fff;font-size:17px;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

/* Utility bar */
.util-bar{background:var(--maroon-dark);color:#fff;font-size:14px;padding:6px 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;}
.util-bar a{color:#eee;margin-left:14px;}

/* Header */
header{background:#fff;border-bottom:3px solid var(--gold);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:24px;color:var(--maroon);}
nav{background:var(--maroon);}
nav ul{list-style:none;display:flex;flex-wrap:wrap;}
nav li{position:relative;}
nav a{display:block;color:#fff;padding:14px 18px;font-size:16px;font-weight:600;letter-spacing:.3px;}
nav li:hover{background:var(--gold);}
nav li:hover > a{color:var(--maroon-dark);}
nav li.current > a{background:var(--maroon-dark);}
.apply-btn{background:var(--gold);color:var(--maroon-dark)!important;margin:8px 12px;padding:8px 16px!important;border-radius:4px;}

/* dropdown — click-driven (.open, set by assets/js/nav.js) for touch
   devices; :hover-driven for mouse devices, gated below so the two never
   run on the same device and can't race each other */
nav .has-drop.open .dropdown{display:block;}
nav .dropdown{display:none;position:absolute;top:100%;left:0;background:var(--maroon-dark);min-width:220px;z-index:20;box-shadow:0 6px 14px rgba(0,0,0,.25);}
nav .dropdown li{width:100%;}
nav .dropdown a{padding:12px 18px;font-size:15px;border-bottom:1px solid rgba(255,255,255,.08);}
nav .dropdown li:hover{background:var(--gold);}

/* nested (2nd level) dropdown, e.g. MBA/MCA -> Faculty (same click/hover split) */
nav .dropdown li.has-drop-sub{position:relative;}
nav .dropdown li.has-drop-sub.open .sub-dropdown{display:block;}
nav .sub-dropdown{display:none;position:absolute;top:0;left:100%;background:var(--maroon-dark);min-width:180px;z-index:21;box-shadow:0 6px 14px rgba(0,0,0,.25);}
nav .sub-dropdown a{padding:12px 18px;font-size:15px;border-bottom:1px solid rgba(255,255,255,.08);}
nav .sub-dropdown li:hover{background:var(--gold);}

/* Mouse-hover UX: only on devices with a real hover-capable pointer.
   nav.js skips attaching its click-to-open logic on these devices, so
   hover is the ONLY thing controlling open/close here — no .open class
   is ever added, so nothing can get stuck open under the hover items. */
@media (hover:hover) and (pointer:fine){
  nav .has-drop:hover > .dropdown{display:block;}
  nav .dropdown li.has-drop-sub:hover > .sub-dropdown{display:block;}
}

/* Keyboard accessibility (tab focus) on any device */
nav .has-drop:focus-within > .dropdown{display:block;}
nav .dropdown li.has-drop-sub:focus-within > .sub-dropdown{display:block;}


/* Hero slider */
.hero{position:relative;height:340px;overflow:hidden;background:linear-gradient(120deg,var(--maroon),var(--maroon-dark));}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease-in-out;display:flex;align-items:flex-end;justify-content:center;}
.hero-slide.active{opacity:1;z-index:1;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 45%, rgba(0,0,0,0) 70%);}
.hero-text{position:relative;z-index:2;text-align:center;color:#fff;padding:0 20px 46px;text-shadow:0 2px 6px rgba(0,0,0,.6);max-width:100%;}
.hero h1{font-size:clamp(11px, 3.3vw, 38px);margin-bottom:10px;white-space:nowrap;}
.hero p{color:#f1d9a8;font-size:clamp(11px, 1.8vw, 18px);white-space:nowrap;}
.hero-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:3;}
.dot{width:8px;height:8px;border-radius:50%;background:#fff6;cursor:pointer;transition:background .2s;}
.dot:hover{background:#fffb;}
.dot.active{background:var(--gold);}

/* Page banner (inner pages) */
.page-banner{background:linear-gradient(120deg,var(--maroon),var(--maroon-dark));color:#fff;padding:40px 24px;text-align:center;}
.page-banner h1{font-size:32px;}
.page-banner .crumb{color:#f1d9a8;font-size:14px;margin-top:8px;}
.page-banner .crumb a{color:#f1d9a8;text-decoration:underline;}

/* Notice board ticker */
.notice-bar{background:var(--gold);color:var(--maroon-dark);display:flex;align-items:center;font-weight:700;font-size:16px;overflow:hidden;}
.notice-label{background:var(--maroon-dark);color:var(--gold);padding:10px 18px;white-space:nowrap;}
.ticker-track{overflow:hidden;flex:1;position:relative;height:36px;}
.ticker-inner{position:absolute;white-space:nowrap;animation:scroll-left 25s linear infinite;padding-top:9px;}
.ticker-inner a{color:var(--maroon-dark);}
@keyframes scroll-left{from{transform:translateX(100%);}to{transform:translateX(-150%);}}

/* Sections */
.section{padding:44px 24px;max-width:1100px;margin:0 auto;}

/* Programs page: Faculty is a sub-tab — hidden by default, only shows when
   opened via the Faculty link (programs.php?dept=mba#faculty / #mca#faculty) */
.section#faculty{display:none;}
.section#faculty:target{display:block;}
.section h2{color:var(--maroon);font-size:27px;border-left:5px solid var(--gold);padding-left:12px;margin-bottom:18px;}
.section h3{color:var(--maroon-dark);font-size:20px;margin:18px 0 8px;}
.section p{line-height:1.7;color:var(--muted);font-size:16px;margin-bottom:12px;}
.grid-2{display:grid;grid-template-columns:2fr 1fr;gap:30px;}
.card{background:var(--cream);border:1px solid #eadfc8;border-radius:6px;padding:18px;}
.sidebar-widget h3{color:var(--maroon);font-size:19px;margin-bottom:10px;border-bottom:2px solid var(--gold);padding-bottom:6px;}
.sidebar-widget ul{list-style:none;font-size:16px;}
.sidebar-widget li{padding:8px 0;border-bottom:1px dashed #ddd;color:var(--muted);}
.sidebar-widget li a{color:var(--maroon-dark);font-weight:600;}
.sidebar-widget li b{color:var(--maroon-dark);display:block;font-size:14px;}

/* Grids for cards (faculty, placements, gallery, downloads) */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;margin-top:10px;}
.trust-subhead{color:var(--maroon-dark);font-size:19px;margin:26px 0 6px;border-left:4px solid var(--gold);padding-left:10px;}
.principal-block{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.principal-photo-wrap{flex-shrink:0;}
.principal-photo{width:110px;height:110px;border-radius:50%;object-fit:cover;object-position:center 15%;border:3px solid var(--gold);background:#eee;display:block;}
.principal-photo-placeholder{display:flex;align-items:center;justify-content:center;overflow:hidden;}
.principal-name-block h4{color:var(--maroon-dark);font-size:17px;margin:0;}
.principal-name-block span{color:var(--muted);font-size:14px;display:block;margin-top:2px;}
.trust-img-wrap{background:var(--cream);border:1px solid #eadfc8;border-radius:10px;padding:8px;box-shadow:0 4px 14px rgba(0,0,0,.08);max-width:640px;margin:0 auto;}
.trust-img-wrap img{width:100%;display:block;border-radius:6px;}
.person-card{background:var(--cream);border:1px solid #eadfc8;border-radius:8px;overflow:hidden;text-align:center;}
.person-card img{width:100%;height:220px;object-fit:cover;object-position:center 15%;background:#eee;display:block;}
.person-card .p-body{padding:12px;}
.person-card h4{color:var(--maroon-dark);font-size:16px;}
.person-card span{color:var(--muted);font-size:13px;display:block;margin-top:4px;}

/* Gallery - marquee style */
.gallery-strip-outer{overflow:hidden;}
.gallery-strip{display:flex;gap:12px;width:max-content;animation:gallery-scroll 40s linear infinite;}
.gallery-strip img{width:200px;height:150px;border-radius:6px;object-fit:cover;flex-shrink:0;border:2px solid var(--gold);}
@keyframes gallery-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.gallery-full{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.gallery-full img{width:100%;height:170px;object-fit:cover;border-radius:6px;border:2px solid var(--gold);}
.gallery-full figure{margin:0;}
.gallery-full figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:4px;}

/* Tables */
table.data-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px;}
table.data-table th, table.data-table td{border:1px solid #eadfc8;padding:10px 12px;text-align:left;}
table.data-table th{background:var(--maroon);color:#fff;}
table.data-table tr:nth-child(even){background:var(--cream);}

/* Buttons / forms */
.btn{display:inline-block;background:var(--maroon);color:#fff;padding:10px 20px;border-radius:4px;font-weight:600;border:none;cursor:pointer;font-size:15px;}
.btn:hover{background:var(--maroon-dark);}
.btn-gold{background:var(--gold);color:var(--maroon-dark);}
.form-group{margin-bottom:14px;}
.form-group label{display:block;font-weight:600;color:var(--maroon-dark);margin-bottom:5px;font-size:14px;}
.form-group input, .form-group select, .form-group textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:15px;font-family:inherit;}
.alert{padding:12px 16px;border-radius:5px;margin-bottom:16px;font-size:15px;}
.alert-success{background:#e4f6e6;color:#1c6b2c;border:1px solid #b6e3bd;}
.alert-error{background:#fbe7e8;color:var(--maroon-dark);border:1px solid #f0c1c5;}

/* Download list */
.download-list{list-style:none;}
.download-list li{display:flex;justify-content:space-between;align-items:center;background:var(--cream);border:1px solid #eadfc8;border-radius:5px;padding:12px 16px;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
.download-list .dl-tag{font-size:12px;background:var(--gold);color:var(--maroon-dark);padding:3px 9px;border-radius:12px;margin-left:8px;}
.dl-filter-bar{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:22px;}
.dl-filter-bar .form-group{flex:1;min-width:220px;margin-bottom:0;}
.dl-filter-bar select:disabled{background:#eee;cursor:not-allowed;}
.dl-hint{color:var(--muted);font-style:italic;}

footer{background:var(--maroon-dark);color:#e8d9c2;padding:36px 24px 16px;}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1100px;margin:0 auto;}
footer h4{color:var(--gold);font-size:17px;margin-bottom:10px;}
footer ul{list-style:none;font-size:14px;line-height:2;}
footer a:hover{text-decoration:underline;}
.copyright{text-align:center;font-size:13px;margin-top:24px;color:#c9b596;border-top:1px solid #8a3040;padding-top:14px;}

@media (max-width:900px){
  .grid-2{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:repeat(2,1fr);}
  nav ul{flex-direction:column;}
  nav .dropdown{position:static;display:none;}
  nav .has-drop.open .dropdown{display:block;}
  nav .sub-dropdown{position:static;display:none;}
  nav .has-drop-sub.open .sub-dropdown{display:block;}
}

/* ---------- Admin panel ---------- */
.admin-body{background:#f4f1ea;min-height:100vh;}
.admin-wrap{display:flex;min-height:100vh;}
.admin-sidebar{width:230px;background:var(--maroon-dark);color:#fff;flex-shrink:0;}
.admin-sidebar h2{padding:20px 16px;font-size:17px;border-bottom:1px solid rgba(255,255,255,.15);}
.admin-sidebar a{display:block;padding:12px 18px;color:#e8d9c2;font-size:14.5px;border-bottom:1px solid rgba(255,255,255,.06);}
.admin-sidebar a:hover, .admin-sidebar a.active{background:var(--maroon);color:#fff;}
.admin-main{flex:1;padding:28px;max-width:1100px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.admin-login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(120deg,var(--maroon),var(--maroon-dark));}
.admin-login-box{background:#fff;padding:36px;border-radius:8px;width:340px;box-shadow:0 10px 30px rgba(0,0,0,.3);}
.admin-login-box h2{color:var(--maroon);margin-bottom:18px;text-align:center;}
.thumb-sm{width:60px;height:60px;object-fit:cover;border-radius:4px;background:#eee;}

/* ---------- Placement page: section sub-tabs ---------- */
.subtab-nav{position:sticky;top:0;z-index:15;background:var(--maroon-dark);display:flex;flex-wrap:wrap;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.15);}
.subtab-nav a{color:#f1d9a8;padding:14px 22px;font-weight:700;font-size:15px;letter-spacing:.3px;border-bottom:3px solid transparent;}
.subtab-nav a:hover{background:rgba(255,255,255,.06);color:#fff;}
.subtab-nav a.active{color:#fff;border-bottom-color:var(--gold);background:var(--maroon);}

/* ---------- Inner tabs (Placement Officer / Association) ---------- */
.inner-tabs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.inner-tab-btn{background:var(--cream);border:1px solid #eadfc8;color:var(--maroon-dark);padding:10px 22px;border-radius:30px;font-weight:600;font-size:15px;cursor:pointer;}
.inner-tab-btn:hover{background:#f1e6cc;}
.inner-tab-btn.active{background:var(--maroon);color:#fff;border-color:var(--maroon);}
.inner-tab-panel{display:none;}
.inner-tab-panel.active{display:block;}

/* ---------- Association / recruiter company logos ---------- */
.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;margin-top:10px;}
.logo-card{background:#fff;border:1px solid #eadfc8;border-radius:8px;padding:16px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;}
.logo-card img{width:100%;height:64px;object-fit:contain;}
.logo-card .logo-fallback{width:100%;height:64px;display:flex;align-items:center;justify-content:center;background:var(--cream);border-radius:4px;color:var(--maroon-dark);font-weight:700;font-size:13px;}
.logo-card span{font-size:13.5px;font-weight:600;color:var(--maroon-dark);}

/* ---------- Our Placements: certificate-style student card ---------- */
.placement-dept-block{margin-bottom:34px;}
.placement-dept-block h3{display:inline-block;background:var(--maroon);color:#fff;padding:6px 18px;border-radius:20px;font-size:16px;margin-bottom:18px;}
.placement-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:22px;}
.placement-card{background:#fff;border:2px solid var(--gold);border-radius:10px;overflow:hidden;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.08);position:relative;}
.placement-card .pc-head{background:linear-gradient(120deg,var(--maroon),var(--maroon-dark));color:#fff;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;}
.placement-card .pc-head .pc-crest{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--maroon-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;}
.placement-card .pc-head .pc-college{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.2px;}
.placement-card .pc-photo{width:100%;height:170px;object-fit:cover;object-position:center 15%;background:#eee;}
.placement-card .pc-body{padding:12px 10px 16px;}
.placement-card .pc-body h4{color:var(--maroon-dark);font-size:16px;margin-bottom:6px;}
.placement-card .pc-body .pc-company-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;}
.placement-card .pc-body .pc-company-logo{width:140px;height:60px;object-fit:contain;border-radius:4px;}
.placement-card .pc-body .pc-company{font-size:13.5px;color:var(--muted);display:block;}
.placement-card .pc-body .pc-package{display:inline-block;margin-top:8px;background:var(--gold);color:var(--maroon-dark);font-weight:700;font-size:13px;padding:4px 12px;border-radius:14px;}

@media (max-width:600px){
  .subtab-nav{position:static;}
  .subtab-nav a{padding:12px 14px;font-size:13.5px;}
}
