/* --- Top layers --- */
.offer-ribbon{
  position: sticky; top: 0; z-index: 1100;
  background:#50c878; color:#fff; padding:.4rem 0; font-size:.95rem;
}
.offer-ribbon .offer-cta{
  background:#fff; color:#1d5be2; padding:.25rem .6rem; border-radius:.35rem; text-decoration:none; font-weight:800;
}
.offer-ribbon .offer-cta:hover{ background:#1d5be2; color:#fff; }

/* Contact strip */
.contact-strip{
  position: sticky; top: 36px; z-index: 1099;
  background:#0f5db5; color:#e7f0ff; font-size:.92rem; padding:.35rem 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.strip-link{ color:#e7f0ff; text-decoration:none; }
.strip-link:hover{ color:#fff; text-decoration:underline; }
.strip-text{ opacity:.9; }

/* Navbar */
.navbar { background:#fff; border-bottom:1px solid #eef2f7; box-shadow:0 2px 12px rgba(0,0,0,.04); }
.navbar .container{ max-width:1240px; }
.navbar-brand{ display:flex; align-items:center; width:170px; }
.navbar-brand img{ width:100%; height:auto; max-height:42px; object-fit:contain; }

.navbar-nav .nav-link{
  color:#0b2a55 !important; font-weight:700; letter-spacing:.2px;
  padding:12px 14px !important; white-space:nowrap; position:relative; transition:color .15s ease;
  font-size:1.05rem;
}
.navbar-nav .nav-link:hover{ color:#1d5be2 !important; }

/* Underline hover */
.navbar-nav .nav-link::after{
  content:""; position:absolute; left:14px; right:14px; bottom:6px; height:2px;
  background:transparent; transform:scaleX(0); transform-origin:left center; transition:transform .2s ease, background .2s ease;
}
.navbar-nav .nav-link:hover::after, .navbar-nav .nav-link.active::after{ background:#1d5be2; transform:scaleX(1); }

/* CTA */
.btn-cta{
  background:#1d5be2; color:#fff; font-weight:800; border-radius:14px; padding:12px 20px;
  box-shadow:0 6px 18px rgba(29,91,226,.25); border:1px solid rgba(29,91,226,.15);
}
.btn-cta:hover{ background:#1760ff; color:#fff; }

/* Mega menu */
.mega-menu{ width:100%; }
.mega-menu .dropdown-item{
  display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:10px;
  color:#0b2a55; background:#fff;
}
.mega-menu .dropdown-item:hover{ background:#f4f7ff; color:#1d5be2; }
.course-title{ font-weight:800; }
.course-sub{ font-size:.86rem; opacity:.75; }

/* Hover open on desktop, click on mobile */
@media (min-width: 992px){
  .navbar .dropdown:hover > .dropdown-menu{ display:block; }
  .navbar .dropdown-toggle::after{ display:none; } /* cleaner caret */
}

@media (max-width: 991px){
  .navbar .container{ max-width:100%; }
  .navbar-brand{ width:150px; }
  .navbar{ box-shadow:0 2px 8px rgba(0,0,0,.05); }
  .mega-menu{ box-shadow:none; }
  .navbar-collapse{ background:#fff; border-top:1px solid #eef2f7; padding:10px 8px; }
  .btn-cta{ width:100%; margin-top:8px; }
}
