.root {
    & [data-disabled='true'] {
        opacity: 0.6;
    }
}

.input {
    width: 100%;
    border: 1px solid transparent;

    &[data-variant='default'] {
        color: var(--theme-colors-surface-foreground);
        background: var(--theme-colors-surface);
    }

    &[data-variant='filled'] {
        color: var(--theme-colors-foreground);
        background: var(--theme-colors-background);
    }

    &.clearable {
        padding-right: 4rem;
    }
}

.input:focus,
.input:focus-visible {
    border-color: lighten(var(--theme-colors-border), 10%);
}

.label {
    margin-bottom: var(--theme-spacing-xs);
}

.description {
    margin-bottom: var(--theme-spacing-xs);
    font-size: var(--theme-font-size-xs);
    color: var(--theme-colors-foreground-muted);
}

.section {
    color: var(--theme-colors-foreground-muted);
}

.dropdown {
    padding: var(--theme-spacing-xs);
    color: var(--theme-colors-surface-foreground);
    background: var(--theme-colors-surface);
    border: 1px solid var(--theme-colors-border);
}

.option {
    position: relative;
    padding: var(--theme-spacing-sm) var(--theme-spacing-md);
}

.option:hover {
    background: lighten(var(--theme-colors-surface), 5%);
}

.clear-button {
    color: var(--theme-colors-foreground) !important;
    background: transparent !important;

    &:hover,
    &:active,
    &:focus-visible {
        @mixin dark {
            background-color: lighten(var(--theme-colors-background), 10%) !important;
        }

        @mixin light {
            background-color: darken(var(--theme-colors-background), 5%) !important;
        }
    }
}
