/* ============================================================
   Cirkled In — Primary navbar (framework-independent)
   No Bootstrap / jQuery dependency. All classes are scoped
   under .cin so it drops into Bootstrap 4, Bootstrap 5, or a
   plain page without collisions. One copy, any page.
   ============================================================ */

.cin,
.cin *,
.cin *::before,
.cin *::after { box-sizing: border-box; }

.cin {
  /* Design tokens (from Cirkled In colors_and_type.css) */
  --cin-navy-bar: #0F2C54;   /* the bar — deep navy, NOT the light hero blue */
  --cin-blue: #185FA5;
  --cin-blue-700: #124D87;
  --cin-navy-3: #1B3A6B;
  --cin-ink: #0A1628;
  --cin-gold: #F5A623;
  --cin-gold-dark: #E8970F;
  --cin-fg2: #334155;
  --cin-fg3: #64748B;
  --cin-muted: #94A3B8;
  --cin-bg3: #F1F5F9;
  --cin-tint-blue: #E8F3FF;
  --cin-tint-blue-2: #F0F7FF;
  --cin-border: #E2E8F0;
  --cin-white-92: rgba(255,255,255,.92);
  --cin-white-70: rgba(255,255,255,.72);
  --cin-white-14: rgba(255,255,255,.14);
  --cin-font-display: 'Sora', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --cin-font-body: 'DM Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --cin-r-sm: 8px;
  --cin-r-md: 12px;
  --cin-r-pill: 999px;
  --cin-h: 68px;
  --cin-sh-lg: 0 20px 50px rgba(15,23,42,.18);
  --cin-sh-gold: 0 8px 24px rgba(245,166,35,.30);

  /* fixed, not sticky: several pages set `overflow-x:hidden` on <body>,
     which breaks position:sticky in Chrome/Safari. Fixed isn't affected
     by that, since it's anchored to the viewport rather than the nearest
     scrolling ancestor. See #preLoginNavbar/#studentPostLoginNavbar below
     for the matching space-reservation. */
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--cin-navy-bar);
  border-bottom: 1px solid var(--cin-white-14);
  font-family: var(--cin-font-body);
}

/* .cin is fixed and out of normal flow — reserve its height on the wrapper
   divs every page renders it in, so page content doesn't start underneath it. */
#preLoginNavbar,
#studentPostLoginNavbar {
  min-height: 68px; /* matches --cin-h above */
}

.cin__bar {
  max-width: 1320px;
  margin: 0 auto;
  min-height: var(--cin-h);
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Brand */
.cin__brand { display: inline-flex; align-items: center; margin-right: 8px; flex-shrink: 0; }
.cin__brand img { height: 26px; display: block; }

/* Hamburger (mobile only) */
.cin__toggle {
  display: none;
  margin-left: auto;
  width: 42px; height: 42px;
  align-items: center; justify-content: center;
  background: transparent; border: none; cursor: pointer;
  border-radius: var(--cin-r-sm);
}
.cin__toggle:hover { background: var(--cin-white-14); }
.cin__toggle svg { width: 24px; height: 24px; stroke: #fff; }
.cin__toggle .cin__x { display: none; }
.cin.is-open .cin__toggle .cin__burger { display: none; }
.cin.is-open .cin__toggle .cin__x { display: block; }

/* Menu wrapper */
.cin__menu { display: flex; align-items: center; flex: 1 1 auto; }

/* Nav lists */
.cin__nav { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.cin__nav--main { margin-right: auto; }
.cin__nav--end  { gap: 4px; }

.cin__item { position: relative; }

/* Top-level link / dropdown toggle */
.cin__link {
  display: inline-flex; align-items: center; gap: 5px;
  background: transparent; border: none; cursor: pointer;
  font-family: var(--cin-font-body); font-weight: 600; font-size: 15px;
  color: var(--cin-white-92); text-decoration: none;
  padding: 8px 10px; border-radius: var(--cin-r-sm); white-space: nowrap;
  transition: background .18s ease, color .18s ease;
}
.cin__link:hover,
.cin__item.is-open > .cin__link { background: var(--cin-white-14); color: #fff; }
.cin__link .cin__chev { width: 15px; height: 15px; stroke: var(--cin-white-70); transition: transform .18s ease; }
.cin__item.is-open > .cin__link .cin__chev { transform: rotate(180deg); }

/* "Not a student?" — quieter */
.cin__link--quiet { font-weight: 600; font-size: 13px; color: var(--cin-white-70); }

/* NEW badge */
.cin__new {
  background: var(--cin-gold); color: var(--cin-ink);
  font-family: var(--cin-font-display); font-weight: 800; font-size: 9px;
  letter-spacing: .02em; padding: 1px 6px; border-radius: var(--cin-r-pill);
  line-height: normal;
}

/* Hover action-hint pill (main nav, desktop) */
.cin__tip {
  position: absolute; top: calc(100% + 8px); left: 50%;
  transform: translateX(-50%) translateY(-3px);
  background: #fff; color: var(--cin-blue-700);
  border: 1px solid var(--cin-border); box-shadow: 0 6px 18px rgba(15,23,42,.12);
  border-radius: var(--cin-r-pill); padding: 4px 11px;
  font-weight: 700; font-size: 11px; white-space: nowrap;
  opacity: 0; pointer-events: none; transition: .15s ease; z-index: 5;
}
@media (min-width: 992px) {
  .cin__item--drop:hover .cin__tip { opacity: 1; transform: translateX(-50%) translateY(0); }
  .cin__item.is-open .cin__tip { opacity: 0 !important; }
}

/* Auth + CTA */
.cin__login {
  display: inline-flex; align-items: center;
  font-family: var(--cin-font-body); font-weight: 700; font-size: 15px;
  color: #fff; text-decoration: none; padding: 9px 10px;
  border-radius: var(--cin-r-sm); white-space: nowrap;
  transition: background .18s ease;
}
.cin__login:hover { background: var(--cin-white-14); }
.cin__cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  font-family: var(--cin-font-display); font-weight: 800; font-size: 13.5px;
  color: var(--cin-ink); background: var(--cin-gold); text-decoration: none;
  border: none; border-radius: var(--cin-r-sm); padding: 10px 15px;
  box-shadow: var(--cin-sh-gold); white-space: nowrap; cursor: pointer;
  transition: background .18s ease, transform .12s ease;
}
.cin__cta:hover { background: var(--cin-gold-dark); transform: translateY(-1px); }
.cin__cta:active { transform: scale(.98); }
.cin__cta--mobile { display: none; }

/* ============================================================
   Dropdown panels (white cards — same on both nav sides)
   ============================================================ */
.cin__panel {
  display: none;
  position: absolute; top: calc(100% + 10px); left: 0;
  width: 300px; background: #fff;
  border: 1px solid var(--cin-border); border-radius: var(--cin-r-md);
  box-shadow: var(--cin-sh-lg); padding: 8px; z-index: 10;
}
.cin__panel--end { left: auto; right: 0; width: 320px; }
.cin__item.is-open > .cin__panel { display: block; }
/* invisible hover bridge over the 10px gap (desktop) */
@media (min-width: 992px) {
  .cin__item.is-open > .cin__panel::before {
    content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px;
  }
}

/* Value-stat banner */
.cin__stat {
  display: flex; align-items: center; gap: 10px;
  background: var(--cin-tint-blue-2); border-radius: var(--cin-r-sm);
  padding: 12px 14px; margin-bottom: 6px;
}
.cin__stat .cin__emoji { font-size: 20px; line-height: 1; }
.cin__stat b {
  display: block; font-family: var(--cin-font-display); font-weight: 800;
  font-size: 16px; color: var(--cin-navy-3); line-height: 1.2;
}
.cin__stat small { font-size: 12px; color: var(--cin-fg3); font-weight: 500; }

.cin__links { list-style: none; margin: 0; padding: 0; }
.cin__drop-item {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 9px 12px; border-radius: var(--cin-r-sm); text-decoration: none;
  font-weight: 600; font-size: 13.5px; color: var(--cin-fg2);
  transition: background .15s ease, transform .15s ease;
}
.cin__drop-item:hover { background: var(--cin-bg3); transform: translateX(3px); text-decoration: none; }
.cin__chip {
  font-size: 10px; font-weight: 700; color: var(--cin-blue);
  background: var(--cin-tint-blue); padding: 2px 7px; border-radius: var(--cin-r-pill);
  white-space: nowrap;
}
/* hover action verb on submenu rows */
.cin__go {
  font-size: 11px; font-weight: 700; color: var(--cin-blue); white-space: nowrap;
  opacity: 0; transform: translateX(-3px); transition: .15s ease;
}
.cin__drop-item:hover .cin__go { opacity: 1; transform: none; }

.cin__seeall {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 12px 6px; text-decoration: none;
  font-family: var(--cin-font-display); font-weight: 700; font-size: 13px;
  color: var(--cin-blue);
}
.cin__seeall:hover { color: var(--cin-blue-700); }
.cin__seeall svg { width: 14px; height: 14px; stroke: currentColor; }

/* Role rows ("Not a student?") — always left aligned */
.cin__label {
  padding: 8px 10px 4px; font-family: var(--cin-font-display);
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--cin-muted);
}
.cin__role {
  display: flex; align-items: center; justify-content: flex-start; gap: 12px;
  padding: 10px; border-radius: var(--cin-r-md); text-decoration: none;
  transition: background .15s ease;
}
.cin__role:hover { background: var(--cin-bg3); }
.cin__role-ic {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 17px;
}
.cin__role-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.cin__role-title {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--cin-font-display); font-weight: 700; font-size: 14px; color: var(--cin-navy-3);
}
.cin__role-desc { font-size: 12.5px; color: var(--cin-fg3); }

/* ============================================================
   Focus states (keyboard accessibility)
   ============================================================ */
.cin__link:focus-visible,
.cin__login:focus-visible,
.cin__cta:focus-visible,
.cin__toggle:focus-visible {
  outline: 2px solid var(--cin-gold); outline-offset: 2px;
}
.cin__drop-item:focus-visible,
.cin__seeall:focus-visible,
.cin__role:focus-visible {
  outline: 2px solid var(--cin-blue); outline-offset: -2px; background: var(--cin-bg3);
}

/* ============================================================
   Mobile (< 992px) — slide-down stacked menu
   ============================================================ */
@media (max-width: 991.98px) {
  .cin__toggle { display: inline-flex; order: 3; }
  .cin__cta--mobile { display: inline-flex; order: 2; font-size: 13px; padding: 9px 14px; }

  .cin__menu {
    position: absolute; left: 0; right: 0; top: var(--cin-h);
    flex-direction: column; align-items: stretch;
    background: var(--cin-navy-bar); border-top: 1px solid var(--cin-white-14);
    max-height: 0; overflow: hidden; transition: max-height .28s ease;
  }
  .cin.is-open .cin__menu { max-height: calc(100vh - var(--cin-h)); overflow-y: auto; }
  .cin__menu { padding: 0 12px; }
  .cin.is-open .cin__menu { padding: 8px 12px 20px; }

  .cin__nav { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
  .cin__item { width: 100%; }
  .cin__link { width: 100%; justify-content: left; font-size: 16px; padding: 14px 8px; border-bottom: 1px solid var(--cin-white-14); border-radius: 0; }
  .cin__link--quiet { font-size: 16px; color: var(--cin-white-92); }

  .cin__tip { display: none; }

  /* panels become inline accordions */
  .cin__panel, .cin__panel--end {
    position: static; width: 100%; box-shadow: none; border: none;
    background: rgba(255,255,255,.04); border-radius: var(--cin-r-md);
    margin: 6px 0 10px; padding: 8px;
  }
  .cin__seeall{
    color: #fff;
  }
  .cin__drop-item { color: #fff; }
  .cin__drop-item:hover { background: var(--cin-white-14); }
  .cin__go { color: var(--cin-gold); }
  .cin__role-title { color: #fff; }
  .cin__role:hover { background: var(--cin-white-14); }
  .cin__login { font-size: 16px; padding: 14px 8px; justify-content: flex-start; }
  .cin__cta--desktop { display: none; }

  .cin__nav--end { gap: 0; margin-top: 6px; }
}
@media (min-width: 992px) {
  .cin__cta--mobile { display: none; }
}
a.cin__login:hover {
    color: #fff;
}
.student-profile-navbar .cin{
  position: relative;
  width: 100%;
  border-radius: 12px;
}