/* Shared with login.jsp, which also loads this file for these — see its own <link> tag. */
.captcha-row {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 0.8rem 0;
}

.captcha-row img {
  border: 1px solid var(--color-tint-2);
  border-radius: 4px;
}

.captcha-refresh {
  font-size: 1.3rem;
  color: var(--color-shade-1);
}

/* ---- Signup — 40/60 split: onboarding intro (photo + steps), sign-up form ---- */
/*
  Fixed height + hidden overflow, same technique as the hero and the login split: a fixed
  one-screen box can't grow taller than the viewport, so it never forces a page scroll.
  margin-top cancels main's top padding (global.css) so it sits flush under the header.
*/
.signup-split {
  display: grid;
  grid-template-columns: 0.6fr 0.4fr;
  align-items: stretch;
  height: 100vh;
  overflow: hidden;
  margin-top: -3.2rem;
  margin-left: -3.2rem;
  margin-right: -3.2rem;
  width: calc(100% + 6.4rem);
}

.signup-intro-panel {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background-color: var(--color-shade-2);
}

.signup-intro-photo-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.signup-intro-wash {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.75) 100%);
}

.signup-intro-content {
  position: relative;
  z-index: 2;
  color: #fff;
  padding: 3.2rem;
  width: 100%;
}

.signup-intro-content .subheading {
  color: #fff;
  opacity: 0.85;
}

.signup-intro-content .heading-tertiary {
  color: #fff;
  font-size: 2.4rem;
  margin-bottom: 1.6rem;
}

.signup-steps--compact {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.signup-steps--compact li {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.4rem;
  font-weight: 500;
}

.signup-step-num {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
}

.signup-secure-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.8rem 1.4rem;
  border-radius: var(--radius-default);
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.25);
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.signup-secure-badge .icon {
  width: 1.6rem;
  height: 1.6rem;
  color: #6fcfc2;
  flex-shrink: 0;
}

/* Razorpay wordmark treatment — text-based, not a reproduced logo mark, since this is just a
   "powered by" credit line, not a partnership lockup. */
.signup-razorpay-mark {
  font-weight: 700;
  color: #fff;
}

.signup-form-panel {
  overflow-y: auto;
  padding: 2.4rem 3.2rem;
  display: flex;
  align-items: center;
}

.signup-form-panel-inner {
  width: 100%;
  max-width: 62rem;
  margin: 0 auto;
}

.signup-form-panel-inner > .heading-tertiary {
  margin-bottom: 1.6rem;
}

/* Compact vertical rhythm so all 8 fields + captcha + buttons fit one screen alongside the
   intro panel — the global .form-field spacing (1.6rem) is tuned for full-page forms. */
.signup-form-panel .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 2rem;
}

.signup-form-panel .form-field {
  margin-bottom: 0.9rem;
  gap: 0.3rem;
}

.signup-form-panel .form-field label {
  font-size: 1.2rem;
}

.signup-form-panel .form-field input {
  padding: 0.8rem 1.2rem;
  font-size: 1.4rem;
}

.signup-form-panel .captcha-row {
  margin: 0.4rem 0;
}

.signup-form-panel .captcha-row img {
  height: 3.2rem;
  width: auto;
}

.signup-form-panel .form-message {
  padding: 0.7rem 1.2rem;
  font-size: 1.2rem;
  margin-bottom: 0.8rem;
}

@media (max-width: 900px) {
  .signup-split {
    grid-template-columns: 1fr;
    height: auto;
    overflow: visible;
    min-height: 100vh;
  }

  .signup-intro-panel {
    min-height: 26rem;
  }

  .signup-form-panel {
    overflow-y: visible;
    padding: 3.2rem 2rem;
  }

  .signup-form-panel .form-grid {
    grid-template-columns: 1fr;
  }
}
