/* Element-UI 风格 的级联选择器 */
.el-cascader {
    position: relative;
    width: 400px;
    font-family: Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;
}

/* 输入框 */
.el-cascader__input {
    width: 100%;
    height: 40px;
    padding: 0 30px 0 15px;
    border: 1px solid #dcdfe6;
    border-radius: 4px;
    font-size: 14px;
    color: #606266;
    cursor: pointer;
    background: #fff;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #dcdfe6;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    #dcdfe6;
    opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #dcdfe6;
    opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:    #dcdfe6;
}
::-ms-input-placeholder { /* Microsoft Edge */
    color:    #dcdfe6;
}

::placeholder { /* Most modern browsers support this now. */
    color:    #dcdfe6;
}
.el-cascader__input:hover {
    border-color: #c0c4cc;
}

.el-cascader__input:focus {
    border-color: #409eff;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(64,158,255,.2);
}

/* 下拉面板 */
.el-cascader-panel {
    position: absolute;
    top: -325px;
    left: 0;
    z-index: 9;
    display: none !important;
    background: #fff;
    border: 1px solid #e4e7ed;
    border-radius: 4px;
    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
}

/* 下拉面板 */
.el-cascader-panel-bottom {
    position: absolute;
    top: 41px;
    left: 0;
    z-index: 9;
    display: none !important;
    background: #fff;
    border: 1px solid #e4e7ed;
    border-radius: 4px;
    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
}

/* 菜单容器 */
.el-cascader-menu {
    display: inline-block;
    min-width: 160px;
    height: 240px;
    margin: 0;
    padding: 0;
    vertical-align: top;
    border-right: 1px solid #e4e7ed;
    overflow-y: auto;
}

/* 菜单项 */
.el-cascader-node {
    position: relative;
    height: 34px;
    line-height: 34px;
    padding: 0 20px;
    color: #606266;
    cursor: pointer;
    transition: background-color .2s;
}

.el-cascader-node:hover {
    background-color: #f5f7fa;
}

.el-cascader-node.is-actived {
    color: #409eff;
    font-weight: 700;
    background-color: #f5f7fa;
}

/* 箭头图标 */
.el-cascader-node__postfix {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #c0c4cc; /* 正三角形 */
    transition: transform .2s;
}

/* 调整选中状态箭头颜色 */
.el-cascader-node.is-actived .el-cascader-node__postfix {
    border-left-color: #409eff;
}

/* 调整菜单项高度 */
.el-cascader-node {
    height: 34px;
    line-height: 34px;
    padding: 0 30px 0 15px;
}

/* 选中标记 */
.el-cascader-node__check {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #409eff;
}

/* 展开时样式 */
.el-cascader.is-actived .el-cascader-panel {
    display: inline-flex !important;
}
.el-cascader.is-actived .el-cascader-panel-bottom {
    display: inline-flex !important;
}

/* 新增对勾样式 */
.el-cascader-node__check {
    display: none;
    margin-right: 8px;
    color: #409eff;
}

/* 最后一级选中时显示对勾 */
.el-cascader-node.is-leaf-active .el-cascader-node__check {
    display: inline-block;
}
.el-cascader-node .el-cascader-node__label {
    font-size: 14px;
}

/* 调整节点内容布局 */
.el-cascader-node {
    display: flex;
    align-items: center;
    padding: 0 15px;
}

/* 新增标题样式 */
.el-cascader-menu__title {
    padding: 0 15px;
    font-size: 14px;
    color: #909399;
    border-bottom: 1px solid #ebeef5;
    background-color: #f8f9fa;
}

/* 调整菜单高度计算 */
.el-cascader-menu {
    /*height: calc(240px + 41px);*/
    height: 320px;
}

/* 保持选项滚动 */
.el-cascader-menu__content {
    /*height: 100%;
    overflow-y: auto;*/
}