.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section {
  width: 100%;
  min-height: calc(100vh - var(--header-height, 0px));
  padding: var(--space-md) 0 var(--space-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-bg);
  font-family: var(--font-body);
  color: var(--color-text-primary);
}

@media (min-width: 1024px) {
  .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section {
    padding: var(--space-lg) 0 var(--space-3xl);
  }
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__inner {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 32px);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__heading {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-h2);
  font-weight: 400;
  line-height: 1.15;
  color: var(--color-text-primary);
  text-align: center;
  text-wrap: balance;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__subtext {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.65;
  color: var(--color-text-secondary);
  text-align: center;
  text-wrap: pretty;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-top: var(--space-xs);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__field {
  display: flex;
  flex-direction: column;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__label {
  display: block;
  margin-bottom: 6px;
  font-family: var(--font-label);
  font-size: var(--text-label);
  font-weight: 500;
  color: var(--color-text-secondary);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-border);
  border-radius: 2px;
  background: var(--color-surface);
  font-family: var(--font-body);
  font-size: var(--text-body);
  color: var(--color-text-primary);
  transition:
    border-color 200ms cubic-bezier(0.2, 0, 0, 1),
    box-shadow 200ms cubic-bezier(0.2, 0, 0, 1);
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__input::placeholder {
  color: var(--color-text-muted);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__input:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__input[aria-invalid="true"] {
  border-color: var(--color-error);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__input:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__field-error {
  margin: 6px 0 0;
  font-family: var(--font-body);
  font-size: var(--text-small);
  line-height: 1.5;
  color: var(--color-error);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__error {
  margin: 0;
  padding: var(--space-xs) var(--space-sm);
  border-left: 3px solid var(--color-error);
  font-family: var(--font-body);
  font-size: var(--text-small);
  line-height: 1.5;
  color: var(--color-error);
  background: color-mix(in srgb, var(--color-error) 4%, transparent);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  min-height: 44px;
  margin-top: var(--space-xs);
  padding: 10px 24px;
  border: none;
  border-radius: 2px;
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font-label);
  font-size: var(--text-small);
  font-weight: 500;
  cursor: pointer;
  will-change: transform;
  transition:
    background-color 200ms cubic-bezier(0.2, 0, 0, 1),
    transform 120ms cubic-bezier(0.2, 0, 0, 1);
}

@media (min-width: 1024px) {
  .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__submit {
    padding: 12px 28px;
  }
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__submit:active:not(:disabled) {
  transform: scale(0.96);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__submit:hover:not(:disabled) {
  background: var(--color-accent-dark);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 12px;
  margin-top: var(--space-xs);
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--text-small);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 200ms cubic-bezier(0.2, 0, 0, 1);
  align-self: center;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__back-link:hover {
  color: var(--color-accent);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__back-link--success {
  margin-top: var(--space-sm);
  font-family: var(--font-label);
  font-size: var(--text-label);
  font-weight: 500;
  color: var(--color-accent);
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__back-link--success:hover {
  color: var(--color-accent);
  text-decoration: underline;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__success-icon {
  display: block;
  margin: 0 auto var(--space-sm);
  color: var(--color-accent);
}

/* Success state: stagger icon → heading → text → link.
   Animation runs once when state flips from form to success;
   form fields remain unanimated on initial page load. */
.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__success-icon, .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section--success .recover-password-section__heading, .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section--success .recover-password-section__subtext, .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__back-link--success {
  animation: cc_VOQhhMQels_FzGTm0KoQH_recover-password-success-enter 360ms cubic-bezier(0.2, 0, 0, 1)
    both;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__success-icon {
  animation-delay: 0ms;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section--success .recover-password-section__heading {
  animation-delay: 80ms;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section--success .recover-password-section__subtext {
  animation-delay: 160ms;
}

.cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__back-link--success {
  animation-delay: 240ms;
}

@keyframes cc_VOQhhMQels_FzGTm0KoQH_recover-password-success-enter {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__success-icon, .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section--success .recover-password-section__heading, .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section--success .recover-password-section__subtext, .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__back-link--success {
    animation: none;
  }

  .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__submit {
    transition: background-color 200ms cubic-bezier(0.2, 0, 0, 1);
  }

  .cc_VOQhhMQels_FzGTm0KoQH .recover-password-section__submit:active:not(:disabled) {
    transform: none;
  }
}
