/* Homepage registration and sign-in entry points. Kept separate so CDN edges
   cannot reuse an older cached copy of the shared site stylesheet. */
.nav-mobile-auth { display: none !important; }

.nav-login {
  min-height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid rgba(92, 52, 217, .22);
  border-radius: 14px;
  color: var(--violet-deep);
  background: rgba(255,255,255,.82);
  box-shadow: 0 7px 20px rgba(92,52,217,.1);
  font-size: 14px;
  font-weight: 900;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nav-login:hover {
  transform: translateY(-2px);
  border-color: rgba(92,52,217,.5);
  box-shadow: 0 11px 25px rgba(92,52,217,.16);
}

.button-register {
  position: relative;
  min-height: 54px;
  min-width: 178px;
  padding-inline: 27px;
  overflow: hidden;
  font-size: 15px;
}

.button-register::after {
  position: absolute;
  top: -70%;
  left: -34%;
  width: 28%;
  height: 240%;
  content: "";
  background: rgba(255,255,255,.3);
  transform: rotate(24deg);
  transition: left .45s ease;
}

.button-register:hover::after { left: 118%; }

.button-login {
  min-height: 54px;
  min-width: 178px;
  padding-inline: 27px;
  color: #fff;
  background: var(--ink);
  box-shadow: 0 7px 0 rgba(0,0,0,.2), 0 14px 30px rgba(24,19,38,.2);
  font-size: 15px;
}

.hero-actions--account { margin-top: 31px; }

.hero-copy > .hero-account-note {
  margin-top: 17px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--violet-deep);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.4;
}

.hero-account-note span {
  width: 23px;
  height: 23px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: var(--ink);
  background: var(--lime);
  box-shadow: 0 0 0 5px rgba(198,243,107,.18);
}

@media (min-width: 981px) and (max-width: 1120px) {
  .nav-shell { gap: 9px; padding-left: 13px; }
  .nav-links { gap: 0; }
  .nav-links a { padding: 10px 8px; font-size: 13px; }
  .nav-login { padding-inline: 12px; }
  .nav-cta { padding-inline: 14px; }
  .brand-word small { display: none; }
}

@media (max-width: 980px) {
  .nav-mobile-auth {
    margin-top: 6px;
    padding-top: 12px;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    border-top: 1px solid var(--line);
  }

  .nav-links .nav-mobile-auth a {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 900;
  }

  .nav-links .nav-mobile-register {
    background: linear-gradient(135deg, var(--violet), var(--pink));
    box-shadow: 0 8px 20px rgba(129,87,255,.22);
  }

  .nav-links .nav-mobile-login {
    background: var(--ink);
    box-shadow: 0 8px 20px rgba(24,19,38,.16);
  }

  .nav-login, .nav-cta { display: none; }
}

@media (max-width: 680px) {
  .hero-copy > .hero-account-note {
    margin: 18px auto 0;
    justify-content: center;
  }
}
