@input-box-height: 34px;

.@{calendar-prefix-cls}-range-picker {
  width: auto;

  &.is-filter {
    cursor: pointer;
    color: @text-color;

    &:hover {
      color: @primary-color;
    }

    .@{calendar-prefix-cls}-picker-clear {
      background: transparent;
    }

    .@{calendar-prefix-cls}-picker-input {
      background: transparent;
      border: 1px solid transparent !important;
      border-left: 0 !important;
      border-right: 0 !important;
      padding: 0 !important;
      color: inherit;
    }

    .@{calendar-prefix-cls}-picker-down {
      color: @disabled-color;
      cursor: pointer;
      display: inherit;
      transition: transform 0.3s;
    }

    .@{calendar-prefix-cls}-opened .@{calendar-prefix-cls}-picker-down {
      transform: rotate(180deg);
    }

    .@{calendar-prefix-cls}-picker-clear {
      display: none;
    }
  }

  .@{calendar-prefix-cls}-picker-input {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .@{calendar-prefix-cls}-picker-clear {
    right: 4px;
  }

  &.@{calendar-prefix-cls}-picker-small {
    .@{calendar-prefix-cls}-picker-clear {
      right: 2px;
    }
  }
}

.@{calendar-prefix-cls}-picker-down {
  display: none;
}

.@{calendar-prefix-cls}-range-picker-input {
  text-align: center;
  background-color: transparent;
  padding: 0;
  white-space: nowrap;
  // .placeholder();

  &[disabled] {
    cursor: not-allowed;
  }
}

.@{calendar-prefix-cls}-range-picker-placeholder {
  // color: @input-placeholder-color;
}

.@{calendar-prefix-cls}-range-picker-text {
  display: inline-block;
  // color: @text-color-secondary;
  white-space: nowrap;
  text-align: center;
  pointer-events: none;
}

.@{calendar-prefix-cls}-range-picker-text,
.@{calendar-prefix-cls}-range-picker-input {
  height: (@input-height-base - 2 * @input-border-width);
  line-height: (@input-height-base - 2 * @input-border-width);
}

&.@{calendar-prefix-cls}-picker-large {
  .@{calendar-prefix-cls}-range-picker-text,
  .@{calendar-prefix-cls}-range-picker-input {
    height: (@input-height-lg - 2 * @input-border-width);
    line-height: (@input-height-lg - 2 * @input-border-width);
  }
}

&.@{calendar-prefix-cls}-picker-small {
  .@{calendar-prefix-cls}-range-picker-text,
  .@{calendar-prefix-cls}-range-picker-input {
    height: (@input-height-sm - 2 * @input-border-width);
    line-height: (@input-height-sm - 2 * @input-border-width);
  }
}

.@{calendar-prefix-cls}-range {
  width: 552px;
  overflow: hidden;

  .@{calendar-prefix-cls}-date-panel {
    &::after {
      display: block;
      clear: both;
      height: 0;
      visibility: hidden;
      content: '.';
    }
  }
  &-part {
    position: relative;
    width: 50%;
  }

  &-left {
    float: left;
    .@{calendar-prefix-cls} {
      &-time-picker-inner {
        border-right: 1px solid @border-color-split;
      }
    }
  }

  &-right {
    float: right;
    .@{calendar-prefix-cls} {
      &-time-picker-inner {
        border-left: 1px solid @border-color-split;
      }
    }
  }

  .@{calendar-prefix-cls}-today
    :not(.@{calendar-prefix-cls}-disabled-cell)
    :not(.@{calendar-prefix-cls}-last-month-cell)
    :not(.@{calendar-prefix-cls}-next-month-btn-day) {
    .@{calendar-prefix-cls}-date {
      color: @primary-color;
      background: @primary-2;
      border-color: @primary-color;
    }
  }

  .@{calendar-prefix-cls}-selected-start-date,
  .@{calendar-prefix-cls}-selected-end-date {
    .calendar-selected-cell;
  }

  .@{calendar-prefix-cls}-selected-start-date .@{calendar-prefix-cls}-date {
    border-radius: 12px 0 0 12px;
  }

  .@{calendar-prefix-cls}-selected-end-date .@{calendar-prefix-cls}-date {
    border-radius: 0 12px 12px 0;
  }

  &.@{calendar-prefix-cls}-time &-right .@{calendar-prefix-cls}-date-input-wrap {
    margin-left: 0;
  }

  .@{calendar-prefix-cls}-input-wrap {
    position: relative;
    height: @input-box-height;
    border-bottom: 0;
  }

  .@{calendar-prefix-cls}-input,
  .@{calendar-timepicker-prefix-cls}-input {
    .input;
    height: @input-height-sm;
    padding-right: 0;
    padding-left: 0;
    line-height: @input-height-sm;
    border: 0;
    box-shadow: none;

    &:focus {
      box-shadow: none;
    }
  }

  .@{calendar-timepicker-prefix-cls}-icon {
    display: none;
  }

  &.@{calendar-prefix-cls}-week-number {
    width: 574px;

    .@{calendar-prefix-cls}-range-part {
      width: 286px;
    }
  }

  .@{calendar-prefix-cls}-year-panel,
  .@{calendar-prefix-cls}-month-panel,
  .@{calendar-prefix-cls}-decade-panel {
    top: @input-box-height;
  }
  .@{calendar-prefix-cls}-month-panel .@{calendar-prefix-cls}-year-panel {
    top: 0;
  }
  .@{calendar-prefix-cls}-decade-panel-table,
  .@{calendar-prefix-cls}-year-panel-table,
  .@{calendar-prefix-cls}-month-panel-table {
    height: 208px;
  }

  .@{calendar-prefix-cls}-in-range-cell {
    position: relative;
    border-radius: 0;

    > div {
      position: relative;
      z-index: 1;
    }

    .@{calendar-prefix-cls}-date {
      background: @item-active-bg;
    }

    //&::before {
    //  position: absolute;
    //  top: 4px;
    //  right: 0;
    //  bottom: 4px;
    //  left: 0;
    //  display: block;
    //  background: @item-active-bg;
    //  border: 0;
    //  border-radius: 0;
    //  content: '';
    //}
  }

  .@{calendar-prefix-cls}-footer-extra {
    float: left;
  }

  // `div` for selector specificity
  div&-quick-selector {
    text-align: left;

    > a {
      margin-right: 8px;
    }
  }

  .@{calendar-prefix-cls},
  .@{calendar-prefix-cls}-month-panel,
  .@{calendar-prefix-cls}-year-panel,
  .@{calendar-prefix-cls}-decade-panel {
    &-header {
      border-bottom: 0;
    }
    &-body {
      border-top: @border-width-base @border-style-base @border-color-split;
    }
  }

  &.@{calendar-prefix-cls}-time {
    .@{calendar-timepicker-prefix-cls} {
      top: 68px;
      z-index: 2; // cover .ant-calendar-range .ant-calendar-in-range-cell > div (z-index: 1)
      width: 100%;
      height: 207px;
      &-panel {
        height: 267px;
        margin-top: -34px;
      }

      &-inner {
        height: 100%;
        padding-top: 40px;
        background: none;
      }

      &-combobox {
        display: inline-block;
        height: 100%;
        background-color: @component-background;
        border-top: @border-width-base @border-style-base @border-color-split;
      }
      &-select {
        height: 100%;
        ul {
          max-height: 100%;
        }
      }
    }
    .@{calendar-prefix-cls}-footer .@{calendar-prefix-cls}-time-picker-btn {
      margin-right: 8px;
    }
    .@{calendar-prefix-cls}-today-btn {
      height: 22px;
      margin: 8px 12px;
      line-height: 22px;
    }
  }

  &-with-ranges.@{calendar-prefix-cls}-time .@{calendar-timepicker-prefix-cls} {
    height: 233px;
  }
}

.@{calendar-prefix-cls}-range.@{calendar-prefix-cls}-show-time-picker {
  .@{calendar-prefix-cls}-body {
    border-top-color: transparent;
  }
}
