/**
 * @license EUPL-1.2+
 * Copyright Gemeente Amsterdam
 */

@use "../../common/text-rendering" as *;

@mixin reset-input {
  -webkit-appearance: none; // Reset appearance for Safari < 15.4
  appearance: none; // Reset native appearance, this causes issues on iOS and Android devices
  border: none;
  border-radius: 0; // Reset rounded borders on iOS devices
  margin-block: 0;
}

.ams-password-input {
  background-color: var(--ams-password-input-background-color);
  box-shadow: var(--ams-password-input-box-shadow);
  box-sizing: border-box;
  color: var(--ams-password-input-color);
  font-family: var(--ams-password-input-font-family);
  font-size: var(--ams-password-input-font-size);
  font-weight: var(--ams-password-input-font-weight);
  inline-size: 100%;
  line-height: var(--ams-password-input-line-height);
  outline-offset: var(--ams-password-input-outline-offset);
  padding-block: var(--ams-password-input-padding-block);
  padding-inline: var(--ams-password-input-padding-inline);
  touch-action: manipulation;

  @include text-rendering;
  @include reset-input;

  &:hover {
    box-shadow: var(--ams-password-input-hover-box-shadow);
  }
}

.ams-password-input::placeholder {
  color: var(--ams-password-input-placeholder-color);
  opacity: 100%; // This resets the lower opacity set by Firefox
}

.ams-password-input:disabled {
  background-color: var(--ams-password-input-disabled-background-color);
  box-shadow: var(--ams-password-input-disabled-box-shadow);
  color: var(--ams-password-input-disabled-color);
  cursor: var(--ams-password-input-disabled-cursor);
}

.ams-password-input:invalid,
.ams-password-input[aria-invalid="true"] {
  box-shadow: var(--ams-password-input-invalid-box-shadow);

  &:hover {
    box-shadow: var(--ams-password-input-invalid-hover-box-shadow);
  }
}
