/* site.css — Nkhoma College of Nursing and Midwifery theme tweaks (Bootstrap 5) */

/* ===== Brand palette (matches your logo) ===== */
:root{
  --brand:#0d3b66;
  --brand-2:#155a9c;
  --brand-3:#1f6fb2;
  --accent:#2f9e44;
  --warning:#e67700;
  --muted:#f6f9fc;
  --text:#243b53;
  --header-height:72px; /* tune if your header is taller/shorter */
}

/* ===== Base ===== */
html,body{scroll-behavior:smooth;}
body{color:var(--text); background:#fff;}
a{color:var(--brand-2);}
a:hover{color:var(--brand-3);}

/* Focus ring (accessible) */
:focus-visible{
  outline:3px solid rgba(21,90,156,.35);
  outline-offset:2px;
  border-radius:6px;
}

/* ===== Buttons ===== */
.btn-primary{
  --bs-btn-bg:var(--brand-2);
  --bs-btn-border-color:var(--brand-2);
  --bs-btn-hover-bg:var(--brand-3);
  --bs-btn-hover-border-color:var(--brand-3);
  --bs-btn-active-bg:#0f4d83;
  --bs-btn-active-border-color:#0f4d83;
  --bs-btn-focus-shadow-rgb:21,90,156;
}
.btn-outline-primary{
  --bs-btn-color:var(--brand-2);
  --bs-btn-border-color:var(--brand-2);
  --bs-btn-hover-bg:var(--brand-2);
  --bs-btn-hover-border-color:var(--brand-2);
}

/* ===== Navbar & Mega Menu ===== */
.navbar.ncnm{
  background:#fff;
  border-bottom:1px solid #e8eef3;
  min-height:var(--header-height);
}
.navbar.ncnm .navbar-brand img{height:48px; width:auto;}
.navbar.ncnm .nav-link{font-weight:600;}
.navbar.ncnm .nav-link.active{color:var(--brand-2) !important}

/* Mega container occupies full width under navbar */
.dropdown-mega{position:static !important;}
@media (min-width: 992px){
  .dropdown-mega .dropdown-menu{
    left:0; right:0; top:100%;
    border:0; border-top:1px solid #e8eef3;
    border-radius:0 0 14px 14px;
    padding:24px;
    box-shadow:0 18px 36px rgba(0,0,0,.06);
  }
}

/* Prevent hover flicker gaps */
.dropdown-mega .dropdown-menu::before{
  content:""; position:absolute; left:0; right:0; top:-10px; height:10px;
}

/* ===== Cards & utilities ===== */
.card-soft, .prog-card, .contact-card, .dept-card{
  box-shadow:0 1px 6px rgba(0,0,0,.05);
  border:1px solid #e8eef3;
  border-radius:14px;
}
.shadow-soft{box-shadow:0 1px 8px rgba(0,0,0,.06) !important;}
.rounded-2xl{border-radius:18px !important;}
.bg-muted{background:var(--muted) !important;}
.text-brand{color:var(--brand) !important;}
.text-brand-2{color:var(--brand-2) !important;}

/* ===== Heroes (shared) ===== */
.hero{
  position:relative; color:#fff; background:var(--brand);
  border-bottom:4px solid var(--brand-2);
}
.hero .overlay{
  position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.25), rgba(0,0,0,.25));
}
.hero .content{position:relative; padding:48px 0;}
.hero h1{font-weight:700}

/* ===== Forms ===== */
.form-control, .form-select{
  border-radius:10px; border-color:#dfe7ef;
}
.form-control:focus, .form-select:focus{
  border-color:var(--brand-2); box-shadow:0 0 0 .2rem rgba(21,90,156,.15);
}

/* ===== Sticky filter (Programmes sidebar) ===== */
.sticky-filter{
  position:sticky; top:calc(var(--header-height) + 12px);
}

/* ===== Footer ===== */
.site-footer{
  background:#0b2f50; color:#dfe7ef;
  border-top:4px solid var(--brand-2);
}
.site-footer a{color:#cfe2ff;}
.site-footer a:hover{color:#fff;}
