.gcm-free-shipping-progress {
  width: 100%;
}

.gcm-free-shipping-progress__card {
  --gcm-fsp-gap: 0.9rem;
  --gcm-fsp-bar-height: 0.45rem;
  --gcm-fsp-bar-radius: 999px;
  --gcm-fsp-track-color: rgba(17, 24, 39, 0.12);
  --gcm-fsp-fill-color: #111827;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--gcm-fsp-gap);
  align-items: start;
  min-width: 0;
}

.gcm-free-shipping-progress__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  line-height: 1;
}

.gcm-free-shipping-progress__icon svg {
  display: block;
  width: 1em;
  height: 1em;
}

.gcm-free-shipping-progress__content {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.gcm-free-shipping-progress__message {
  margin: 0;
}

.gcm-free-shipping-progress__meta {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  opacity: 0.78;
}

.gcm-free-shipping-progress__bar {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: var(--gcm-fsp-bar-height);
  border-radius: var(--gcm-fsp-bar-radius);
  background: var(--gcm-fsp-track-color);
}

.gcm-free-shipping-progress__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--gcm-fsp-fill-color);
  transition: width 0.18s ease;
}

.gcm-free-shipping-progress--hidden {
  display: none !important;
}

.gcm-free-shipping-progress-is-updating .gcm-free-shipping-progress {
  opacity: 0.7;
}

.gcm-free-shipping-progress--auto {
  margin: 0 0 1rem;
}

.gcm-free-shipping-progress--cart_after_main,
.gcm-free-shipping-progress--checkout_after_main {
  margin: 1rem 0 0;
}

.gcm-free-shipping-progress--auto .gcm-free-shipping-progress__card {
  --gcm-fsp-fill-color: #1fa85c;
  --gcm-fsp-track-color: rgba(31, 168, 92, 0.2);
  background: #e8f5ed;
  border: 1px solid rgba(31, 168, 92, 0.24);
  color: #166534;
  padding: 1rem;
}
