.c__select { position: relative; &__wrapper { border-radius: var(--c--components--forms-select--border-radius); border-width: var(--c--components--forms-select--border-width); border-color: var(--c--components--forms-select--border-color); border-style: var(--c--components--forms-select--border-style); display: flex; align-items: center; transition: border var(--c--theme--transitions--duration) var(--c--theme--transitions--ease-out); padding: 0 0.75rem; gap: 1rem; color: var(--c--components--forms-select--color); box-sizing: border-box; height: var(--c--components--forms-select--height); cursor: pointer; background-color: var(--c--components--forms-select--background-color); position: relative; overflow: hidden; label { cursor: pointer; } &:hover { border-radius: var(--c--components--forms-select--border-radius--hover); border-color: var(--c--components--forms-select--border-color--hover); } &:focus-within { border-radius: var(--c--components--forms-select--border-radius--focus); border-color: var(--c--components--forms-select--border-color--focus); } } &__inner { flex-grow: 1; display: flex; justify-content: space-between; user-select: none; min-width: 0; &__value { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-grow: 1; font-size: var(--c--components--forms-select--font-size); input { outline: 0; border: 0; padding: 0; margin: 0; color: var(--c--components--forms-select--color); font-size: var(--c--components--forms-select--font-size); } } &__actions { position: relative; top: -14px; display: flex; align-items: center; span { font-size: 1.25rem; transition: all var(--c--theme--transitions--duration) var(--c--theme--transitions--ease-out); &.opened { transform: rotate(180deg); } } &__clear { color: var(--c--theme--colors--greyscale-500); } &__separator { background-color: var(--c--theme--colors--greyscale-400); height: 24px; width: 1px; } &__open { color: var(--c--theme--colors--greyscale-900); } } } &__menu { position: absolute; overflow: auto; width: calc(100% - 4px); max-height: 10rem; box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3); background-color: var(--c--components--forms-select--menu-background-color); transform: translate(2px, 0); display: none; z-index: 1; &--opened { display: block; } ul { list-style-type: none; padding: 0; margin: 0; padding-top: 3px; } &__item { padding: 0.75rem; font-size: var(--c--components--forms-select--item-font-size); color: var(--c--components--forms-select--item-color); cursor: pointer; &--highlight { background-color: var(--c--components--forms-select--item-background-color--hover); } &--selected { background-color: var(--c--components--forms-select--item-background-color--selected); } &--disabled { color: var(--c--components--forms-select--item-color--disabled); cursor: default; } } } /** Modifiers */ &--disabled { .c__select__wrapper { color: var(--c--theme--colors--greyscale-600); border-color: var(--c--theme--colors--greyscale-200); cursor: default; label { cursor: default; } input { color: var(--c--theme--colors--greyscale-600); background-color: white; } } .c__input__inner { .c__input, label { color: var(--c--theme--colors--greyscale-600); } } &:hover { border-color: var(--c--theme--colors--greyscale-200); } } &--error { .c__select__wrapper { border-color: var(--c--theme--colors--danger-600); } &:not(.c__select__wrapper--disabled) { .c__select__wrapper:hover { border-color: var(--c--theme--colors--danger-200); } } } &--success { .c__select__wrapper { border-color: var(--c--theme--colors--success-600); } &:not(.c__select__wrapper--disabled) { .c__select__wrapper:hover { border-color: var(--c--theme--colors--success-400); } } } }