/**
* c-cascader
*/
@import url("../../styles/variables.css");

.c-cascader {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  border-radius: 0.2em;
  overflow: hidden;
  width: 15em;
  cursor: pointer;

  & .c-input-wrap {
    width: 100%;
  }

  & input {
    margin: 0;
    width: 100%;
  }
}

.c-cascader__icon {
  position: absolute;
  right: 0.5em;
  top: 50%;
  font-size: 0.85em;
  transform: translateY(-50%);
  color: color(var(--text-color) l(65%));
}

.c-cascader__childmenu {
  display: inline-block;
  vertical-align: top;
}

.cascader-menu {
  width: 10em;
  box-shadow: 0 0 5px color(var(--gray) l(95%));
  list-style: none;
  max-height: 274px;
  overflow-y: auto;
  border: 1px solid color(var(--gray) l(85%));
  background-color: color(var(--white));
  box-sizing: border-box;
  z-index: 99;
  padding: 0;
  margin: 0;
  display: inline-block;
  user-select: none;
  border-radius: 5px;

  &::-webkit-scrollbar {
    width: 5px;
    height: 5px;
  }

  &::-webkit-scrollbar-thumb {
    background: #ced3d9;
    border-radius: 10px;
    border-radius: 30px;
  }

  &::-webkit-scrollbar-track {
    background: #eaeced;
  }
}

.casecader-menu-item {
  position: relative;
  padding: 0.5em 1.5em;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
  text-align: left;
  cursor: pointer;
  color: color(var(--text-color));
  font-size: var(--form-font-md);
  font-weight: normal;

  &.active {
    color: var(--primary-color);
    background: color(var(--gray) l(97%));
  }

  &:hover {
    background: color(var(--primary-color) l(95%));
  }

  &.disabled {
    color: color(var(--gray) l(80%));
    cursor: not-allowed;
  }
}

.c-select__caret {
  position: absolute;
  z-index: 1;
  right: 0.5em;
  top: 50%;
  margin-top: -6px;
  color: var(--gray);
  border: 4px solid;
  border-top-color: transparent;
  border-right-color: transparent;
  transform: rotate(-45deg);
  transform-origin: 25% 75%;
  transition: transform 0.2s ease;
}

.is-open .c-select__caret {
  transform: rotate(-225deg);
}

.cascader-icon {
  position: absolute;
  right: 5px;
  font-size: 16px;
}

/* size */
.cascader-dropmenu {
  &.is-sm .casecader-menu-item {
    font-size: var(--form-font-sm);
  }

  &.is-md .casecader-menu-item {
    font-size: var(--form-font-md);
  }

  &.is-lg .casecader-menu-item {
    font-size: var(--form-font-lg);
  }
}
