/* Shared public navigation and footer; loaded after page-specific styles. */
.ao-header.has-mobile-menu {
  position: sticky;
  top: 0;
  z-index: 500;
}
.ao-header .ao-nav a[aria-current] {
  color: #eaf1ff;
  border-color: rgba(90,144,255,.35);
  background: rgba(61,123,255,.12);
}
.ao-shared-footer {
  position: relative;
  z-index: 2;
  --fg: #dde7fa;
  --fg-dim: #8b97ae;
  --fg-muted: #6f7c95;
  --blue-light: #5a90ff;
  font-family: Inter, 'Segoe UI', system-ui, Helvetica, Arial, sans-serif;
  line-height: 1.6;
}
.ao-footer.ao-shared-footer {
  padding: 0;
  text-align: left;
}

.ao-rich-footer-inner {
  max-width: 1160px;
  margin-inline: auto;
  padding: 42px 24px 30px;
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) repeat(3, minmax(150px, .7fr));
  gap: 30px;
}

.ao-rich-footer-brand {
  max-width: 420px;
}

.ao-rich-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #eaf1ff;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

.ao-rich-footer-logo:hover {
  color: #fff;
  text-decoration: none;
}

.ao-rich-footer-logo img {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}

.ao-rich-footer-copy {
  margin: 14px 0 0;
  color: var(--fg-dim);
  font-size: 13px;
  line-height: 1.75;
}

.ao-rich-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.ao-rich-footer-actions .btn {
  padding: 10px 14px;
  font-size: 13px;
}

.ao-rich-footer-column h3 {
  margin: 2px 0 12px;
  color: #eaf1ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .9px;
  text-transform: uppercase;
}

.ao-rich-footer-column nav,
.ao-rich-footer-links {
  display: grid;
  gap: 9px;
}

.ao-rich-footer-column a {
  color: var(--fg-dim);
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
}

.ao-rich-footer-column a:hover {
  color: #eaf1ff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ao-rich-footer-discord {
  color: var(--blue-light) !important;
  font-weight: 700;
}

.ao-rich-footer-bottom {
  max-width: 1160px;
  margin-inline: auto;
  padding: 18px 24px 34px;
  border-top: 1px solid rgba(255,255,255,.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--fg-muted);
  font-size: 12px;
  line-height: 1.6;
}


.ao-shared-footer .ao-rich-footer-logo { color: #eaf1ff; }
.ao-shared-footer nav a[aria-current="page"] { color: #eaf1ff; text-decoration: underline; text-underline-offset: 3px; }
.ao-shared-footer .btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: .15px;
  padding: 10px 14px;
  white-space: normal;
  text-decoration: none;
  transition: all .15s ease;
}
.ao-shared-footer .btn.primary { color: #fff; background: linear-gradient(135deg,#3d7bff,#2e6bff); border: 1px solid rgba(61,123,255,.5); }
.ao-shared-footer .btn.ghost { color: #8b97ae; background: transparent; border: 1px solid rgba(255,255,255,.1); }
.ao-shared-footer .btn.primary:hover { color: #fff; background: linear-gradient(135deg,#5a90ff,#3d7bff); border-color: rgba(61,123,255,.7); box-shadow: 0 8px 24px rgba(46,107,255,.3); }
.ao-shared-footer .btn.ghost:hover { color: #dde7fa; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.2); box-shadow: 0 4px 16px rgba(0,0,0,.3); }
.ao-shared-footer a:focus-visible, .ao-header a:focus-visible, .ao-menu-toggle:focus-visible { outline: 2px solid #5a90ff; outline-offset: 4px; }
@media (max-width: 1080px) {
  .ao-rich-footer-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ao-rich-footer-brand { max-width: none; }
}
@media (max-width: 720px) {
  .ao-rich-footer-inner { grid-template-columns: 1fr; padding: 34px 16px 24px; gap: 24px; }
  .ao-rich-footer-bottom { padding: 18px 16px 30px; flex-direction: column; align-items: flex-start; }
  .ao-rich-footer-column nav { gap: 0; }
  .ao-rich-footer-column nav a { display: flex; align-items: center; min-height: 44px; }
}
