/* PATCH_ID: b2c_cart_experience_upgrade_v1_20260709 */

body.b2c-cart-experience-v1-active{
  background:
    radial-gradient(circle at 12% 12%, rgba(246,236,255,.34), transparent 26%),
    radial-gradient(circle at 86% 22%, rgba(255,236,246,.28), transparent 32%),
    linear-gradient(180deg, #fff 0%, #fffbfd 56%, #fff 100%);
}

/* page title / intro */
.b2c-cart-title-v1{
  position:relative !important;
  overflow:visible !important;
  animation:b2cCartTitleFadeV1 .54s cubic-bezier(.22,.8,.2,1) both;
}

.b2c-cart-title-v1::after{
  content:"";
  display:block;
  width:88px;
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(222,190,238,.95), rgba(255,205,227,.88));
  box-shadow:0 6px 18px rgba(224,188,233,.28);
}

@keyframes b2cCartTitleFadeV1{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* cart cards */
.b2c-cart-card-v1{
  position:relative !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,250,253,.92)) !important;
  border:1px solid rgba(243,233,248,.9) !important;
  box-shadow:
    0 18px 54px rgba(44,33,58,.07),
    0 1px 0 rgba(255,255,255,.92) inset !important;
  transform-origin:top center;
  opacity:0;
  transform:translateY(26px) scale(.986);
  will-change:transform, opacity, box-shadow;
}

.b2c-cart-card-v1::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.62), transparent 22%),
    linear-gradient(135deg, rgba(255,242,249,.16), transparent 42%);
  opacity:.9;
}

.b2c-cart-card-v1.is-enter{
  animation:b2cCartCardRevealV1 .72s cubic-bezier(.22,.8,.2,1) both;
  animation-delay:var(--cart-stagger, 0ms);
}

@keyframes b2cCartCardRevealV1{
  0%{
    opacity:0;
    transform:translateY(26px) scale(.986);
    box-shadow:0 10px 30px rgba(44,33,58,.03);
  }
  58%{
    opacity:1;
    transform:translateY(-2px) scale(1.004);
    box-shadow:0 22px 60px rgba(44,33,58,.09);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    box-shadow:0 18px 54px rgba(44,33,58,.07);
  }
}

/* inner reveal */
.b2c-cart-card-v1 > *{
  position:relative;
  z-index:1;
}

.b2c-cart-card-v1.is-enter .b2c-cart-card-media-v1,
.b2c-cart-card-v1.is-enter .b2c-cart-card-body-v1,
.b2c-cart-card-v1.is-enter .b2c-cart-card-actions-v1{
  animation:b2cCartCardInnerRevealV1 .52s cubic-bezier(.22,.8,.2,1) both;
}

.b2c-cart-card-v1.is-enter .b2c-cart-card-body-v1{
  animation-delay:calc(var(--cart-stagger, 0ms) + 70ms);
}

.b2c-cart-card-v1.is-enter .b2c-cart-card-actions-v1{
  animation-delay:calc(var(--cart-stagger, 0ms) + 120ms);
}

@keyframes b2cCartCardInnerRevealV1{
  from{
    opacity:0;
    transform:translateY(8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* media */
.b2c-cart-card-media-v1 img,
img.b2c-cart-card-media-v1{
  border-radius:18px !important;
  box-shadow:0 12px 28px rgba(44,33,58,.08);
  transition:transform .42s cubic-bezier(.22,.8,.2,1), filter .22s ease !important;
}

.b2c-cart-card-v1:hover .b2c-cart-card-media-v1 img,
.b2c-cart-card-v1:hover img.b2c-cart-card-media-v1{
  transform:scale(1.03);
  filter:saturate(1.02);
}

/* buttons */
.b2c-cart-qty-btn-v1{
  border-radius:12px !important;
  transition:
    transform .18s cubic-bezier(.22,.8,.2,1),
    box-shadow .18s ease,
    background-color .18s ease !important;
}

.b2c-cart-qty-btn-v1:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(44,33,58,.08);
}

.b2c-cart-remove-btn-v1{
  border-radius:12px !important;
  transition:
    transform .18s cubic-bezier(.22,.8,.2,1),
    opacity .18s ease !important;
}

.b2c-cart-remove-btn-v1:hover{
  transform:translateY(-1px);
  opacity:.88;
}

.b2c-cart-qty-input-v1{
  border-radius:12px !important;
}

/* summary */
.b2c-cart-summary-v1{
  position:relative !important;
  overflow:hidden !important;
  border-radius:26px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,249,253,.92)) !important;
  border:1px solid rgba(243,233,248,.9) !important;
  box-shadow:
    0 20px 58px rgba(44,33,58,.08),
    0 1px 0 rgba(255,255,255,.9) inset !important;
  animation:b2cCartSummaryFadeV1 .58s cubic-bezier(.22,.8,.2,1) both;
}

.b2c-cart-summary-v1::before{
  content:"ORDER SUMMARY";
  display:block;
  margin-bottom:12px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.22em;
  color:rgba(88,72,102,.52);
}

@keyframes b2cCartSummaryFadeV1{
  from{
    opacity:0;
    transform:translateY(16px) scale(.988);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media(min-width: 981px){
  .b2c-cart-summary-v1{
    position:sticky !important;
    top:94px !important;
  }
}

/* empty state */
.b2c-cart-empty-v1{
  border-radius:28px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,250,253,.92)) !important;
  border:1px solid rgba(243,233,248,.88) !important;
  box-shadow:
    0 18px 52px rgba(44,33,58,.06),
    0 1px 0 rgba(255,255,255,.9) inset !important;
  animation:b2cCartTitleFadeV1 .56s cubic-bezier(.22,.8,.2,1) both;
}

/* reduced motion */
@media(prefers-reduced-motion: reduce){
  .b2c-cart-title-v1,
  .b2c-cart-card-v1,
  .b2c-cart-card-v1.is-enter,
  .b2c-cart-summary-v1,
  .b2c-cart-card-v1.is-enter .b2c-cart-card-media-v1,
  .b2c-cart-card-v1.is-enter .b2c-cart-card-body-v1,
  .b2c-cart-card-v1.is-enter .b2c-cart-card-actions-v1{
    animation:none !important;
    transition:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}
