/**
 * KCP Free-Shipping-Bar — Styles v1.0
 * Eigenständiges Element, hängt an woocommerce_before_cart_collaterals —
 * unabhängig vom restlichen Warenkorb-Markup, keine Konflikte möglich.
 */
.kcp-fsb-wrap {
  --kcp-cream-2:#F3EEEE;
  --kcp-ink:#000000;
  --kcp-ink-soft:rgba(0,0,0,.62);
  --kcp-accent:#955251;

  background:#fff;
  border:1px solid #EDE7E7;
  border-radius:20px;
  padding:20px 24px;
  margin-bottom:24px;
  font-family: var(--e-global-typography-text-font-family, 'Manrope', system-ui, -apple-system, sans-serif);
  box-sizing:border-box;
}
.kcp-fsb-wrap.is-reached {
  background: var(--kcp-cream-2);
  border-color: var(--kcp-cream-2);
}
.kcp-fsb-head {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.kcp-fsb-head svg {
  color: var(--kcp-accent);
  flex-shrink:0;
}
.kcp-fsb-head p {
  margin:0;
  font-size:13.5px;
  color: var(--kcp-ink-soft);
  line-height:1.4;
}
.kcp-fsb-head p strong {
  color: var(--kcp-accent);
  font-weight:700;
}
/* Standard: „noch X €"-Satz sichtbar, Erreicht-Satz versteckt; im
   .is-reached-Zustand umgekehrt. JS schaltet nur diese Klasse um. */
.kcp-fsb-head .kcp-fsb-msg-reached { display:none; }
.kcp-fsb-wrap.is-reached .kcp-fsb-msg-remaining { display:none; }
.kcp-fsb-wrap.is-reached .kcp-fsb-msg-reached { display:block; }
.kcp-fsb-bar {
  height:7px;
  border-radius:999px;
  background: var(--kcp-cream-2);
  overflow:hidden;
}
.kcp-fsb-wrap.is-reached .kcp-fsb-bar {
  background: rgba(255,255,255,.6);
}
.kcp-fsb-fill {
  height:100%;
  background: var(--kcp-accent);
  border-radius:999px;
  transition: width .3s;
}
