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

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

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

  @include text-rendering;
}

.ams-file-input:disabled {
  color: var(--ams-file-input-disabled-color);
  cursor: var(--ams-file-input-disabled-cursor);
}

.ams-file-input::file-selector-button {
  @include reset-button;

  appearance: none; // Reset native appearance on iOS and Android devices
  background-color: var(--ams-file-input-file-selector-button-background-color);
  border-color: var(--ams-file-input-file-selector-button-border-color);
  border-style: var(--ams-file-input-file-selector-button-border-style);
  border-width: var(--ams-file-input-file-selector-button-border-width);
  box-sizing: border-box;
  color: var(--ams-file-input-file-selector-button-color);
  cursor: var(--ams-file-input-file-selector-button-cursor);
  font-family: inherit;
  font-size: inherit; // iOS specific fix
  font-weight: inherit;
  line-height: var(--ams-file-input-file-selector-button-line-height);
  margin-inline-end: var(--ams-file-input-file-selector-button-margin-inline-end);
  padding-block: var(--ams-file-input-file-selector-button-padding-block);
  padding-inline: var(--ams-file-input-file-selector-button-padding-inline);
}

.ams-file-input:disabled::file-selector-button {
  color: var(--ams-file-input-disabled-color);
  cursor: var(--ams-file-input-file-selector-button-disabled-cursor);
}

.ams-file-input:not(:disabled):hover::file-selector-button {
  box-shadow: var(--ams-file-input-file-selector-button-hover-box-shadow);
  color: var(--ams-file-input-file-selector-button-hover-color);
}
