
.config__icon-buttons {
    display: flex;
    position: absolute;
    top: space(8);
    right: space(0);
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    width: auto;

    .icon-button {
        margin: 0 space(8);
    }
}

.config__form {
    @include border-top($color-border-soft);
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    border-bottom-right-radius: $border-radius-modal;
    border-bottom-left-radius: $border-radius-modal;
}

.config__wrapper {
    flex: 1 1 100%;
    width: auto;
    height: auto;
    padding: space(16);
    border-radius: 0dp;
    border-bottom-right-radius: $border-radius-modal;
    border-bottom-left-radius: $border-radius-modal;
    background-color: $color-bg-shadow;
    text-align: left;

    p {
        @extend %body;
        padding: space(16);
        line-height: space(28);
        white-space: pre-line;

        b {
            color: $color-primary;
        }

        i {
            color: $color-warning;
            font-style: normal;
        }
    }
}

.config__hz-wrapper {
    display: flex;
    flex: 1 1 100%;
    flex-direction: row;
    width: 100%;
    height: 100%;
    border-radius: 0dp;
    text-align: left;
}

.config__header, .config__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background-color: $color-bg-shadow;
}

.config__header {
    @include border-bottom($color-border-soft);
    padding: space(12) space(20);
}

.config__footer {
    @include border-top($color-border-soft);
    padding: space(20) space(20);
    border-bottom-right-radius: $border-radius-modal;
    border-bottom-left-radius: $border-radius-modal;
}

.config__header-left {
    display: flex;
    flex: 1 1 auto;
    flex-direction: row;

    > :not(:first-child) {
        margin-left: space(8);
    }
}

.config__row {
    display: flex;
    flex-direction: row;
}

.config-option {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    margin: space(16) space(0) space(24);

    &:last-child {
        margin-top: space(16);
    }
}

.config-option__title {
    @extend %label-md;
    padding: 0 space(12);
}

.config-option__list {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    padding: 0;

    input:first-of-type {
        nav-left: none;
    }

    input:last-of-type {
        nav-right: none;
    }

    .config-option__tab-label {
        @extend %label-sm;
        @include trans-colors-opa;
        display: block;
        position: relative;
        height: auto;
        margin: space(4) space(12) 0;
        padding: space(8) 0;
        color: $color-text-inactive;
        tab-index: none;

        &:hover {
            color: $color-text;
            cursor: pointer;
        }
    }

    input.radio {
        @extend %nav-all;
        @include trans-colors-opa;
        visibility: visible;
        width: 0;
        height: 0;

        &:not(:disabled) {
            &:checked + .config-option__tab-label {
                border-bottom: 1dp;
                border-color: $color-text;
                color: $color-text;
    
                &:hover {
                    cursor: default;
                }
            }
    
            .rmlui-window:not([mouse-active]) &:focus + .config-option__tab-label {
                transition: none;
                animation: $focus-anim-border;
                border-color: $color-secondary;
                color: $color-secondary;
            }

            &:focus + .config-option__tab-label,
            &:hover + .config-option__tab-label {
                color: $color-text;
            }
        }

        &:disabled + .config-option__tab-label {
            opacity: 0.5;

            &:hover {
                cursor: default;
            }
        }
    }

    input.range slidertrack {
        @include trans-colors;
        height: 2dp;
        margin-top: space(8);
        background-color: $color-border;
    }
    
    input.range sliderbar {
        @include trans-colors;
        width: space(16);
        height: space(16);
        margin-top: space(1);
        margin-right: space(-8);
        margin-left: space(-8);
        transition: background-color $transition-quick;
        border-radius: 8dp;
        background-color: $color-text-dim;
        
        .rmlui-window:not([mouse-active]) &:focus {
            @include border($color-a);
            animation: $focus-anim-bg;
        }

        &:hover {
            background-color: $color-text;
            cursor: pointer;
        }
    }
    
    input.range sliderbar:active,
    input.range slidertrack:active + sliderbar {
        background-color: $color-secondary;
    }

    input.range sliderarrowdec,
    input.range sliderarrowinc {
        display: none;
    }
}

.config-option__details {
    @extend %label-xs;
    height: space(18);
    margin: space(14) space(12) 0;
    color: $color-primary;
}

.config-option__range-wrapper {
    max-width: space(360);
    margin-top: space(4);
}

.config-option__range-label {
    @extend %label-sm;

    display: block;
    // flex: 0 0 space(32);
    width: space(56);
    margin: 0 12dp;
    margin-right: space(16);
    padding: 0;
    color: $color-text;
    tab-index: none;
}
