/* Bootstrap site shell; palette values come from the shared academy tokens. */
.academy-navbar.navbar { top: 14px; margin: 14px 0 18px; padding: 0; }
.academy-navbar.navbar > .container {
  min-height: 82px; padding: 12px 20px; gap: 12px;
  background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 23px;
  box-shadow: 0 5px 24px rgba(23, 43, 77, .035); backdrop-filter: none; -webkit-backdrop-filter: none;
}
.academy-navbar.navbar.scrolled > .container { padding: 12px 20px; box-shadow: var(--shadow-md); }
.academy-brand-mark,
.academy-navbar .brand-logo {
  width: 44px; height: 44px; flex: 0 0 44px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 15px; background: #2563eb; color: #fff; font-size: 22px;
}
.academy-navbar .academy-brand { margin: 0; gap: 10px; font-size: 14px; font-weight: 800; }
.academy-brand-copy { display: flex; flex-direction: column; gap: 2px; }
.academy-brand-copy small { color: var(--text-muted); font-size: 10px; font-weight: 400; max-width: 190px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.academy-navbar .navbar-nav { align-items: center; gap: 2px; }
.academy-navbar .navbar-nav .nav-link {
  padding: 9px 10px; border: 0; border-radius: 12px; background: transparent;
  color: var(--text-muted); font-size: 12px; font-weight: 500; white-space: nowrap;
}
.academy-navbar .navbar-nav .nav-link::after { display: none; }
.academy-navbar .navbar-nav .nav-link:hover,
.academy-navbar .navbar-nav .nav-link.active { background: var(--bg-surface-2); color: var(--color-primary); }
.academy-more-toggle { display: inline-flex; align-items: center; gap: 5px; }
.academy-more-toggle i,
.academy-menu-caret { font-size: 9px; }
.academy-navbar .desktop-nav-group,
.academy-navbar .mobile-nav-group { padding: 0; gap: 7px; background: transparent; border: 0; box-shadow: none; }
.academy-navbar .desktop-account-btn {
  height: 42px; padding-inline: 12px; border-radius: 13px; background: #2563eb; border: 1px solid transparent;
  color: #fff; box-shadow: none; gap: 7px; font-size: 11px;
}
.academy-navbar .desktop-account-btn:hover,
.academy-navbar .desktop-account-btn.active { background: #1746b2; color: #fff; }
.academy-navbar .theme-toggle,
.academy-navbar .mobile-action-btn,
.academy-navbar .mobile-nav-toggle {
  width: 42px; height: 42px; border-radius: 13px; border: 1px solid var(--border-color);
  background: var(--bg-surface); color: var(--text-muted); box-shadow: none; transform: none;
}
.academy-navbar .theme-toggle:hover,
.academy-navbar .mobile-action-btn:hover { color: var(--color-primary); background: var(--bg-surface-2); }
.academy-navbar .mobile-nav-toggle.open { background: #2563eb; border-color: #2563eb; }
.academy-menu.dropdown-menu {
  min-width: 200px; padding: 8px; margin-top: 9px; border: 1px solid var(--border-color);
  border-radius: 17px; background: var(--bg-surface); box-shadow: var(--shadow-md);
}
.academy-menu .dropdown-item {
  display: flex; align-items: center; gap: 9px; min-height: 41px; padding: 8px 10px;
  border-radius: 11px; color: var(--text-main); font-size: 12px; text-align: start;
}
.academy-menu .dropdown-item:hover,
.academy-menu .dropdown-item:focus,
.academy-menu .dropdown-item.active { background: var(--bg-surface-2); color: var(--color-primary); }
.academy-menu .dropdown-divider { border-color: var(--border-color); }
.academy-menu .academy-logout { color: #c44e58; }
.academy-menu form,
.academy-drawer .drawer-foot form { margin: 0; }
.academy-drawer.mobile-drawer {
  background: var(--bg-surface); border-color: var(--border-color); border-radius: 23px 0 0 23px;
  box-shadow: -16px 0 60px rgba(23, 43, 77, .15); backdrop-filter: none; -webkit-backdrop-filter: none;
}
.academy-drawer .drawer-head { background: var(--bg-surface); border-bottom: 1px solid var(--border-color); }
.academy-drawer .drawer-profile { gap: 9px; }
.academy-drawer .drawer-profile strong { font-size: 13px; max-width: 165px; }
.academy-drawer .drawer-profile small { font-size: 10px; }
.academy-drawer .drawer-close,
.academy-drawer .drawer-logout {
  width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid var(--border-color);
  border-radius: 12px; background: var(--bg-surface-2); color: var(--text-muted); box-shadow: none;
}
.academy-drawer .drawer-quick-grid a { border-radius: 16px; font-size: 11px; }
.academy-drawer .drawer-links a { font-size: 12px; border-radius: 14px; }
.academy-drawer .drawer-links a:hover,
.academy-drawer .drawer-links a.active { background: var(--bg-surface-2); }
.academy-drawer .drawer-foot .btn { min-height: 44px; border-radius: 14px; background: #2563eb; color: #fff; }
.academy-footer.footer { padding: 50px 0 0; margin-top: 64px; border-top: 1px solid var(--border-color); background: var(--bg-surface); text-align: start; }
.academy-footer .footer-main { align-items: flex-start; justify-content: flex-start; gap: 0; padding-bottom: 32px; text-align: start; }
.academy-footer .footer-brand { max-width: none; }
.academy-footer .footer-brand .navbar-brand { font-size: 16px; font-weight: 800; gap: 10px; }
.academy-footer .footer-brand p { max-width: 310px; font-size: 12px; line-height: 2; margin: 15px 0; }
.academy-footer .social-links { justify-content: flex-start; gap: 8px; margin-top: 16px; }
.academy-footer .social-links a { width: 36px; height: 36px; border-radius: 12px; background: var(--bg-surface-2); color: var(--text-muted); border: 1px solid var(--border-color); }
.academy-footer .social-links a:hover { color: var(--color-primary); background: var(--bg-surface-2); border-color: var(--color-primary); transform: none; }
.academy-footer .academy-footer-title { margin: 4px 0 15px; font-size: 13px; font-weight: 800; }
.academy-footer .footer-nav { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 9px; }
.academy-footer .footer-nav a,
.academy-footer .academy-contact-line { color: var(--text-muted); font-size: 12px; }
.academy-footer .footer-nav a:hover,
.academy-footer a.academy-contact-line:hover { color: var(--color-primary); }
.academy-contact-line { display: flex; align-items: baseline; gap: 9px; overflow-wrap: anywhere; margin: 0 0 10px; }
.academy-contact-line i { color: var(--color-primary); }
.academy-footer .academy-trust-box { margin-top: 8px; border: 1px solid var(--border-color); border-radius: 16px; }
.academy-footer .footer-bottom { padding: 20px 0; border-top: 1px solid var(--border-color); font-size: 11px; text-align: center; color: var(--text-muted); }
.academy-navbar :is(a, button):focus-visible,
.academy-drawer :is(a, button):focus-visible,
.academy-footer a:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }

@media (min-width: 992px) and (max-width: 1199.98px) {
  .academy-navbar.navbar > .container { gap: 8px; padding-inline: 14px; }
  .academy-navbar .academy-brand { font-size: 12px; gap: 7px; }
  .academy-navbar .academy-brand-copy small { font-size: 9px; max-width: 150px; }
  .academy-navbar .navbar-nav .nav-link { padding-inline: 7px; font-size: 11px; }
  .academy-navbar .desktop-account-btn { padding-inline: 9px; font-size: 10px; }
}
@media (max-width: 991.98px) {
  .academy-navbar.navbar { top: max(10px, env(safe-area-inset-top, 0px)); margin-top: max(10px, env(safe-area-inset-top, 0px)); margin-bottom: 12px; }
  .campaign-bar + .academy-navbar.navbar { top: calc(44px + max(10px, env(safe-area-inset-top, 0px))); }
  .academy-navbar.navbar > .container,
  .academy-navbar.navbar.scrolled > .container { min-height: 70px; width: calc(100% - 24px); padding: 9px; border-radius: 20px; }
  .academy-navbar .mobile-nav-actions { gap: 8px; }
  .academy-navbar .mobile-nav-toggle { flex: 0 0 44px; width: 44px; height: 44px; }
  .academy-navbar .mobile-brand-card { padding: 0; gap: 8px; }
  .academy-navbar .mobile-brand-card:hover { background: transparent; }
  .academy-navbar .mobile-brand-card .academy-brand-mark { width: 36px; height: 36px; flex-basis: 36px; border-radius: 12px; font-size: 19px; }
  .academy-navbar .mobile-brand-name { font-size: 12px; }
  .academy-navbar .mobile-brand-kicker { font-size: 8px; font-weight: 400; color: var(--text-muted); background: transparent; padding: 0; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .academy-navbar .mobile-action-btn,
  .academy-navbar .theme-toggle-mobile { width: 44px; height: 44px; border-radius: 12px; font-size: 16px; }
  .academy-navbar .mobile-nav-group { gap: 4px; }
  .academy-footer.footer { margin-top: 40px; padding-top: 30px; }
  .academy-footer .footer-main { flex-direction: row; }
}
@media (max-width: 359.98px) {
  .academy-navbar .mobile-brand-card .academy-brand-mark { display: none; }
}
