cart-item {
  --cart-item-processing-duration: .25s;
  --cart-item-destroying-duration: .6s;
  --cart-item-appearing-duration: .4s;
  --cart-item-shadow-color: #00000026;
  --cart-item-shadow-color-strong: #00000080;
  --cart-item-destroying-bg: #0000001a;
  --cart-item-processing-scale: .98;
  --cart-item-destroying-scale: .85;
  --cart-item-appearing-scale: .9;
  --cart-item-processing-blur: 1px;
  --cart-item-destroying-blur: 10px;
  --cart-item-appearing-blur: 2px;
  --cart-item-destroying-opacity: .2;
  --cart-item-appearing-opacity: .5;
  --cart-item-destroying-brightness: .6;
  --cart-item-destroying-saturate: .3;
  --cart-item-loader-color: #000;
  transition: filter var(--cart-item-processing-duration) ease-out,
		background-color var(--cart-item-processing-duration) ease-out,
		box-shadow var(--cart-item-processing-duration) ease-out;
  padding: 0;
  display: block;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 #0000;
}

cart-item:after {
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  transition: background-color var(--cart-item-processing-duration) ease;
  background: none;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

cart-item[state="ready"] {
  transition: filter var(--cart-item-processing-duration) ease-out,
		background-color var(--cart-item-processing-duration) ease-out,
		box-shadow var(--cart-item-processing-duration) ease-out,
		height var(--cart-item-appearing-duration) ease-out;
}

cart-item[state="ready"] cart-item-content {
  filter: blur();
  opacity: 1;
  transition: transform var(--cart-item-appearing-duration) ease-out,
		filter var(--cart-item-appearing-duration) ease-out,
		opacity var(--cart-item-appearing-duration) ease-out;
  transform: scale(1);
}

cart-item[state="ready"] cart-item-processing {
  opacity: 0;
  visibility: hidden;
}

cart-item[state="processing"] {
  box-shadow: inset 0px 2px 10px var(--cart-item-shadow-color);
}

cart-item[state="processing"]:after {
  background: #00000026;
}

cart-item[state="processing"] cart-item-content {
  transform: scale(var(--cart-item-processing-scale));
  filter: blur(var(--cart-item-processing-blur));
  opacity: .9;
  pointer-events: none;
  transition: transform var(--cart-item-processing-duration) ease-out,
		filter var(--cart-item-processing-duration) ease-out,
		opacity var(--cart-item-processing-duration) ease-out;
}

cart-item[state="processing"] cart-item-processing {
  opacity: 1;
  visibility: visible;
}

cart-item[state="destroying"] {
  background-color: var(--cart-item-destroying-bg);
  box-shadow: inset 0px 2px 20px var(--cart-item-shadow-color-strong);
  transition: filter var(--cart-item-destroying-duration) ease,
		background-color var(--cart-item-destroying-duration) ease,
		box-shadow var(--cart-item-destroying-duration) ease,
		margin var(--cart-item-destroying-duration) ease;
  margin-top: 0;
  margin-bottom: 0;
}

cart-item[state="destroying"]:after {
  transition: background-color var(--cart-item-destroying-duration) ease;
  background: #000000e6;
}

cart-item[state="destroying"] cart-item-content {
  transition: transform var(--cart-item-destroying-duration) ease,
		filter var(--cart-item-destroying-duration) ease,
		opacity var(--cart-item-destroying-duration) ease;
  transform: scale(var(--cart-item-destroying-scale));
  filter: blur(var(--cart-item-destroying-blur)) saturate(var(--cart-item-destroying-saturate));
  opacity: var(--cart-item-destroying-opacity);
  pointer-events: none;
}

cart-item[state="destroying"] cart-item-processing {
  opacity: 0;
  transition: opacity var(--cart-item-processing-duration) ease;
}

cart-item[state="appearing"] {
  height: 0;
  transition: height var(--cart-item-appearing-duration) ease-out,
		filter var(--cart-item-appearing-duration) ease-out,
		opacity var(--cart-item-appearing-duration) ease-out;
  overflow: hidden;
}

cart-item[state="appearing"] cart-item-content {
  transform: scale(var(--cart-item-appearing-scale));
  filter: blur(var(--cart-item-appearing-blur));
  opacity: var(--cart-item-appearing-opacity);
  transition: transform var(--cart-item-appearing-duration) ease-out,
		filter var(--cart-item-appearing-duration) ease-out,
		opacity var(--cart-item-appearing-duration) ease-out;
}

cart-item[state="appearing"] cart-item-processing {
  opacity: 0;
  visibility: hidden;
}

cart-item-content {
  display: block;
}

cart-item-processing {
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--cart-item-processing-duration) ease-out,
		visibility var(--cart-item-processing-duration) ease-out;
  z-index: 10;
  background: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

cart-item-processing .cart-item-loader {
  aspect-ratio: 2;
  --_g: no-repeat radial-gradient(circle closest-side, var(--cart-item-loader-color) 90%, #0000);
  background: var(--_g) 0% 50%,
		var(--_g) 50% 50%,
		var(--_g) 100% 50%;
  background-size: 33.3333% 50%;
  width: 60px;
  animation: 1s linear infinite cart-item-loader;
}

@keyframes cart-item-loader {
  20% {
    background-position: 0 0, 50%, 100%;
  }

  40% {
    background-position: 0 100%, 50% 0, 100%;
  }

  60% {
    background-position: 0%, 50% 100%, 100% 0;
  }

  80% {
    background-position: 0%, 50%, 100% 100%;
  }
}
cart-panel {
  height: 100%;
  display: block;
  overflow: hidden auto;
}
/*$vite$:1*/