/* = SaMa Matcha • Free Shipping Progress Bar ==============================
 * Zgodny z systemem "quiet luxury": tokeny --sm-*, zero box-shadow,
 * separacja przez 1px hairline, radius z tokenów.
 * ======================================================================== */

:root{
  --matcha-green:  var(--c-forest);
  --matcha-light:  var(--c-cream);
  --bar-bg:        var(--c-mist);
  --bar-fill:      var(--c-forest);
  --bar-fill-grad: linear-gradient(90deg, var(--c-moss), var(--c-forest));
}

.sama-free-shipping{
  margin: var(--sp-3) 0 var(--sp-2);
  padding: calc(var(--sp-2) + var(--sp-1)) var(--sp-3);
  border-radius: var(--r-md);
  background: var(--matcha-light);
  border: var(--line);
  font-size: var(--fs-small);
  line-height: 1.35;
  color: var(--c-text);
}

.sama-free-shipping__label{
  margin-bottom: var(--sp-2);
  color: var(--c-text);
}
.sama-free-shipping__label strong{ color: var(--matcha-green); font-weight: 600; }

.sama-free-shipping__bar{
  height: var(--sp-2);
  background: var(--bar-bg);
  border-radius: var(--r-full);
  overflow: hidden;
  position: relative;
}
.sama-free-shipping__bar-fill{
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 0%;
  background: var(--bar-fill-grad);
  border-radius: var(--r-full);
  transition: width var(--t-base) var(--ease);
}

/* Gdy osiągnięto próg — subtelne podkreślenie hairline */
.sama-free-shipping.is-reached{
  background: var(--c-cream);
  border-color: var(--c-moss);
}

/* Mini-cart — delikatne zmniejszenie */
.sama-free-shipping--mini{
  font-size: var(--fs-caption);
  padding: var(--sp-2) calc(var(--sp-2) + var(--sp-1));
  margin: var(--sp-2) 0 var(--sp-2);
}

/* Mobile */
@media (max-width: 480px){
  .sama-free-shipping{ font-size: 13px; padding: 10px 12px; }
  .sama-free-shipping__bar{ height: 7px; }
}

@media (prefers-reduced-motion: reduce){
  .sama-free-shipping__bar-fill{ transition: none; }
}
