/* Input Widget */
.inapem-input-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* Space between label and input */
  width: 100%;
  font-family: "Poppins", Sans-serif;
}

.inapem-input-label {
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--e-global-color-primary, var(--color-primary));
  display: block;
}

.inapem-input-asterisk {
  color: var(--color-semantic-red);
  margin-left: 4px;
}

.inapem-input-field-container {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
}

.inapem-input-field {
  width: 100%;
  height: 48px;
  padding: 12px 48px 12px 16px;
  /* Right padding directly applied for the icon */
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  border-radius: 4px;
  border: 1px solid var(--color-subtle-grey);
  background-color: var(--color-white);
  color: var(--color-primary);
  outline: none;
  transition: all 0.2s ease-in-out;
  box-shadow: none;
}

.inapem-input-field::-webkit-input-placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--color-dark-grey);
}

.inapem-input-field::-moz-placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--color-dark-grey);
  opacity: 1;
}

.inapem-input-field:-ms-input-placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--color-dark-grey);
}

.inapem-input-field::-ms-input-placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--color-dark-grey);
}

.inapem-input-field::placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--color-dark-grey);
  opacity: 1;
  /* Firefox */
}

.inapem-input-field:hover {
  border-color: var(--color-dark-grey);
}

.inapem-input-field:focus {
  border-color: var(--e-global-color-primary, var(--color-primary));
  box-shadow: 0 0 0 2px rgba(37, 53, 92, 0.1);
}

.inapem-password-toggle {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: var(--color-dark-grey);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
  z-index: 2;
}

.inapem-password-toggle:hover {
  color: var(--color-primary);
}

.inapem-input-field--password {
  padding-right: 48px;
}

.inapem-input--disabled .inapem-input-field {
  background-color: var(--color-white);
  border-color: var(--color-subtle-grey);
  color: var(--e-global-color-primary, var(--color-primary));
  cursor: not-allowed;
}

.inapem-input--disabled .inapem-input-field::-webkit-input-placeholder {
  color: var(--e-global-color-primary, var(--color-primary)) !important;
}

.inapem-input--disabled .inapem-input-field::-moz-placeholder {
  color: var(--e-global-color-primary, var(--color-primary)) !important;
  opacity: 1;
}

.inapem-input--disabled .inapem-input-field:-ms-input-placeholder {
  color: var(--e-global-color-primary, var(--color-primary)) !important;
}

.inapem-input--disabled .inapem-input-field::-ms-input-placeholder {
  color: var(--e-global-color-primary, var(--color-primary)) !important;
}

.inapem-input--disabled .inapem-input-field::placeholder {
  color: var(--e-global-color-primary, var(--color-primary)) !important;
  opacity: 1;
}

.inapem-input--disabled .inapem-input-label {
  cursor: not-allowed;
}

/* Dark Mode Variants */
.inapem-input-mode--dark .inapem-input-label {
  color: var(--color-white);
}

.inapem-input-mode--dark .inapem-input-field {
  background-color: transparent;
  border-color: var(--color-white);
  color: var(--color-white);
}

.inapem-input-mode--dark .inapem-input-field::-webkit-input-placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.6);
}

.inapem-input-mode--dark .inapem-input-field::-moz-placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}

.inapem-input-mode--dark .inapem-input-field:-ms-input-placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.6);
}

.inapem-input-mode--dark .inapem-input-field::-ms-input-placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.6);
}

.inapem-input-mode--dark .inapem-input-field::placeholder {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}

.inapem-input-mode--dark .inapem-input-field:hover {
  border-color: rgba(255, 255, 255, 0.8);
}

.inapem-input-mode--dark .inapem-input-field:focus {
  border-color: var(--color-white);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2);
}

.inapem-input-mode--dark.inapem-input--disabled .inapem-input-field {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.4);
}
