@use './variables';

.pill {
    display: inline-flex;
    background: variables.get-color('primary', 2x-light);
    height: variables.$input-height-base;
    line-height: variables.$input-height-base;
    padding: 0 variables.$padding-base-horizontal;
    margin-right: 4px;
    margin-bottom: 4px;
    font-weight: 600;
    font-size: variables.$font-size-base;
    color: variables.get-color('gray', base);
    border-radius: 3px;

    .close {
        color: variables.get-color('primary', base);
        font-size: 160%;
        // Negate the 6px padding on the close button
        position: relative;
        right: -6px;
        margin-left: -6px;

        &:hover {
            color: variables.get-color('primary', dark);
        }
    }
    &.pill-sm {
        padding: 0 variables.$padding-small-horizontal;
        font-size: variables.$font-size-small;
        height: variables.$input-height-small;
        line-height: variables.$input-height-small;
        border-radius: 3px;
    }
    &.pill-lg {
        padding: 0 variables.$padding-large-horizontal;
        font-size: variables.$font-size-large;
        height: variables.$input-height-large;
        line-height: variables.$input-height-large;
        border-radius: 3px;
    }
    &.disabled,
    .close:disabled {
        opacity: 0.5;
        cursor: variables.$cursor-disabled;
    }
    &.pill-excluded {
        .pill-label {
            text-decoration: line-through;
        }
    }
    &:last-child {
        margin-right: 0;
    }
    &.pill-editable {
        &:hover:not(.disabled) {
            background: variables.get-color('primary', 3x-light);

            &.invalid {
                background-color: variables.get-color('tertiary', 3x-light);
            }
        }
    }
    &.invalid {
        background-color: variables.get-color('tertiary', 2x-light);

        .close {
            color: variables.get-color('tertiary', base);

            &:hover {
                color: variables.get-color('tertiary', dark);
            }
        }
    }
    &.selected {
        box-shadow: 0 0 0 1px variables.get-color('primary', dark);

        &.invalid {
            box-shadow: 0 0 0 1px variables.get-color('tertiary', dark);
        }
    }
}
