/* ==========================================================
   Gandhi Adarsh College, Samalkha
   Design tokens: Navy #0d2b4e / Gold #c9a227 / Cream #f7f5ef
   Display: Merriweather (serif, heritage) | Body: Source Sans 3
   ========================================================== */

:root{
  --navy:#0d2b4e;
  --navy-deep:#081b33;
  --gold:#c9a227;
  --gold-light:#e6c458;
  --cream:#f7f5ef;
  --ink:#1c2530;
  --grey:#5b6472;
  --line:#e3ddcd;
  --white:#ffffff;
  --radius:6px;
  --shadow:0 10px 30px rgba(13,43,78,.12);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Source Sans 3', sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:'Merriweather', serif;
  color:var(--navy);
  line-height:1.25;
  margin:0 0 .5em;
}
a{color:var(--navy);text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}

/* ---------- Top bar ---------- */
.topbar{background:var(--navy-deep);color:#cfd8e3;font-size:.85rem;}
.topbar-inner{display:flex;justify-content:space-between;padding:6px 20px;flex-wrap:wrap;gap:6px;}
.topbar-left span{margin-right:18px;}
.topbar-right a{color:#cfd8e3;margin-left:16px;}
.topbar-right a:hover{color:var(--gold-light);}

/* ---------- Header ---------- */
.site-header{background:var(--white);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;}
.brand{display:flex;align-items:center;gap:14px;}
.brand-logo{height:64px;width:64px;object-fit:contain;}
.brand-text strong{display:block;font-family:'Merriweather',serif;font-size:1.35rem;color:var(--navy);}
.brand-text small{color:var(--gold);letter-spacing:.03em;font-weight:600;font-size:.78rem;text-transform:uppercase;}
.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--navy);cursor:pointer;}

/* ---------- Nav ---------- */
.main-nav{background:var(--navy);}
.main-nav ul{list-style:none;display:flex;margin:0;padding:0;flex-wrap:wrap;}
.main-nav>div>ul>li{position:relative;}
.main-nav a{display:block;padding:14px 16px;color:#e8ecf3;font-weight:600;font-size:.92rem;border-bottom:3px solid transparent;}
.main-nav a:hover,.main-nav a.active{color:var(--gold-light);border-bottom-color:var(--gold);}
.main-nav a.result-link{background:var(--gold);color:var(--navy-deep);}
.main-nav a.result-link:hover{background:var(--gold-light);color:var(--navy-deep);border-bottom-color:var(--navy-deep);}
.dropdown{display:none;position:absolute;top:100%;left:0;background:var(--white);min-width:220px;box-shadow:var(--shadow);z-index:50;border-top:3px solid var(--gold);}
.has-dropdown.open .dropdown{display:block;}
.dropdown-toggle .caret{font-size:.7em;margin-left:4px;display:inline-block;transition:transform .15s;}
.has-dropdown.open .dropdown-toggle .caret{transform:rotate(180deg);}
.dropdown li a{color:var(--ink);padding:11px 18px;border-bottom:1px solid var(--line);font-weight:500;}
.dropdown li a:hover{background:var(--cream);color:var(--navy);}

/* Desktop with a real mouse: open on hover, close automatically on mouse-leave.
   Touch/no-hover devices keep the click-to-toggle behaviour from script.js. */
@media (hover:hover) and (pointer:fine){
  .has-dropdown:hover .dropdown{display:block;}
  .has-dropdown:hover .dropdown-toggle .caret{transform:rotate(180deg);}
}

/* ---------- Hero ---------- */
.hero{position:relative;color:var(--white);}
.hero-media{position:relative;height:440px;overflow:hidden;}
.hero-media img{width:100%;height:100%;object-fit:cover;}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,27,51,.55) 0%, rgba(8,27,51,.75) 100%);}
.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;}
.eyebrow{display:inline-block;color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;font-weight:700;font-size:.8rem;margin-bottom:10px;}
.hero h1{color:var(--white);font-size:2.6rem;max-width:720px;}
.hero p{max-width:600px;color:#e8ecf3;font-size:1.08rem;}
.hero-badges{display:flex;gap:14px;margin-top:20px;flex-wrap:wrap;}
.badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);padding:8px 16px;border-radius:30px;font-size:.85rem;font-weight:600;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;padding:12px 26px;border-radius:var(--radius);font-weight:700;text-align:center;cursor:pointer;border:2px solid transparent;transition:.2s;}
.btn-gold{background:var(--gold);color:var(--navy-deep);}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{border-color:var(--white);color:var(--white);}
.btn-outline:hover{background:var(--white);color:var(--navy);}
.btn-navy{background:var(--navy);color:var(--white);}
.btn-navy:hover{background:var(--navy-deep);}

/* ---------- Sections ---------- */
section{padding:64px 0;}
.section-head{text-align:center;max-width:680px;margin:0 auto 40px;}
.section-head .eyebrow{color:var(--gold);}
.bg-navy{background:var(--navy);color:#dfe4ec;}
.bg-navy h2,.bg-navy h3{color:var(--white);}
.bg-white{background:var(--white);}

/* ---------- Cards / grids ---------- */
.grid{display:grid;gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);}
.card h3{font-size:1.15rem;}
.stat{text-align:center;padding:22px 10px;}
.stat .num{font-family:'Merriweather',serif;font-size:2.3rem;color:var(--gold);font-weight:900;}
.stat .label{color:#cfd8e3;font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.78rem;}

.notice-list{list-style:none;margin:0;padding:0;}
.notice-list li{display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line);}
.notice-date{background:var(--navy);color:var(--white);font-weight:700;padding:6px 12px;border-radius:4px;font-size:.8rem;white-space:nowrap;height:fit-content;}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.gallery-grid img{border-radius:var(--radius);height:220px;width:100%;object-fit:cover;box-shadow:var(--shadow);transition:.25s;}
.gallery-grid img:hover{transform:translateY(-4px);}

/* leadership */
.leader-card{display:flex;gap:20px;align-items:flex-start;}
.leader-card .avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--gold);flex-shrink:0;}

/* ---------- Tables ---------- */
table{width:100%;border-collapse:collapse;background:var(--white);box-shadow:var(--shadow);}
table th,table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;}
table th{background:var(--navy);color:var(--white);font-family:'Merriweather',serif;}
table tr:nth-child(even){background:#faf8f2;}

/* ---------- Forms ---------- */
.form-box{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow);}
label{display:block;font-weight:600;margin-bottom:6px;color:var(--navy);}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #cfd2d8;border-radius:var(--radius);font-family:inherit;font-size:1rem;margin-bottom:18px;}
input:focus,select:focus,textarea:focus{border-color:var(--gold);}

.result-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);padding:70px 0;color:var(--white);}
.result-card{max-width:520px;margin:0 auto;}
.result-slip{max-width:640px;margin:30px auto;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px;text-align:center;}

/* ---------- Breadcrumb / page header ---------- */
.page-header{background:var(--navy);color:var(--white);padding:46px 0;text-align:center;}
.page-header h1{color:var(--white);margin-bottom:6px;}
.page-header .crumb{color:var(--gold-light);font-size:.9rem;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:#c7cfdb;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:34px;padding:56px 20px 30px;}
.footer-logo{height:56px;margin-bottom:10px;filter:brightness(0) invert(1);opacity:.9;}
.site-footer h3,.site-footer h4{color:var(--white);}
.site-footer h4{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--gold);padding-bottom:8px;display:inline-block;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin-bottom:8px;}
.site-footer a{color:#c7cfdb;}
.site-footer a:hover{color:var(--gold-light);}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #3a4a5f;border-radius:50%;margin-right:8px;font-size:.75rem;font-weight:700;}
.footer-bottom{border-top:1px solid #1c3350;text-align:center;padding:16px;font-size:.85rem;color:#8fa0b5;}

/* ---------- Alerts ---------- */
.alert{padding:14px 18px;border-radius:var(--radius);margin-bottom:20px;font-weight:600;}
.alert-success{background:#e6f4ea;color:#1e7e34;border:1px solid #b7e2c0;}
.alert-error{background:#fbe9e7;color:#c62828;border:1px solid #f3c1bb;}

/* ---------- Admin ---------- */
.admin-body{background:var(--cream);}
.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:240px;background:var(--navy-deep);color:#dfe4ec;padding:24px 0;flex-shrink:0;}
.admin-sidebar .brand{padding:0 20px 20px;border-bottom:1px solid #1c3350;margin-bottom:14px;color:var(--white);}
.admin-sidebar a{display:block;padding:12px 22px;color:#c7cfdb;font-weight:600;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--navy);color:var(--gold-light);}
.admin-main{flex:1;padding:34px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--navy-deep));}
.login-box{background:var(--white);padding:44px;border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:400px;text-align:center;}
.login-box img{height:70px;margin:0 auto 14px;}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:720px){
  .nav-toggle{display:block;}
  .main-nav>div>ul{display:none;flex-direction:column;}
  .main-nav.open>div>ul{display:flex;}
  .dropdown{position:static;box-shadow:none;display:none;border-top:none;}
  .has-dropdown.open .dropdown{display:block;}
  .hero h1{font-size:1.9rem;}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;padding:40px 20px;}
  .gallery-grid{grid-template-columns:1fr;}
  .leader-card{flex-direction:column;align-items:center;text-align:center;}
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;}
}
