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

@mixin reset-select {
  appearance: none; // Reset native appearance to hide default chevron
  border-radius: 0; // Reset rounded borders for Safari on MacOS
}

.ams-select {
  background-color: var(--ams-select-background-color);
  border-color: var(--ams-select-border-color);
  border-style: var(--ams-select-border-style);
  border-width: var(--ams-select-border-width);
  color: var(--ams-select-color);
  font-family: var(--ams-select-font-family);
  font-size: var(--ams-select-font-size);
  font-weight: var(--ams-select-font-weight);
  inline-size: 100%;
  line-height: var(--ams-select-line-height);
  outline-offset: var(--ams-select-outline-offset);
  padding-block: var(--ams-select-padding-block);
  padding-inline: var(--ams-select-padding-inline);
  touch-action: manipulation;

  @include reset-select;

  &:not([multiple]) {
    background-image: var(--ams-select-background-image);
    background-position: var(--ams-select-background-position);
    background-repeat: no-repeat;
    background-size: 1em 1em;
  }
}

.ams-select:invalid,
.ams-select[aria-invalid="true"] {
  border-color: var(--ams-select-invalid-border-color);
}

.ams-select:disabled {
  color: var(--ams-select-disabled-color);
  cursor: var(--ams-select-disabled-cursor);

  &:not([multiple]) {
    background-image: var(--ams-select-disabled-background-image);

    /* stylelint-disable no-descending-specificity */
    &:hover {
      background-image: var(--ams-select-hover-background-image);
    }
  }
}

.ams-select:invalid:hover,
.ams-select[aria-invalid="true"]:hover {
  border-color: var(--ams-select-invalid-hover-border-color);
  box-shadow: var(--ams-select-invalid-hover-box-shadow);
}

.ams-select:not(:disabled):hover {
  box-shadow: var(--ams-select-hover-box-shadow);
}

.ams-select__option:disabled {
  color: var(--ams-select-option-disabled-color);
}
