/* =========================
   CART
========================= */

.ps-woo-page .woocommerce-cart-form,
.ps-woo-page .cart_totals,
.ps-woo-page .wc-block-cart__main,
.ps-woo-page .wc-block-cart__sidebar {
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius-panel);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0.012)),
    var(--ps-surface-2);
  box-shadow: var(--ps-shadow-md);
}

.ps-woo-page .woocommerce-cart-form {
  padding: var(--ps-card-pad-md);
}

.ps-woo-page .woocommerce .blockUI.blockOverlay,
.ps-woo-page .woocommerce-page .blockUI.blockOverlay {
  border-radius: 24px;
  background: rgba(7, 10, 20, 0.16) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 1 !important;
}

.ps-woo-page .woocommerce .blockUI.blockOverlay::before,
.ps-woo-page .woocommerce-page .blockUI.blockOverlay::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 42px;
  height: 42px;
  margin: -21px 0 0 -21px;
  border-radius: 999px;
  border: 3px solid rgba(255, 255, 255, 0.14);
  border-top-color: rgba(56, 189, 248, 0.96);
  border-right-color: rgba(99, 102, 241, 0.9);
  background: transparent;
  box-shadow:
    0 0 0 10px rgba(7, 10, 20, 0.22),
    0 12px 24px rgba(0, 0, 0, 0.18);
  animation: ps-cart-spin 0.72s linear infinite;
}

.ps-woo-page .shop_table,
.ps-woo-page table.shop_table,
.ps-woo-page .woocommerce table.shop_table {
  border: none;
  margin: 0;
  background: transparent;
  color: var(--ps-text);
}

.ps-woo-page .shop_table th,
.ps-woo-page .shop_table td,
.ps-woo-page .woocommerce table.shop_table th,
.ps-woo-page .woocommerce table.shop_table td {
  border-color: rgba(255, 255, 255, 0.06);
  padding: 18px 14px;
  vertical-align: middle;
}

.ps-woo-page .shop_table .product-remove {
  width: 52px;
  text-align: center;
}

.ps-woo-page .shop_table .product-thumbnail {
  width: 110px;
}

.ps-woo-page .shop_table .product-thumbnail a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  padding: 8px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background:
    radial-gradient(circle at 50% 78%, rgba(84, 145, 255, 0.14), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.012)),
    rgba(8, 12, 22, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.ps-woo-page .shop_table .product-thumbnail img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 12px;
  background: transparent;
}

.ps-woo-page .shop_table .product-name {
  min-width: 220px;
}

.ps-woo-page .woocommerce-cart-form__cart-item .product-name a,
.ps-woo-page .product-name a {
  color: var(--ps-text);
  font-weight: 600;
}

.ps-woo-page .product-name dl.variation,
.ps-woo-page .product-name .wc-item-meta {
  color: var(--ps-text-muted);
}

.ps-woo-page .cart_totals {
  margin-top: var(--ps-space-6);
  padding: var(--ps-card-pad-lg);
}

.ps-woo-page .cart_totals h2,
.ps-woo-page .wc-block-components-title {
  margin: 0 0 var(--ps-space-5);
  color: var(--ps-text);
  font-size: var(--ps-type-h3);
  line-height: var(--ps-line-heading);
  letter-spacing: var(--ps-tracking-heading);
}

.ps-woo-page .shop_table .product-quantity .quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.ps-woo-page .shop_table .product-quantity .qty {
  width: 118px;
  min-width: 118px;
  height: var(--ps-input-height-lg);
  padding: 0 var(--ps-space-5);
  border: 1px solid var(--ps-border-soft);
  border-radius: var(--ps-radius-4);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.014)),
    rgba(8, 12, 22, 0.7);
  color: var(--ps-text);
  font-size: var(--ps-type-h3);
  font-weight: 600;
  text-align: center;
  letter-spacing: -0.02em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}


.ps-woo-page .shop_table .product-quantity .qty:focus {
  border-color: rgba(56, 189, 248, 0.34);
  box-shadow:
    0 0 0 3px rgba(56, 189, 248, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

