.gift-progress-slot {
  --gift-progress-font-family: Idealist, sans-serif;
  --gift-progress-font-size: 14px;
  --gift-progress-font-weight: 300;
  --gift-progress-text-color: rgb(173, 173, 173);
  --gift-progress-accent: rgb(227, 242, 201);
  --gift-progress-track: rgb(173, 173, 173);
  --gift-progress-icon-size: 24px;
  box-sizing: border-box;
  width: 100%;
  color: var(--gift-progress-text-color);
  font-family: var(--gift-progress-font-family);
  font-size: var(--gift-progress-font-size);
  font-weight: var(--gift-progress-font-weight);
  line-height: 1.55;
}

.gift-progress-slot *,
.gift-progress-slot *::before,
.gift-progress-slot *::after {
  box-sizing: border-box;
}

.gift-progress-slot--checkout {
  margin: 18px 0 24px;
}

.header__basket-wrap .gift-progress-slot--minicart {
  padding: 22px 50px 18px;
  margin: 0;
  background: #fff;
}

.gift-progress__message {
  margin: 0 0 24px;
  color: var(--gift-progress-text-color);
}

.gift-progress__title {
  display: block;
  margin: 0 0 7px;
  color: var(--gift-progress-text-color);
  font: inherit;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: .01em;
}

.gift-progress__text {
  margin: 0;
  color: inherit;
  font: inherit;
  text-transform: none;
}

.gift-progress__bar {
  position: relative;
  height: calc(var(--gift-progress-icon-size) + 8px);
  margin: 0 calc(var(--gift-progress-icon-size) / 2);
}

.gift-progress__track,
.gift-progress__fill {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 4px;
  border-radius: 999px;
  transform: translateY(-50%);
}

.gift-progress__track {
  background: var(--gift-progress-track);
  opacity: .8;
}

.gift-progress__fill {
  right: auto;
  width: 0;
  background: var(--gift-progress-accent);
  transition: width .32s ease;
}

.gift-progress__milestone {
  position: absolute;
  top: 50%;
  width: calc(var(--gift-progress-icon-size) + 10px);
  height: calc(var(--gift-progress-icon-size) + 10px);
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  color: var(--gift-progress-track);
  background: #fff;
  transition: color .25s ease, background-color .25s ease, transform .25s ease;
}

.gift-progress__milestone.is-achieved {
  color: var(--gift-progress-accent);
  background: #fff;
}

.gift-progress__milestone svg {
  display: block;
  width: var(--gift-progress-icon-size);
  height: var(--gift-progress-icon-size);
}

.gift-progress__milestone.is-current {
  transform: translate(-50%, -50%) scale(1.08);
}

@media (max-width: 767px) {
  .header__basket-wrap .gift-progress-slot--minicart {
    padding: 18px 20px 14px;
  }

  .gift-progress__message {
    margin-bottom: 18px;
  }
}
