/* Site chrome on institution / program-builder pages — navbar, session bar, footer */

html {
  scroll-padding-top: calc(var(--session-bar-height) + var(--nav-height) + 12px);
}

body.ic,
body.ip {
  padding-top: 0;
}

body.ic .session-bar,
body.ip .session-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1001;
  background: #111111;
}

body.ic .navbar,
body.ip .navbar {
  position: fixed;
  top: var(--session-bar-height);
  left: 0;
  right: 0;
  z-index: 1000;
  display: block;
  visibility: visible;
  height: var(--nav-height);
  background: rgba(11, 11, 14, 0.96);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border-bottom: 1px solid var(--border);
}

body.ic .navbar.scrolled,
body.ip .navbar.scrolled {
  height: 60px;
}

body.ic .navbar__inner,
body.ip .navbar__inner {
  display: grid;
}

body.ic .navbar__actions .btn--primary,
body.ip .navbar__actions .btn--primary {
  display: inline-flex;
  text-decoration: none;
}

body.ic > .ip-hero,
body.ic > main.ic-hero {
  padding-top: calc(var(--session-bar-height) + var(--nav-height) + clamp(1.75rem, 5vw, 2.75rem));
  scroll-margin-top: calc(var(--session-bar-height) + var(--nav-height));
}

body.ip > .ip-hero {
  padding-top: calc(var(--session-bar-height) + var(--nav-height) + clamp(1.75rem, 5vw, 2.75rem));
  scroll-margin-top: calc(var(--session-bar-height) + var(--nav-height));
}

body.ip .ip-section {
  scroll-margin-top: calc(var(--session-bar-height) + var(--nav-height) + 8px);
}

body.ic .footer,
body.ip .footer {
  display: block;
  visibility: visible;
  margin-top: 0;
  background: var(--bg);
  position: relative;
  z-index: 1;
}

body.ic .footer__grid,
body.ip .footer__grid {
  display: grid;
}

body.ic .footer h4,
body.ip .footer h4 {
  font-family: var(--font-body);
  color: var(--text-primary);
}

body.ic .footer a,
body.ip .footer a {
  display: block;
  color: var(--text-secondary);
  text-decoration: none;
}

body.ic .footer a:hover,
body.ip .footer a:hover {
  color: var(--text-primary);
}

body.ic .social-links a,
body.ip .social-links a {
  display: flex;
}

body.ic .mobile-drawer,
body.ip .mobile-drawer {
  z-index: 1002;
}

body.ic .drawer-overlay,
body.ip .drawer-overlay {
  z-index: 1001;
}

/* Program builder — sticky tray sits below fixed header (see program-builder.html inline CSS) */

@media (min-width: 1024px) {
  body.ic .navbar__links,
  body.ip .navbar__links {
    display: flex !important;
    visibility: visible !important;
  }

  body.ic .nav-toggle,
  body.ip .nav-toggle {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  body.ic .navbar__actions .btn--primary,
  body.ip .navbar__actions .btn--primary {
    display: none;
  }

  body.ic .nav-toggle,
  body.ip .nav-toggle {
    display: flex !important;
  }
}

@media (max-width: 767px) {
  body.ic .navbar__actions .btn--primary,
  body.ip .navbar__actions .btn--primary {
    display: none !important;
  }
}
