@cell-font-size: var(--font-size-md);
@cell-desc-font-size: var(--font-size-sm);
@cell-large-font-size: var(--font-size-lg);
@cell-desc-large-font-size: var(--font-size-md);
@cell-desc-color: var(--color-desc);
@cell-padding: 10px 16px;
@cell-min-height: 40px;
@cell-border-color: var(--color-border);
@cell-border-left: 12px;
@cell-border-right: 12px;
@cell-icon-right: 8px;
@cell-extra-left: 8px;
@cell-font-height: 24px;

:root {
  --cell-font-size: @cell-font-size;
  --cell-large-font-size: @cell-large-font-size;
  --cell-desc-font-size: @cell-desc-font-size;
  --cell-desc-large-font-size: @cell-desc-large-font-size;
  --cell-desc-color: @cell-desc-color;
  --cell-extral-color: @cell-desc-color;
  --cell-padding: @cell-padding;
  --cell-min-height: @cell-min-height;
  --cell-font-height: @cell-font-height;
  --cell-border-color: @cell-border-color;
  --cell-border-left: @cell-border-left;
  --cell-border-right: @cell-border-right;
  --cell-icon-right: @cell-icon-right;
  --cell-extra-left: @cell-extra-left;
}

.ppsv-cell {
  align-items: center;
  display: flex;
  min-height: var(--cell-min-height);
  outline: none;
  padding: var(--cell-padding);
  position: relative;
  box-sizing: border-box;
  font-size: var(--cell-font-size);
  line-height: var(--cell-font-height);

  &--border {
    &::after {
      position: absolute;
      box-sizing: border-box;
      content: ' ';
      pointer-events: none;
      right: var(--cell-border-right);
      bottom: 0;
      left: var(--cell-border-left);
      border-bottom: 1px solid var(--cell-border-color);
      transform: scaleY(0.5);
    }
    &:last-child {
      &::after {
        border-bottom: none;
      }
    }
  }
  &__icon {
    margin-right: var(--cell-icon-right);
    flex: 0;
    height: var(--cell-font-height);
    line-height: var(--cell-font-height);
    align-self: flex-start;
    .ppsv-icon {
      height: var(--cell-font-height);
      line-height: var(--cell-font-height);
    }
  }

  &__content {
    flex: 1;
    overflow: hidden;
  }

  &__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  &__desc {
    font-size: var(--cell-desc-font-size);
    color: var(--cell-desc-color);
  }

  &__extra {
    flex-shrink: 0;
    color: var(--cell-extral-color);
    margin-left: var(--cell-extra-left);
  }
  &__right-icon {
    .ppsv-icon-chevron-right {
      height: var(--cell-font-height);
      line-height: var(--cell-font-height);
      color: var(--cell-extral-color);
    }
  }
  
  &--large {
    .ppsv-cell__title {
      font-size: var(--cell-large-font-size);
    }
    .ppsv-cell__desc {
      font-size: var(--cell-desc-large-font-size);
    }
  }
}
