/* Reset Password Flow Widget CSS */
.inapem-reset-flow-container {
  width: 100%;
  margin: 0 auto;
  font-family: 'Open Sans', sans-serif;
  position: relative;
}

.inapem-step-wrapper {
  display: none;
  animation: inapemFadeIn 0.3s ease-out forwards;
}

.inapem-step-wrapper.active {
  display: block;
}

@keyframes inapemFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.inapem-step-header {
  margin-bottom: 32px;
  width: 100%;
}

/* Alignment logic for the new header container */
.elementor-align-left .inapem-step-header {
  text-align: left;
}
.elementor-align-center .inapem-step-header {
  text-align: center;
}
.elementor-align-right .inapem-step-header {
  text-align: right;
}

.inapem-step-title {
  font-family: var(--font-primary, "Poppins", Sans-serif);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-primary, #25355C);
  margin: 0 0 12px 0;
}

@media (max-width: 767px) {
  .inapem-step-title {
    font-size: 22px;
  }
}

.inapem-step-subtitle {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #25355C;
  margin: 0;
}

.inapem-step-content-box {
  display: flex;
  flex-direction: column;
}

.inapem-reset-flow-container .inapem-input-wrapper {
  width: 100%;
}

.inapem-reset-flow-container .inapem-btn-wrapper {
  width: 100%;
}

.inapem-reset-flow-container .inapem-input-label {
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  text-align: left;
  display: block;
}

.inapem-reset-flow-container .inapem-input-field {
  font-family: 'Open Sans', sans-serif;
}

.inapem-reset-flow-container .inapem-input-field::placeholder {
  font-size: 16px;
}

/* Alignment logic for the new header container handled above */

/* Force Input Labels to always stay left-aligned regardless of container alignment */
.elementor-align-center .inapem-input-label,
.elementor-align-right .inapem-input-label,
.elementor-align-center .inapem-otp-label,
.elementor-align-right .inapem-otp-label {
  text-align: left !important;
  align-self: flex-start !important;
}

/* Step 4 Specifics (Success) */
.inapem-step-wrapper.text-center {
  text-align: center;
}

.inapem-step-success-icon {
  margin-bottom: 32px;
  display: flex;
  justify-content: center;
}

.inapem-step-success-icon i,
.inapem-step-success-icon svg {
  font-size: 64px !important;
  width: 64px !important;
  height: 64px !important;
  color: #25355C !important;
}

.inapem-step-wrapper.text-center .inapem-step-title {
  margin-bottom: 8px;
}

.inapem-step-wrapper.text-center .inapem-step-subtitle {
  margin-bottom: 0px;
}

/* Dark Mode Overrides for Base Texts within Flow Container */
.flow-mode--dark .inapem-step-title {
  color: var(--color-white);
}

.flow-mode--dark .inapem-step-subtitle {
  color: rgba(255, 255, 255, 0.8);
}

/* OTP Label and Resend Link */
.inapem-otp-label {
  display: block;
  margin-bottom: 12px;
  text-align: left !important;
  align-self: flex-start !important;
}

/* Dark mode colors should be handled via Elementor or global variables, not hardcoded here */

.inapem-resend-container {
  margin-top: 24px;
  line-height: 22px;
  display: flex;
  gap: 5px;
  justify-content: center;
}


.inapem-resend-link {
  font-weight: 700 !important;
  text-decoration: underline !important;
  transition: color 0.2s ease;
}

/* Hover state naturally inherits from base if not changed, allowing Elementor hover color to work */
.inapem-resend-link:hover {
  color: var(--color-secondary, #469bd3);
}

.flow-mode--dark .inapem-resend-link:hover {
  color: var(--color-white);
}