.yee-rangepicker-dropdown {
  .ant-calendar-footer-btn {
    position: relative;
    overflow: hidden;
    min-height: 40px;

    .ant-calendar-ok-btn {
      position: absolute;
      bottom: 7px;
      right: 0;
    }

    .ant-calendar-time-picker-btn {
      position: absolute;
      bottom: 0;
      right: 50px;
      color: @primary-color;
    }
  }

  .date-rangepicker-footer {
    display: none;
    flex-flow: wrap;
    gap: 4px;

    .ant-btn {
      padding: 0 8px;
      height: 24px;
      line-height: 24px;
      font-size: 14px;
      border-radius: 4px;
      color: @text-color;

      &:hover {
        color: @primary-color;
        background-color: rgba(0, 0, 0, 0.06);
      }

      &.active-preset,
      &.active-preset:hover {
        color: @primary-color;
        background-color: @item-active-bg-secondary;
      }
    }

    &:after {
      content: '';
      position: absolute;
      left: -12px;
      right: -12px;
      bottom: 0;
      height: 0;
    }
  }

  &.has-presets {
    .date-rangepicker-footer {
      display: flex;
      padding: 8px 0;
    }
    .ant-calendar-footer-extra {
      width: calc(100% - 60px);
    }
    &.has-time .ant-calendar-footer-extra {
      width: calc(100% - 120px);
    }
  }
}

.yee-rangepicker-wrapper {
  .ant-calendar-picker {
    width: 100%;
  }

  &.yee-long-rangepicker {
    .ant-calendar-picker {
      .ant-input {
        padding: 4px 8px;
      }
      //min-width: 299px !important;
    }
  }

  .yee-rangepicker-content {
    display: flex;
    flex-flow: wrap;
    white-space: nowrap;

    .ant-calendar-range-picker-input {
      text-align: left;
      width: 44%;
    }

    .ant-calendar-picker {
      flex: 1;
    }

    .yee-rangepicker-presets {
      display: flex;
      align-items: center;
      flex: auto;
      overflow: hidden;
      white-space: nowrap;

      .ant-btn {
        height: 32px;
        padding: 0 12px;
        color: @text-color;
        border-radius: 2px;

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

        &.active-preset {
          height: 32px;
          color: @primary-color;
          background-color: @item-active-bg-secondary;
        }
      }
    }

    &.preset-before {
      justify-content: flex-end;
      flex-direction: row-reverse;

      .yee-rangepicker-presets {
        display: inline-block;
        flex: inherit;
      }
    }
  }

  .date-rangepicker-suffix-icon {
    display: inline-block;
  }
}

.yee-search-panel-wrapper .yee-rangepicker-wrapper .ant-calendar-picker {
  flex: inherit;
  width: 100%;
}

@label-width: var(--label-width, 85px);

.form-layout-hidden,
.form-layout-vertical {
  @label-width: 0;
}

.pickerMaxWidth(@pickerWidth: 100%) {
  .ant-calendar-picker {
    width: @pickerWidth !important;
  }
}

@media (min-width: 768px) {
  .yee-rangepicker-wrapper.has-presets {
    .pickerMaxWidth();
  }
}

@media (min-width: 1400px) {
  .yee-search-panel-wrapper {
    .yee-search-panel-column-1 {
      .pickerMaxWidth();
    }
    .yee-search-panel-column-2 {
      .yee-rangepicker-wrapper.has-presets {
        &.yee-form-span-1 {
          .pickerMaxWidth();
        }
        &.yee-form-span-2,
        &.yee-form-span-3,
        &.yee-form-span-4 {
          .pickerMaxWidth(calc(((100% + @label-width) / 2) - @label-width - 8px));
        }
      }
      .form-layout-vertical,
      .form-layout-hidden {
        .yee-rangepicker-wrapper.has-presets {
          &.yee-form-span-2,
          &.yee-form-span-3,
          &.yee-form-span-4 {
            .pickerMaxWidth(calc((100% / 2) - 8px));
          }
        }
      }
    }
    .yee-search-panel-column-3 {
      .yee-rangepicker-wrapper.has-presets {
        &.yee-form-span-1 {
          .pickerMaxWidth();
        }
        &.yee-form-span-2 {
          .pickerMaxWidth(calc(((100% + @label-width) / 2) - @label-width - 8px));
        }

        &.yee-form-span-3,
        &.yee-form-span-4 {
          .pickerMaxWidth(calc(((100% + @label-width) / 3) - @label-width - 8px - 3px));
        }
      }
      .form-layout-vertical,
      .form-layout-hidden {
        .yee-rangepicker-wrapper.has-presets {
          &.yee-form-span-2 {
            .pickerMaxWidth(calc(((100%) / 2) - 8px));
          }

          &.yee-form-span-3,
          &.yee-form-span-4 {
            .pickerMaxWidth(calc(((100%) / 3) - 8px - 3px));
          }
        }
      }
    }
    .yee-search-panel-column-4 {
      .yee-rangepicker-wrapper.has-presets {
        &.yee-form-span-1 {
          .pickerMaxWidth();
        }
        &.yee-form-span-2 {
          .pickerMaxWidth(calc(((100% + @label-width) / 2) - @label-width - 8px));
        }

        &.yee-form-span-3 {
          .pickerMaxWidth(calc(((100% + @label-width) / 3) - @label-width - 8px - 3px));
        }
        &.yee-form-span-4 {
          .pickerMaxWidth(calc(((100% + @label-width) / 4) - @label-width - 8px - 4px));
        }
      }
      .form-layout-vertical,
      .form-layout-hidden {
        .yee-rangepicker-wrapper.has-presets {
          &.yee-form-span-2 {
            .pickerMaxWidth(calc(((100%) / 2) - 8px));
          }

          &.yee-form-span-3 {
            .pickerMaxWidth(calc(((100%) / 3) - 8px - 3px));
          }
          &.yee-form-span-4 {
            .pickerMaxWidth(calc(((100%) / 4) - 8px - 4px));
          }
        }
      }
    }
  }
}

@media (min-width: 993px) and (max-width: 1200px) {
  .yee-rangepicker-wrapper.yee-long-rangepicker {
    .yee-rangepicker-content {
      .ant-calendar-picker {
        min-width: 299px !important;
        .ant-calendar-range-picker-input {
          font-size: 12px;
          width: 48%;
        }
      }
    }
    .date-rangepicker-suffix-icon {
      display: none;
    }
  }
}
