div.switch {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;

    span.text {
        flex: 1;
        padding-top: 2px;
        transition: .2s;
    }

    div {
        position: relative;
        height: 22px;
        width: 42px;
        display: flex;
        align-items: center;
        background-color: var(--color-grey);
        border-radius: 22px;
        transition: 0.2s;

        span {
            position: absolute;
            left: 3px;
            display: block;
            height: 16px;
            width: 16px;
            background-color: white;
            border-radius: 50%;
            transition: 0.2s;
        }
    }

    input {
        display: none;
    }
}

div.switch:hover {
    span.text {
        color: var(--color-primary);
    }
}

div.switch.active {
    div {
        background-color: var(--color-primary);

        span {
            left: 22px;
        }
    }
}