/**
 * FS Progress Bar - DR Rider cart style
 * Clean PrestaShop shop block, visible only below the cart checkout button.
 */
.fspb-wrapper {
  --fspb-black: #111111;
  --fspb-text: #232323;
  --fspb-soft-text: #6f6f6f;
  --fspb-line: #e6e6e6;
  --fspb-red: #d60000;
  --fspb-red-deep: #b90000;
  --fspb-green: #2ca24c;
  --fspb-bg: #ffffff;
  --fspb-track: #efefef;

  width: 100%;
  margin: 1rem 0 0;
  padding: 0;
  background: var(--fspb-bg);
  border: 1px solid var(--fspb-line);
  border-radius: 0;
  box-shadow: none;
  color: var(--fspb-text);
  font-family: inherit;
}

.fspb-cart {
  max-width: 100%;
}

/* When moved by JS, the bar sits immediately below the cart checkout button. */
.fspb-under-commander {
  margin-top: .85rem;
  margin-bottom: 0;
}

.cart-detailed-actions .fspb-wrapper {
  clear: both;
}

.fspb-inner {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  padding: .95rem 1rem 1rem;
}

.fspb-icon {
  display: inline-flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-top: .05rem;
  background: var(--fspb-black);
  color: #ffffff;
  font-family: 'Material Icons', 'Material Icons Outlined', sans-serif;
  font-size: 20px;
  font-weight: normal;
  line-height: 1;
  text-transform: none;
}

.fspb-content {
  flex: 1 1 auto;
  min-width: 0;
}

.fspb-kicker {
  display: inline-flex;
  align-items: center;
  margin: 0 0 .28rem;
  padding: .18rem .42rem;
  background: var(--fspb-red);
  color: #ffffff;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.fspb-message {
  margin: 0 0 .85rem;
  color: var(--fspb-text);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.35;
}

.fspb-message strong,
.fspb-message .fspb-amount {
  color: var(--fspb-red);
  font-weight: 700;
}

.fspb-track {
  position: relative;
  overflow: visible;
  height: 8px;
  background: var(--fspb-track);
  border-radius: 0;
}

.fspb-fill {
  height: 100%;
  width: 0;
  background: var(--fspb-red);
  border-radius: 0;
  transition: width .25s ease;
}

.fspb-marker {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #ffffff;
  border: 2px solid var(--fspb-red);
  border-radius: 50%;
  box-shadow: 0 0 0 2px #ffffff;
  transform: translate(-50%, -50%);
  transition: left .25s ease, border-color .25s ease;
}

.fspb-gift-svg {
  width: 14px;
  height: 14px;
  display: block;
  fill: var(--fspb-red);
  transition: fill .25s ease;
}

.fspb-fill.is-success {
  background: var(--fspb-green);
}

.fspb-marker.is-success {
  border-color: var(--fspb-green);
}

.fspb-marker.is-success .fspb-gift-svg {
  fill: var(--fspb-green);
}

.fspb-wrapper:has(.fspb-fill.is-success) .fspb-kicker {
  background: var(--fspb-green);
}

.fspb-wrapper:has(.fspb-fill.is-success) .fspb-icon {
  background: var(--fspb-green);
}

@media (max-width: 575px) {
  .fspb-inner {
    gap: .7rem;
    padding: .85rem;
  }

  .fspb-icon {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
    font-size: 18px;
  }

  .fspb-message {
    font-size: .82rem;
  }

  .fspb-marker {
    width: 22px;
    height: 22px;
  }

  .fspb-gift-svg {
    width: 13px;
    height: 13px;
  }
}


/* Hidden source template for AJAX areas. Never displayed directly. */
.fspb-template,
.fspb-wrapper[hidden] {
  display: none !important;
}

/* Compact integration inside the native PrestaShop add-to-cart modal. */
#blockcart-modal .fspb-wrapper.fspb-modal {
  display: block;
  margin: .75rem 0 .9rem;
  border-color: #e6e6e6;
}

#blockcart-modal .fspb-modal .fspb-inner {
  padding: .75rem .8rem .85rem;
  gap: .65rem;
}

#blockcart-modal .fspb-modal .fspb-icon {
  flex-basis: 30px;
  width: 30px;
  height: 30px;
  font-size: 18px;
}

#blockcart-modal .fspb-modal .fspb-kicker {
  font-size: .62rem;
}

#blockcart-modal .fspb-modal .fspb-message {
  margin-bottom: .75rem;
  font-size: .8rem;
}

#blockcart-modal .fspb-modal .fspb-track {
  height: 7px;
}

#blockcart-modal .fspb-modal .fspb-marker {
  width: 22px;
  height: 22px;
}

#blockcart-modal .fspb-modal .fspb-gift-svg {
  width: 13px;
  height: 13px;
}
