/**
 * @file
 * Select input elements.
 */

.form-select {
  height: var(--size-12);
  max-inline-size: 100%;
  max-width: 20rem;
  padding-block: 0;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--white);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
  background-position: right var(--size-2) center;
  background-repeat: no-repeat;
  background-size: var(--size-6) var(--size-6);
  border-radius: var(--radius-2);
  border-width: 1px;
  color: var(--gray-900);
  cursor: pointer;
  display: inline-flex;
  flex-shrink: 0;
  -webkit-padding-end: var(--size-10);
  padding-inline-end: var(--size-10);
  -webkit-padding-start: var(--size-4);
  padding-inline-start: var(--size-4);
  touch-action: manipulation;
  transition-property: color, background-color, border-color, outline-color,
    text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter,
    -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, outline-color,
    text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter,
    backdrop-filter;
  transition-property: color, background-color, border-color, outline-color,
    text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter,
    backdrop-filter, -webkit-backdrop-filter;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

select:focus {
  outline: 2px solid var(--gray-300);
  outline-offset: 2px;
}

select[disabled] {
  background-color: var(--gray-100);
  color: var(--gray-500);
}

select.error {
  border: solid 2px var(--red-900);
}

select.error:focus {
  outline-color: var(--red-900);
}

select[multiple] {
  background-image: none;
  height: auto;
  line-height: 1;
  padding: var(--size-2);
}

select[multiple] option {
  padding: var(--size-2);
}

select.form-element--small {
  height: var(--size-10);
}
