.cart-detail.off-canvas {
  background: var(--color-bg-lv-1);
  color: var(--color-text);
  box-shadow: var(--shadow-lg);
}

.cart-detail .widget_shopping_cart_content {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--space-l);
}

.cart-detail ul.woocommerce-mini-cart {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  margin: 0 calc(var(--space-2xs) * -1);
  padding: 0 var(--space-2xs);
  list-style: none;
  scrollbar-width: thin;
  scrollbar-color: var(--color-fill-10) transparent;
  transition: opacity var(--dur-fast) var(--ease-out);
}

.cart-detail li.woocommerce-mini-cart-item {
  --thumb: 60px;
  --indent: calc(var(--thumb) + var(--space-s));
  position: relative;
  display: block;
  margin: 0;
  padding: var(--space-s) calc(28px + var(--space-2xs)) var(--space-s) var(--space-2xs);
  border-radius: var(--radius-md);
  list-style: none;
  transition: background-color var(--dur-fast) var(--ease-out);
}
.cart-detail li.woocommerce-mini-cart-item:hover {
  background: var(--color-int-20);
}

.cart-detail li.woocommerce-mini-cart-item + li::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(var(--space-2xs) * -1);
  right: calc(var(--space-2xs) * -1);
  border-top: 1px solid var(--color-divider);
}

.cart-detail li.woocommerce-mini-cart-item > a:not(.remove) {
  display: grid;
  grid-template-columns: var(--thumb) 1fr;
  align-items: start;
  column-gap: var(--space-s);
  row-gap: 3px;
  font-family: var(--font-body);
  font-size: var(--text-m);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -.006em;
  color: var(--color-heading);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out);
}
.cart-detail li.woocommerce-mini-cart-item > a:not(.remove):hover {
  color: var(--color-link);
}

.cart-detail li.woocommerce-mini-cart-item img {
  grid-row: 1 / span 2;
  grid-column: 1;
  float: none;
  width: var(--thumb);
  height: auto;
  aspect-ratio: 4/5;
  margin: 0;
  padding: var(--space-3xs);
  object-fit: contain;
  border: 1px solid var(--color-border-10);
  border-radius: var(--radius-md);
  background: var(--color-bg-lv-2);
}

.cart-detail .wc-gzd-cart-info.units-info {
  grid-column: 2;
  margin: 0;
  font-size: var(--text-s);
  font-weight: 400;
  line-height: 1.35;
  color: var(--color-text-faded);
}

.cart-detail dl.variation dt.variation-gzd-units,
.cart-detail dl.variation dd.variation-gzd-units {
  display: none;
}

.cart-detail dl.variation {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--space-3xs);
  margin: 3px 0 0 var(--indent);
  padding: 0;
  font-size: var(--text-s);
  line-height: 1.35;
  color: var(--color-text-faded);
}
.cart-detail dl.variation dt { font-weight: 400; }
.cart-detail dl.variation dd,
.cart-detail dl.variation p  { margin: 0; }

.cart-detail li.woocommerce-mini-cart-item .quantity {
  display: block;
  margin: var(--space-3xs) 0 0 var(--indent);
  font-family: var(--font-body);
  font-size: var(--text-s);
  line-height: 1.35;
  color: var(--color-text-faded);
  font-variant-numeric: tabular-nums;
}
.cart-detail li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
  font-weight: 500;
  color: var(--color-text);
}

.cart-detail li.woocommerce-mini-cart-item .quantity.sl-qty {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-s);
  margin-top: var(--space-2xs);
}

.sl-qty__ctrl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3xs);
  min-width: 0;
}

.sl-qty__ve {
  order: -1;
  font-size: var(--text-xs, .75rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-text-faded);
  white-space: nowrap;
}

.sl-qtystep {
  display: inline-flex;
  align-items: center;
  background: var(--color-bg-field);
  border: 1px solid var(--color-border-field);
  border-radius: var(--radius-pill);
  overflow: hidden;
  transition: border-color var(--dur-fast) var(--ease-out),
              opacity var(--dur-fast) var(--ease-out);
}
.sl-qtystep:hover { border-color: var(--color-border-30); }

.sl-qtystep.is-busy { opacity: .5; pointer-events: none; }

.sl-qtystep__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text-20);
  cursor: pointer;
  transition: background-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}
.sl-qtystep__btn svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sl-qtystep__btn:hover:not(:disabled) {
  background: var(--color-int-10);
  color: var(--color-text-10);
}
.sl-qtystep__btn:disabled {
  color: var(--color-text-disabled);
  cursor: not-allowed;
}
.sl-qtystep__btn:focus-visible {
  outline: var(--btn-focus-width) solid var(--btn-focus-color);
  outline-offset: -2px;
  border-radius: var(--radius-pill);
}

.sl-qtystep__val {
  min-width: 30px;
  padding: 0 var(--space-3xs);
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--text-m);
  font-weight: 600;
  line-height: 1;
  color: var(--color-heading);
  font-variant-numeric: tabular-nums;
}

.sl-qty__line {
  display: flex;
  align-items: center;
  min-height: 38px;
  text-align: right;
  white-space: nowrap;
}
.sl-qty__line .woocommerce-Price-amount {
  font-size: var(--text-m);
  font-weight: 600;
  color: var(--color-heading);
  font-variant-numeric: tabular-nums;
}

.sl-qty__unit {
  display: block;
  font-size: var(--text-xs, .75rem);
  font-weight: 400;
  color: var(--color-text-faded);
}

.cart-detail a.remove_from_cart_button {
  position: absolute;
  top: calc(var(--space-s) + 2px);
  right: var(--space-3xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  background: transparent;
  border: 1px solid var(--color-border-10);
  color: var(--color-text-30);
  font-size: 0;
  line-height: 0;
  text-decoration: none;
  transition: background-color var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}

.cart-detail a.remove_from_cart_button::before {
  content: "";
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20fill-rule=%22evenodd%22%20clip-rule=%22evenodd%22%20d=%22M12%205.5A2.25%202.25%200%200%200%209.878%207h4.244A2.251%202.251%200%200%200%2012%205.5ZM12%204a3.751%203.751%200%200%200-3.675%203H5v1.5h1.27l.818%208.997a2.75%202.75%200%200%200%202.739%202.501h4.347a2.75%202.75%200%200%200%202.738-2.5L17.73%208.5H19V7h-3.325A3.751%203.751%200%200%200%2012%204Zm4.224%204.5H7.776l.806%208.861a1.25%201.25%200%200%200%201.245%201.137h4.347a1.25%201.25%200%200%200%201.245-1.137l.805-8.861Z%22/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20fill-rule=%22evenodd%22%20clip-rule=%22evenodd%22%20d=%22M12%205.5A2.25%202.25%200%200%200%209.878%207h4.244A2.251%202.251%200%200%200%2012%205.5ZM12%204a3.751%203.751%200%200%200-3.675%203H5v1.5h1.27l.818%208.997a2.75%202.75%200%200%200%202.739%202.501h4.347a2.75%202.75%200%200%200%202.738-2.5L17.73%208.5H19V7h-3.325A3.751%203.751%200%200%200%2012%204Zm4.224%204.5H7.776l.806%208.861a1.25%201.25%200%200%200%201.245%201.137h4.347a1.25%201.25%200%200%200%201.245-1.137l.805-8.861Z%22/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.cart-detail li.woocommerce-mini-cart-item:hover a.remove_from_cart_button {
  border-color: var(--color-border-20);
  color: var(--color-text-20);
}

.cart-detail a.remove_from_cart_button:hover {
  background: var(--color-dan-bg-10);
  border-color: var(--color-dan-border-10);
  color: var(--color-dan-text-10);
}
.cart-detail a.remove_from_cart_button:focus-visible {
  outline: var(--btn-focus-width) solid var(--btn-focus-color);
  outline-offset: var(--btn-focus-offset);
}

.cart-detail p.woocommerce-mini-cart__total {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  row-gap: 2px;
  margin: 0;
  padding: var(--space-s) 0;
  border-top: 1px solid var(--color-divider);
  font-family: var(--font-body);
  font-size: var(--text-m);
  color: var(--color-text);
}
.cart-detail p.woocommerce-mini-cart__total strong {
  grid-column: 1;
  font-weight: 500;
  color: var(--color-text-faded);
}
.cart-detail p.woocommerce-mini-cart__total .woocommerce-Price-amount {
  grid-column: 2;
  font-weight: 600;
  font-size: var(--text-l);
  line-height: 1.15;
  color: var(--color-heading);
  font-variant-numeric: tabular-nums;
}
.cart-detail p.woocommerce-mini-cart__total .tax_label {
  grid-column: 2;
  justify-self: end;
  font-size: var(--text-s);
  color: var(--color-text-faded);
}
.cart-detail .woocommerce-Price-currencySymbol {
  font-size: .82em;
  font-weight: 400;
  color: var(--color-text-faded);
  margin-right: .25em;
}

.cart-detail p.woocommerce-mini-cart__total ~ p:not(.woocommerce-mini-cart__buttons) {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: var(--space-2xs);
  margin: 0;
  padding: 0 0 var(--space-s);
  border: 0;
  font-family: var(--font-body);
  font-size: var(--text-s);
  line-height: 1.4;
  color: var(--color-text-faded);
  font-variant-numeric: tabular-nums;
}
.cart-detail p.woocommerce-mini-cart__total ~ p:not(.woocommerce-mini-cart__buttons) strong,
.cart-detail p.woocommerce-mini-cart__total ~ p:not(.woocommerce-mini-cart__buttons) small {
  font-weight: 400;
  font-size: inherit;
  color: inherit;
}
.cart-detail p.woocommerce-mini-cart__total ~ p:not(.woocommerce-mini-cart__buttons) .woocommerce-Price-amount {
  font-size: var(--text-s);
  font-weight: 500;
  color: var(--color-text);
}

.cart-detail p.woocommerce-mini-cart__total:has(+ p:not(.woocommerce-mini-cart__buttons)) {
  padding-bottom: var(--space-3xs);
}

.cart-detail p.woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  margin: 0;
}
.cart-detail p.woocommerce-mini-cart__buttons a.button { width: 100%; }
.cart-detail p.woocommerce-mini-cart__buttons a.button.checkout { order: -1; }

.cart-detail .woocommerce-mini-cart__empty-message {
  margin: auto 0;
  padding: var(--space-xl) 0;
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--text-m);
  color: var(--color-text-faded);
}