
/* Public header repair - loaded last on public landing pages */
.public-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  background: rgba(7,18,37,.92) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  backdrop-filter: blur(16px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.public-nav-wrap {
  width: min(1180px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  min-height: 76px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.25rem !important;
  padding: 0 !important;
}

.public-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: .75rem !important;
  min-width: max-content !important;
  color: #fff !important;
  text-decoration: none !important;
}

.brand-mark {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #60a5fa, #8b5cf6) !important;
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
}

.public-brand strong {
  display: block !important;
  color: #fff !important;
  font-size: 1rem !important;
  line-height: 1.05 !important;
}

.public-brand small {
  display: block !important;
  color: rgba(225,235,255,.68) !important;
  font-size: .76rem !important;
  margin-top: .15rem !important;
}

.public-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .35rem !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

.public-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.84) !important;
  padding: .6rem .78rem !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: .92rem !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.public-nav a:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}

.nav-actions {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  min-width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
}

.public-site-header .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  border-radius: 999px !important;
  padding: .7rem 1.05rem !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.public-site-header .btn.primary {
  background: linear-gradient(135deg, #60a5fa, #8b5cf6) !important;
  color: #fff !important;
  box-shadow: 0 18px 45px rgba(139,92,246,.28) !important;
}

.public-site-header .btn.secondary {
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
}

@media (max-width: 900px) {
  .public-nav-wrap {
    flex-wrap: wrap !important;
    padding: .75rem 0 !important;
  }

  .public-nav {
    order: 3 !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .nav-actions {
    margin-left: auto !important;
  }
}

@media (max-width: 520px) {
  .public-nav-wrap {
    width: min(100% - 20px, 1180px) !important;
  }

  .public-brand small {
    display: none !important;
  }

  .public-nav a {
    font-size: .82rem !important;
    padding: .5rem .55rem !important;
  }

  .public-site-header .btn {
    padding: .62rem .8rem !important;
  }
}
