@include exports("combobox/layout") {

    .k-combobox {
        width: $input-default-width;
        border-width: 0;
        box-sizing: border-box;
        outline: 0;
        background: none;
        font-family: $input-font-family;
        font-size: $input-font-size;
        line-height: $input-line-height;
        text-align: left;
        white-space: nowrap;
        display: inline-flex;
        vertical-align: middle;
        position: relative;
        -webkit-touch-callout: none;
        -webkit-tap-highlight-color: $rgba-transparent;

        .k-dropdown-wrap {
            @include use-background-clip();
            @include border-radius( $input-border-radius );
            padding: 0;
            width: 100%;
            border-width: 1px;
            border-style: solid;
            box-sizing: border-box;
            position: relative;
            display: flex;
            flex-direction: row;
            transition: all .1s ease; // sass-lint:disable-block no-transition-all
            outline: 0;
            cursor: initial;

            // Input
            .k-input {
                padding: $input-padding-y $input-padding-x;
                width: 100%;
                height: calc( #{$input-padding-y * 2} + #{$input-line-height * 1em} );
                box-sizing: border-box;
                border: 0;
                outline: 0;
                color: inherit;
                background: none;
                font: inherit;
                flex: 0 1 auto;
                display: flex;
                align-items: center;
                overflow: hidden;
                text-overflow: ellipsis;

                .k-edge & {
                    min-width: 0;
                }
            }

            // Clear value
            ::-ms-clear {
                display: none;
            }

            .k-clear-value {
                height: ($input-line-height * $input-font-size);
                line-height: ($input-line-height * $input-font-size);
                outline: 0;
                cursor: pointer;
                display: none;
                flex-direction: row;
                align-items: center;
                justify-content: center;
                opacity: .5;
                position: absolute;
                top: $input-padding-y;
                right: $picker-icon-offset;

                &:hover {
                    opacity: 1;
                }
            }
            &:hover,
            &.k-state-hover,
            &.k-state-focused {
                .k-clear-value {
                    display: inline-flex;
                }
            }

            // Select
            .k-select {
                @include border-right-radius-only();
                padding: $combobox-select-padding-y $combobox-select-padding-x;
                width: if($use-picker-select-width, $combobox-select-width, auto);
                border-width: 0 0 0 $combobox-select-border-width;
                box-sizing: border-box;
                border-style: solid;
                display: flex;
                align-items: center;
                justify-content: center;
                flex: 0 0 auto;
                text-align: center;
                cursor: pointer;
            }
        }

        &.k-combobox-clearable {
            .k-input {
                padding-right: calc( #{$icon-size} + #{$padding-x} );
            }
        }

        // Searchbar
        .k-searchbar {
            flex: 1;
            display: flex;
            flex-direction: row;
        }

        &[dir="rtl"],
        .k-rtl & {
            text-align: right;

            .k-select {
                @include border-left-radius-only();
            }

            .k-clear-value {
                right: auto;
                left: $picker-icon-offset;
            }

            &.k-combobox-clearable {
                .k-input {
                    padding-left: calc( #{$icon-size} + #{$padding-x} );
                    padding-right: $input-padding-x;
                }
            }
        }

        ::-ms-clear {
            display: none;
        }
    }
}
