@layer kz-components {
  .trigger {
    anchor-name: var(--anchor-name);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--typography-paragraph-body-font-family);
    font-weight: var(--typography-paragraph-body-font-weight);
    font-size: var(--typography-paragraph-body-font-size);
    line-height: var(--typography-paragraph-body-line-height);
    letter-spacing: var(--typography-paragraph-body-letter-spacing);
    height: var(--spacing-40);
    min-width: var(--spacing-200);
    width: 100%;
    background-color: var(--color-white);
    border-radius: 0.4375rem;
    border: var(--spacing-2) solid var(--color-gray-500);
    box-sizing: border-box;
  }

  .smallText {
    font-family: var(--typography-paragraph-small-font-family);
    font-weight: var(--typography-paragraph-small-font-weight);
    font-size: var(--typography-paragraph-small-font-size);
    line-height: var(--typography-paragraph-small-line-height);
    letter-spacing: var(--typography-paragraph-small-letter-spacing);
  }

  .secondary:not(.disabled, .readOnly) {
    border-radius: 0.4375rem 0.4375rem 0 0;
    border: 2px solid transparent;
    border-bottom: var(--spacing-2) solid var(--color-gray-400);
  }

  .secondary:not(.disabled, .readOnly):hover {
    border: var(--spacing-2) solid var(--color-gray-600);
    border-radius: 0.4375rem;
  }

  .secondary:not(.disabled, .readOnly):focus-within {
    border: var(--spacing-2) solid var(--color-gray-600);
    border-radius: 0.4375rem;
  }

  .input {
    outline: none;
    text-overflow: ellipsis;
    background-color: var(--color-white);
    padding: var(--spacing-8) 0;
    margin-inline-start: var(--spacing-16);
    height: 2.25rem;
    box-sizing: border-box;
    width: inherit;
  }

  .small .input {
    height: 1.75rem;
  }

  .disabled {
    pointer-events: none;
    border: var(--spacing-2) solid var(--color-gray-300);
    background-color: var(--color-gray-100);

    .input {
      background-color: var(--color-gray-100);
      color: var(--color-gray-500);
    }
  }

  .readOnly {
    pointer-events: none;
    background-color: var(--color-gray-200);
    border: var(--spacing-2) solid var(--color-gray-200);

    .input {
      background-color: var(--color-gray-200);
    }
  }

  .trigger:focus-within {
    outline-offset: var(--spacing-2);
    outline: var(--spacing-2) solid var(--color-blue-500);
    background-color: var(--color-white);
    border-radius: 0.4375rem;

    .input {
      background-color: var(--color-white);
    }
  }

  .trigger:hover:not(:focus-within) {
    border-color: var(--color-gray-600);
    background-color: var(--color-gray-200);

    .input {
      background-color: var(--color-gray-200);
    }
  }

  .small {
    height: var(--spacing-32);
  }

  .large {
    height: var(--spacing-48);
  }

  .clearButton {
    background: none;
    padding: 0;
    display: flex;
  }

  .clearButton:focus-visible {
    outline: var(--spacing-2) solid var(--color-blue-500);
    border-radius: 50%;
  }

  .chevronButton {
    background: none;
    padding-block: var(--spacing-8);
    padding-inline: var(--spacing-6) var(--spacing-16);
    display: flex;
  }

  .hidden {
    visibility: hidden;
  }
}
