@import '../common/style/var.less';
@import '../common/style/mixins/hairline.less';

.van-cell {
  position: relative;
  display: flex;
  box-sizing: border-box;
  width: 100%;
  padding: var(--cell-vertical-padding, @cell-vertical-padding)
    var(--cell-horizontal-padding, @cell-horizontal-padding);
  font-size: var(--cell-font-size, @cell-font-size);
  line-height: var(--cell-line-height, @cell-line-height);
  color: var(--cell-text-color, @cell-text-color);
  background-color: var(--cell-background-color, @cell-background-color);

  &::after {
    .hairline-bottom(@border-color, @padding-md, @padding-md);
  }

  &--borderless::after {
    display: none;
  }

  &-group {
    background-color: var(--cell-background-color, @cell-background-color);
  }

  &__label {
    margin-top: var(--cell-label-margin-top, @cell-label-margin-top);
    font-size: var(--cell-label-font-size, @cell-label-font-size);
    line-height: var(--cell-label-line-height, @cell-label-line-height);
    color: var(--cell-label-color, @cell-label-color);
  }

  &__value {
    overflow: hidden;
    text-align: right;
    vertical-align: middle;
    color: var(--cell-value-color, @cell-value-color);
  }

  &__title,
  &__value {
    flex: 1;

    &:empty {
      display: none;
    }
  }

  &__left-icon-wrap,
  &__right-icon-wrap {
    display: flex;
    align-items: center;
    height: var(--cell-line-height, @cell-line-height);
    font-size: var(--cell-icon-size, @cell-icon-size);
  }

  &__left-icon-wrap {
    margin-right: var(--padding-base, @padding-base);
  }

  &__right-icon-wrap {
    margin-left: var(--padding-base, @padding-base);
    color: var(--cell-right-icon-color, @cell-right-icon-color);
  }

  &__left-icon {
    vertical-align: middle;
    line-height: var(--cell-line-height, @cell-line-height);
  }

  &__right-icon {
    line-height: var(--cell-line-height, @cell-line-height);
  }

  &--clickable&--hover {
    background-color: var(--cell-active-color, @cell-active-color);
  }

  &--required {
    overflow: visible;

    &::before {
      position: absolute;
      content: '*';
      left: var(--padding-xs, @padding-xs);
      font-size: var(--cell-font-size, @cell-font-size);
      color: var(--cell-required-color, @cell-required-color);
    }
  }

  &--center {
    align-items: center;
  }

  &--large {
    padding-top: var(
      --cell-large-vertical-padding,
      @cell-large-vertical-padding
    );
    padding-bottom: var(
      --cell-large-vertical-padding,
      @cell-large-vertical-padding
    );

    .van-cell__title {
      font-size: var(--cell-large-title-font-size, @cell-large-title-font-size);
    }

    .van-cell__value {
      font-size: var(--cell-large-value-font-size, @cell-large-value-font-size);
    }

    .van-cell__label {
      font-size: var(--cell-large-label-font-size, @cell-large-label-font-size);
    }
  }
}