/** Shopify CDN: Minification failed

Line 346:0 Expected "}" to go with "{"

**/
/* ==========================================================================
   BIO STEFAN | CART V2
   Alle Selektoren mit .cartv2- praefixiert, das bestehende Cart-CSS bleibt
   unberuehrt. Farben ueber Tokens, damit sie an einer Stelle aenderbar sind.
   ========================================================================== */

.cartv2-header, .cartv2-trust, .cartv2-announce, .cartv2-details, .cartv2-tier, .cartv2-items {
  /* Gruen exakt wie die Ersparnis-Anzeige auf der Produktseite */
  --cartv2-green: #32D74B;
  /* Abgedunkelt fuer Text: #32D74B auf Weiss hat nur ~1.9:1 Kontrast und
     waere als Schrift nicht lesbar. */
  --cartv2-green-ink: #12813A;
  --cartv2-green-bg: rgba(50, 215, 75, 0.14);
  --cartv2-amber-ink: #8A5A00;
  --cartv2-amber-bg: rgba(255, 176, 32, 0.16);
}

/* --- Drawer-Header ------------------------------------------------------ */
.cartv2-header { align-items: center; }
.cartv2-header__title { display: flex; align-items: center; gap: 0.5rem; }
.cartv2-header__count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.375rem; height: 1.375rem; padding: 0 0.375rem;
  border-radius: 999px; font-size: 0.75rem; line-height: 1;
  background: var(--color-text-main); color: var(--color-background-main);
  font-variant-numeric: tabular-nums;
}

/* Trust-Zeile direkt unter dem Header, bleibt beim Scrollen stehen */
.cartv2-trust {
  display: flex; justify-content: space-between; align-items: center;
  gap: 0.375rem;
  padding: 0.625rem var(--sidebar-gutter);
  /* margin 0: die Timer-Leiste soll direkt anschliessen, ohne weissen Spalt */
  margin: 0;
  border-bottom: 1px solid var(--color-borders-main);
}
.cartv2-trust__item {
  display: flex; align-items: center; gap: 0.25rem;
  font-size: 0.6875rem; line-height: 1.15; white-space: nowrap;
}
.cartv2-trust__item svg {
  width: 1rem; height: 1rem; flex-shrink: 0;
  color: var(--cartv2-green-ink);
}
.cartv2-trust__item svg * { fill: none !important; stroke: currentColor; }
/* Der Stern ist eine Flaeche, kein Outline-Icon. */
.cartv2-trust__item--rating svg { color: #F5A623; }
.cartv2-trust__item--rating svg * { fill: currentColor !important; stroke: none; }
.cartv2-trust__item--rating strong { font-weight: 700; }

/* Warenkorb-Timer als durchgehende Leiste, zentriert */
.cartv2-announce {
  display: flex; align-items: center; justify-content: center;
  gap: 0.4375rem;
  padding: 0.5625rem var(--sidebar-gutter);
  background: var(--cartv2-amber-bg);
  color: var(--cartv2-amber-ink);
  font-size: 0.8125rem;
  line-height: 1.2;
  text-align: center;
  border-bottom: 1px solid var(--color-borders-main);
}
.cartv2-announce__icon { width: 1rem; height: 1rem; flex-shrink: 0; }
.cartv2-announce__icon svg { width: 100%; height: 100%; display: block; }
.cartv2-announce__icon svg * { fill: none !important; stroke: currentColor; }
.cartv2-announce__body { display: inline-flex; align-items: center; gap: 0.3125rem; flex-wrap: wrap; justify-content: center; }
.cartv2-announce__clock { font-variant-numeric: tabular-nums; font-weight: 700; }
.cartv2-announce__body.is-soon { animation: cartv2-pulse 1.6s ease-in-out infinite; }
@keyframes cartv2-pulse { 0%,100% { opacity: 1 } 50% { opacity: .55 } }

/* Rabattstufe */
/* --- Vorteilsstufen ------------------------------------------------------
   Full-Width-Band mit Meilenstein-Pins. Bewusst weisser Grund statt grauem
   Kasten, damit es wie ein eigener Abschnitt wirkt und nicht wie eine Box
   im Warenkorb.
   -------------------------------------------------------------------------- */
.cartv2-tier {
  width: calc(100% + var(--sidebar-gutter) * 2);
  margin-inline-start: calc(var(--sidebar-gutter) * -1);
  margin-top: calc(var(--sidebar-gutter) * -1);
  margin-bottom: calc(var(--sidebar-gutter) * 0.9);
  padding: 0.875rem var(--sidebar-gutter) 0.75rem;
  border-bottom: 1px solid var(--color-borders-main);
  background:
    linear-gradient(180deg,
      rgba(50, 215, 75, 0.07) 0%,
      rgba(50, 215, 75, 0) 100%);
}
.cartv2-tier.is-complete {
  background: linear-gradient(180deg, rgba(50, 215, 75, 0.16) 0%, rgba(50, 215, 75, 0.02) 100%);
}

.cartv2-tier__text {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.35;
}
.cartv2-tier__text strong { font-weight: 700; }
.cartv2-tier.is-complete .cartv2-tier__text { color: var(--cartv2-green-ink); }

/* Schiene mit absolut gesetzten Pins */
.cartv2-tier__rail { position: relative; height: 1.5rem; }
.cartv2-tier__track {
  position: absolute;
  top: 50%; inset-inline: 0;
  height: 0.375rem;
  margin-top: -0.1875rem;
  border-radius: 999px;
  background: var(--color-secondary-background-main, rgba(0,0,0,.08));
  overflow: hidden;
}
.cartv2-tier__fill {
  position: absolute;
  inset-block: 0; inset-inline-start: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #16A34A 0%, var(--cartv2-green) 100%);
  transition: width .45s cubic-bezier(.4,0,.2,1);
}

.cartv2-tier__pin {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1.5rem; height: 1.5rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--color-background-main, #fff);
  box-shadow: 0 0 0 2px var(--color-secondary-background-main, rgba(0,0,0,.1));
  color: var(--color-text-main);
  opacity: .55;
}
/* Der letzte Pin sitzt buendig am Ende statt mittig auf der Kante,
   sonst ragt seine Haelfte aus der Leiste heraus. */
.cartv2-tier__pin--last { inset-inline-start: 100%; transform: translate(-100%, -50%); }
[dir="rtl"] .cartv2-tier__pin--last { transform: translate(100%, -50%); }
.cartv2-tier__pin svg { width: 0.8125rem; height: 0.8125rem; display: block; }
.cartv2-tier__pin svg * { fill: none !important; stroke: currentColor; }
.cartv2-tier__pin.is-done {
  background: var(--cartv2-green);
  box-shadow: 0 0 0 2px var(--cartv2-green), 0 1px 4px rgba(22,163,74,.35);
  color: #06331A;
  opacity: 1;
}
/* RTL-sicher: bei rtl sitzt der letzte Pin links */
[dir="rtl"] .cartv2-tier__pin { transform: translate(50%, -50%); }

.cartv2-tier__labels { display: flex; margin-top: 0.4375rem; }
.cartv2-tier__label {
  font-size: 0.6875rem;
  line-height: 1.2;
  opacity: .5;
  min-width: 0;
}
.cartv2-tier__label--last { text-align: end; }
.cartv2-tier__label.is-done { opacity: 1; font-weight: 700; color: var(--cartv2-green-ink); }

/* --- Warenkorb-Zeilen ----------------------------------------------------- */
.cartv2-item { align-items: flex-start; }
.sidebar .cartv2-item:not(:first-child) {
  margin-top: 0.875rem;
  padding-top: 0.875rem;
  border-top: 1px solid var(--color-borders-main);
}
.cartv2-item__thumb { width: 4.5rem; border-radius: var(--border-radius, 0); }
.cartv2-item__content { margin-inline-start: 0.875rem; flex: 1 1 auto; min-width: 0; }
.cartv2-item__inner { width: 100%; display: flex; flex-direction: column; gap: 0.1875rem; }

.cartv2-item__head {
  /* !important schlaegt die Wildcard-Regel des Themes
     '.cart-item__content > div > * { display:block }'. */
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.625rem;
}
.cartv2-item__label { flex: 1 1 auto; min-width: 0; }
.cartv2-item__title {
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: var(--font-weight-body-primary-medium, 500);
  text-decoration: none;
}
.cartv2-item__title:hover { text-decoration: underline; }
.cartv2-item__price {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: end;
  font-size: 0.875rem;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.cartv2-item__price del { display: block; font-size: 0.75rem; opacity: 0.5; font-weight: 400; }
.cartv2-item__variant {
  font-size: 0.75rem;
  color: var(--color-secondary-text-main, currentColor);
  opacity: 0.65;
  line-height: 1.35;
}
/* Variante laeuft im Textfluss hinter dem Titel weiter, damit kurze Werte
   wie "97" keine eigene Zeile brauchen. */
.cartv2-item__label .cartv2-item__variant { margin-inline-start: 0.3125rem; }

/* Ersparnis: helles Pill, rechtsbuendig unter dem Preis */
.cartv2-save {
  display: inline-block;
  margin-top: 0.25rem;
  background: var(--cartv2-green-bg);
  color: var(--cartv2-green-ink);
  font-size: 0.6875rem;
  font-weight: 700;
  border-radius: 0.25rem;
  padding: 0.125rem 0.375rem;
  white-space: nowrap;
}

.cartv2-item__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  margin-top: 0.375rem;
}
.cartv2-item__actions .quantity-selector-holder { transform: scale(.88); transform-origin: left center; }
.cartv2-item__remove {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.875rem; height: 1.875rem;
  opacity: 0.45; cursor: pointer; flex-shrink: 0;
  text-decoration: none;
}
.cartv2-item__remove svg { width: 1.125rem; height: 1.125rem; display: block; }
.cartv2-item__remove svg path { fill: currentColor; }
.cartv2-item__remove:hover { opacity: 1; }

/* --- Zubehoer: eingerueckt, damit es zum Produkt darueber gehoert --------- */
.cartv2-accgroup {
  margin-top: 0.75rem;
  padding-inline-start: 1.125rem;
  position: relative;
}
/* Senkrechte Klammer links */
.cartv2-accgroup::before {
  content: "";
  position: absolute;
  inset-inline-start: 0.3125rem;
  top: 0.25rem;
  bottom: 0.75rem;
  width: 1px;
  background: var(--color-borders-main);
}
.cartv2-accgroup__label {
  display: block;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: 0.5;
  margin-bottom: 0.375rem;
}
.cartv2-item--acc .cartv2-item__thumb { width: 3rem; }
.cartv2-item--acc .cartv2-item__content { margin-inline-start: 0.625rem; }
.cartv2-item--acc .cartv2-item__title { font-size: 0.8125rem; font-weight: 400; }
.cartv2-item--acc .cartv2-item__price { font-size: 0.8125rem; }
.cartv2-item--acc .cartv2-item__actions { margin-top: 0; }
.cartv2-item--acc .cartv2-item__actions .quantity-selector-holder { transform: scale(.78); }
.sidebar .cartv2-accgroup .cartv2-item:not(:first-of-type) {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
}
.sidebar .cartv2-accgroup .cartv2-item:first-of-type { border-top: 0; margin-top: 0; padding-top: 0; }

/* --- Footer -------------------------------------------------------------- */
.cartv2-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  font-size: 0.8125rem;
  padding: 0.1875rem 0;
  font-variant-numeric: tabular-nums;
}
.cartv2-row--save { color: var(--cartv2-green-ink); font-weight: 700; }
.cartv2-free { color: var(--cartv2-green-ink); font-weight: 700; }
.cartv2-row--total {
  font-size: 1rem;
  padding-top: 0.5rem;
  margin-top: 0.25rem;
  border-top: 1px solid var(--color-borders-main);
}
.cartv2-row--total strong { font-size: 1.125rem; }
/* Erste Zeile sitzt schon im Footer-Padding, kein doppelter Abstand oben. */
.cartv2-details > .cartv2-row:first-of-type { padding-top: 0; }
.cartv2-vat { font-size: 0.6875rem; font-weight: 400; opacity: 0.55; }
.cartv2-promo {
  display: inline-block; margin-inline-start: 0.375rem;
  font-size: 0.625rem; font-weight: 700;
  background: var(--cartv2-amber-bg); color: var(--cartv2-amber-ink);
  border-radius: 0.25rem; padding: 0.0625rem 0.3125rem;
}

.cartv2-taxnote { font-size: 0.6875rem; opacity: 0.6; line-height: 1.35; margin: 0.25rem 0 0; }
.cartv2-taxnote a { text-decoration: underline; }


/* Zwischen Gesamtbetrag und Button lagen exakt 0px. */
.cartv2-cta { width: 100%; margin-top: 0.875rem; }
.cartv2-cta .button__text { display: flex; align-items: center; justify-content: center; gap: 0.5rem; }
.cartv2-cta__amount { font-variant-numeric: tabular-nums; opacity: 0.85; }

.cartv2-payments {
  display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;
  gap: 0.25rem; margin-top: 0.625rem;
}
.cartv2-payments__icon { height: 1.375rem; width: auto; display: block; }

/* --- Schmale Viewports --------------------------------------------------- */
@media screen and (max-width: 420px) {
  .cartv2-item__thumb { width: 3.75rem; }
  .cartv2-item--acc .cartv2-item__thumb { width: 2.625rem; }
  .cartv2-trust__item { font-size: 0.625rem; gap: 0.1875rem; }
  .cartv2-payments__icon { height: 1.125rem; }
}

@media (prefers-reduced-motion: reduce) {
  .cartv2-tier__seg {
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  background: var(--color-third-background-main, rgba(0,0,0,.13));
}
.cartv2-tier__fill {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  border-radius: 999px;
  /* Neutral statt gruen: das Gruen bleibt der Ersparnis vorbehalten. */
  background: var(--color-text-main);
  transition: width .4s cubic-bezier(.4,0,.2,1);
}
