@import '../vars.css';

.accent {
    &:not([disabled]) .hint {
        color: var(--button-accent-hint-color);
    }
}

.primary {
    color: var(--button-primary-color);
    background-color: var(--button-primary-base-bg-color);

    &:not([disabled]) .hint {
        color: var(--button-primary-hint-color);
    }

    @media (hover: hover) {
        &:hover {
            background-color: var(--button-primary-hover-bg-color);
        }
    }

    &:active {
        background-color: var(--button-primary-active-bg-color);
    }

    & > .loader {
        color: var(--button-spinner-primary-color);
    }
}

.secondary {
    background-color: var(--button-secondary-base-bg-color);

    &:hover {
        background-color: var(--button-secondary-hover-bg-color);
    }

    &:active {
        background-color: var(--button-secondary-active-bg-color);
    }
}

.text {
    &:active {
        color: var(--button-text-active-color);
    }
}

.component[disabled] {
    &.primary {
        color: var(--button-primary-disabled-color);
        background-color: var(--button-primary-disabled-bg-color);

        &.loading {
            color: var(--button-primary-color);
            background-color: var(--button-primary-base-bg-color);
        }
    }

    &.secondary {
        color: var(--button-secondary-disabled-color);
        background-color: var(--button-secondary-disabled-bg-color);
    }

    &.outlined {
        color: var(--button-outlined-disabled-color);
        border-color: var(--button-outlined-disabled-border-color);
    }

    &.transparent {
        color: var(--button-transparent-disabled-color);
    }

    &.text {
        color: var(--button-text-disabled-color);
    }
}
