/**
 * UnZend Cart workspace.
 *
 * This stylesheet intentionally supports both the classic WooCommerce cart
 * shortcode and the modern Cart Block. It loads after the shared portal CSS.
 */

/* Shared page rhythm. */
.unzend-cart-page .unzend-system-page__content,
.unzend-system-page--cart .unzend-system-page__content {
  width: 100%;
}

/* --------------------------------------------------------------------------
 * Classic cart template
 * ----------------------------------------------------------------------- */
.unzend-cart-page .unzend-cart-layout,
.unzend-system-page--cart .unzend-cart-layout {
  align-items: start;
  gap: clamp(22px, 3vw, 34px);
}

.unzend-cart-page .unzend-cart-panel,
.unzend-system-page--cart .unzend-cart-panel {
  min-width: 0;
}

.unzend-cart-page .unzend-cart-form table.shop_table,
.unzend-system-page--cart .unzend-cart-form table.shop_table {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.unzend-cart-page .unzend-cart-form table.shop_table thead,
.unzend-system-page--cart .unzend-cart-form table.shop_table thead {
  display: block;
  margin-block-end: 10px;
  padding-inline: 14px;
}

.unzend-cart-page .unzend-cart-form table.shop_table thead tr,
.unzend-system-page--cart .unzend-cart-form table.shop_table thead tr {
  display: grid;
  grid-template-columns: 36px 78px minmax(180px, 1fr) minmax(90px, .34fr) minmax(112px, .4fr) minmax(100px, .34fr);
  gap: 12px;
  align-items: center;
}

.unzend-cart-page .unzend-cart-form table.shop_table thead th,
.unzend-system-page--cart .unzend-cart-form table.shop_table thead th {
  width: auto;
  padding: 0;
  border: 0;
  color: #61766b;
  font: 750 9px/1.35 var(--uz-mono);
  letter-spacing: .09em;
  text-align: start;
  text-transform: uppercase;
}

.unzend-cart-page .unzend-cart-form table.shop_table tbody,
.unzend-system-page--cart .unzend-cart-form table.shop_table tbody {
  display: grid;
  gap: 12px;
}

.unzend-cart-page .unzend-cart-form table.shop_table tr.cart_item,
.unzend-system-page--cart .unzend-cart-form table.shop_table tr.cart_item {
  position: relative;
  display: grid;
  grid-template-columns: 36px 78px minmax(180px, 1fr) minmax(90px, .34fr) minmax(112px, .4fr) minmax(100px, .34fr);
  gap: 12px;
  align-items: center;
  margin: 0;
  padding: 15px 14px;
  overflow: hidden;
  border: 1px solid rgba(34,229,122,.12);
  border-radius: 15px;
  background:
    linear-gradient(110deg, rgba(34,229,122,.035), transparent 30%),
    linear-gradient(180deg, rgba(10,17,13,.98), rgba(4,8,6,.99));
  box-shadow: 0 16px 42px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.02);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.unzend-cart-page .unzend-cart-form table.shop_table tr.cart_item::before,
.unzend-system-page--cart .unzend-cart-form table.shop_table tr.cart_item::before {
  position: absolute;
  inset-block: 14px;
  inset-inline-start: 0;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: var(--uz-green);
  box-shadow: 0 0 16px rgba(34,229,122,.58);
  content: "";
  opacity: .7;
}

[dir="rtl"] .unzend-cart-page .unzend-cart-form table.shop_table tr.cart_item::before,
[dir="rtl"] .unzend-system-page--cart .unzend-cart-form table.shop_table tr.cart_item::before {
  border-radius: 2px 0 0 2px;
}

.unzend-cart-page .unzend-cart-form table.shop_table tr.cart_item:hover,
.unzend-system-page--cart .unzend-cart-form table.shop_table tr.cart_item:hover {
  border-color: rgba(34,229,122,.26);
  transform: translateY(-1px);
  box-shadow: 0 20px 52px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.025);
}

.unzend-cart-page .unzend-cart-form table.shop_table tr.cart_item td,
.unzend-system-page--cart .unzend-cart-form table.shop_table tr.cart_item td {
  display: block;
  width: auto;
  min-width: 0;
  padding: 0;
  border: 0;
  text-align: start;
}

.unzend-cart-page .unzend-cart-form table.shop_table .product-remove,
.unzend-system-page--cart .unzend-cart-form table.shop_table .product-remove {
  width: 36px;
  min-width: 36px;
  padding: 0;
}

.unzend-cart-page .unzend-cart-form a.remove,
.unzend-system-page--cart .unzend-cart-form a.remove {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  margin: 0;
  border: 1px solid rgba(255,105,105,.2);
  border-radius: 9px;
  background: rgba(255,80,80,.045);
  color: #b87878 !important;
  font: 500 18px/1 Arial, sans-serif;
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.unzend-cart-page .unzend-cart-form a.remove:hover,
.unzend-system-page--cart .unzend-cart-form a.remove:hover {
  border-color: rgba(255,105,105,.48);
  background: rgba(255,80,80,.12);
  color: #ff9a9a !important;
  transform: rotate(6deg);
}

.unzend-cart-page .unzend-cart-form table.shop_table .product-thumbnail,
.unzend-system-page--cart .unzend-cart-form table.shop_table .product-thumbnail {
  width: 78px;
}

.unzend-cart-page .unzend-cart-form table.shop_table .product-thumbnail a,
.unzend-system-page--cart .unzend-cart-form table.shop_table .product-thumbnail a {
  display: block;
}

.unzend-cart-page .unzend-cart-form table.shop_table .product-thumbnail img,
.unzend-system-page--cart .unzend-cart-form table.shop_table .product-thumbnail img {
  display: block;
  width: 68px;
  height: 68px;
  object-fit: cover;
  border: 1px solid rgba(34,229,122,.15);
  border-radius: 12px;
  background: #030704;
  box-shadow: 0 10px 26px rgba(0,0,0,.24);
}

.unzend-cart-page .unzend-cart-product,
.unzend-system-page--cart .unzend-cart-product {
  display: grid;
  gap: 6px;
}

.unzend-cart-page .unzend-cart-product__type,
.unzend-system-page--cart .unzend-cart-product__type {
  color: #557166;
  font: 750 8px/1.3 var(--uz-mono);
  letter-spacing: .08em;
}

.unzend-cart-page .unzend-cart-form .product-name > .unzend-cart-product > a,
.unzend-system-page--cart .unzend-cart-form .product-name > .unzend-cart-product > a {
  color: #e1f2e9;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.45;
  text-decoration: none;
}

.unzend-cart-page .unzend-cart-form .product-name dl.variation,
.unzend-system-page--cart .unzend-cart-form .product-name dl.variation {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
  margin: 0;
  color: #71877c;
  font-size: 10px;
}

.unzend-cart-page .unzend-cart-form .product-name dl.variation dt,
.unzend-cart-page .unzend-cart-form .product-name dl.variation dd,
.unzend-system-page--cart .unzend-cart-form .product-name dl.variation dt,
.unzend-system-page--cart .unzend-cart-form .product-name dl.variation dd {
  float: none;
  margin: 0;
  padding: 0;
}

.unzend-cart-page .unzend-cart-form .product-price,
.unzend-cart-page .unzend-cart-form .product-subtotal,
.unzend-system-page--cart .unzend-cart-form .product-price,
.unzend-system-page--cart .unzend-cart-form .product-subtotal {
  color: #cde3d7;
  font: 780 12px/1.45 var(--uz-mono);
}

.unzend-cart-page .unzend-cart-form .product-subtotal,
.unzend-system-page--cart .unzend-cart-form .product-subtotal {
  color: var(--uz-green-soft);
}

.unzend-cart-page .unzend-cart-form .quantity,
.unzend-system-page--cart .unzend-cart-form .quantity {
  display: inline-flex;
  align-items: center;
  width: auto;
  border: 1px solid rgba(34,229,122,.14);
  border-radius: 9px;
  background: #040805;
}

.unzend-cart-page .unzend-cart-form .quantity .qty,
.unzend-system-page--cart .unzend-cart-form .quantity .qty {
  width: 62px;
  min-height: 38px;
  padding: 6px 8px;
  border: 0;
  background: transparent;
  color: #d8eadf;
  font: 750 12px/1 var(--uz-mono);
  box-shadow: none;
}

.unzend-cart-page .unzend-cart-form .unzend-cart-actions-row,
.unzend-system-page--cart .unzend-cart-form .unzend-cart-actions-row {
  display: block;
  margin-block-start: 2px;
}

.unzend-cart-page .unzend-cart-form .unzend-cart-actions-row td.actions,
.unzend-system-page--cart .unzend-cart-form .unzend-cart-actions-row td.actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(34,229,122,.1);
  border-radius: 14px;
  background: rgba(5,10,7,.72);
}

/* --------------------------------------------------------------------------
 * WooCommerce Cart Block
 * ----------------------------------------------------------------------- */
.unzend-cart-page .wp-block-woocommerce-cart,
.unzend-system-page--cart .wp-block-woocommerce-cart {
  container-type: inline-size;
}

.unzend-cart-page .wc-block-cart-items,
.unzend-system-page--cart .wc-block-cart-items {
  display: block;
  width: 100%;
  border: 0;
  border-collapse: separate;
  background: transparent;
}

.unzend-cart-page .wc-block-cart-items thead,
.unzend-system-page--cart .wc-block-cart-items thead {
  display: none;
}

.unzend-cart-page .wc-block-cart-items tbody,
.unzend-system-page--cart .wc-block-cart-items tbody {
  display: grid;
  gap: 12px;
}

.unzend-cart-page .wc-block-cart-items__row,
.unzend-system-page--cart .wc-block-cart-items__row {
  position: relative;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) minmax(105px, auto);
  gap: 15px;
  align-items: center;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(34,229,122,.12) !important;
  border-radius: 15px;
  background:
    linear-gradient(110deg, rgba(34,229,122,.035), transparent 30%),
    linear-gradient(180deg, rgba(10,17,13,.98), rgba(4,8,6,.99));
  box-shadow: 0 16px 42px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.02);
}

.unzend-cart-page .wc-block-cart-items__row::before,
.unzend-system-page--cart .wc-block-cart-items__row::before {
  position: absolute;
  inset-block: 14px;
  inset-inline-start: 0;
  width: 2px;
  border-radius: 0 2px 2px 0;
  background: var(--uz-green);
  box-shadow: 0 0 16px rgba(34,229,122,.58);
  content: "";
  opacity: .7;
}

[dir="rtl"] .unzend-cart-page .wc-block-cart-items__row::before,
[dir="rtl"] .unzend-system-page--cart .wc-block-cart-items__row::before {
  border-radius: 2px 0 0 2px;
}

.unzend-cart-page .wc-block-cart-items__row > td,
.unzend-system-page--cart .wc-block-cart-items__row > td {
  display: block;
  width: auto;
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
}

.unzend-cart-page .wc-block-cart-item__image,
.unzend-system-page--cart .wc-block-cart-item__image {
  grid-column: 1;
  grid-row: 1;
}

.unzend-cart-page .wc-block-cart-item__image img,
.unzend-system-page--cart .wc-block-cart-item__image img {
  display: block;
  width: 78px;
  height: 78px;
  object-fit: cover;
  border: 1px solid rgba(34,229,122,.15);
  border-radius: 12px;
  background: #030704;
  box-shadow: 0 10px 26px rgba(0,0,0,.24);
}

.unzend-cart-page .wc-block-cart-item__product,
.unzend-system-page--cart .wc-block-cart-item__product {
  grid-column: 2;
  grid-row: 1;
}

.unzend-cart-page .wc-block-cart-item__total,
.unzend-system-page--cart .wc-block-cart-item__total {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  text-align: end;
}

.unzend-cart-page .wc-block-components-product-name,
.unzend-system-page--cart .wc-block-components-product-name {
  display: inline-block;
  margin-block-end: 7px;
  color: #e1f2e9;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.45;
  text-decoration: none;
}

.unzend-cart-page .wc-block-components-product-metadata,
.unzend-system-page--cart .wc-block-components-product-metadata {
  color: #71877c;
  font-size: 10px;
}

.unzend-cart-page .wc-block-cart-item__prices,
.unzend-system-page--cart .wc-block-cart-item__prices {
  margin-block: 5px 10px;
}

.unzend-cart-page .wc-block-components-quantity-selector,
.unzend-system-page--cart .wc-block-components-quantity-selector {
  min-height: 38px;
  border: 1px solid rgba(34,229,122,.14);
  border-radius: 9px;
  background: #040805;
  box-shadow: none;
}

.unzend-cart-page .wc-block-components-quantity-selector::after,
.unzend-system-page--cart .wc-block-components-quantity-selector::after {
  display: none;
}

.unzend-cart-page .wc-block-cart-item__remove-link,
.unzend-system-page--cart .wc-block-cart-item__remove-link {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin-block-start: 9px;
  padding: 4px 9px;
  border: 1px solid rgba(255,105,105,.18);
  border-radius: 8px;
  background: rgba(255,80,80,.04);
  color: #aa7373;
  font: 650 9px/1.2 var(--uz-mono);
  text-decoration: none;
}

.unzend-cart-page .wc-block-cart-item__remove-link:hover,
.unzend-system-page--cart .wc-block-cart-item__remove-link:hover {
  border-color: rgba(255,105,105,.42);
  background: rgba(255,80,80,.1);
  color: #ff9a9a;
}

.unzend-cart-page .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.unzend-system-page--cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
  align-items: flex-end;
}

.unzend-cart-page .wc-block-cart-item__total .wc-block-components-product-price,
.unzend-system-page--cart .wc-block-cart-item__total .wc-block-components-product-price {
  color: var(--uz-green-soft);
  font: 820 13px/1.4 var(--uz-mono);
}

/* Empty-cart block should still look intentional. */
.unzend-cart-page .wp-block-woocommerce-empty-cart-block,
.unzend-system-page--cart .wp-block-woocommerce-empty-cart-block {
  padding: clamp(26px, 5vw, 52px);
  border: 1px solid rgba(34,229,122,.14);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(10,17,13,.98), rgba(4,8,6,.99));
  text-align: center;
}

@media (max-width: 980px) {
  .unzend-cart-page .unzend-cart-form table.shop_table thead,
  .unzend-system-page--cart .unzend-cart-form table.shop_table thead {
    display: none;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table tr.cart_item,
  .unzend-system-page--cart .unzend-cart-form table.shop_table tr.cart_item {
    grid-template-columns: 32px 78px minmax(0, 1fr) minmax(110px, auto);
    gap: 10px 12px;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-remove,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-remove {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-thumbnail,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-thumbnail {
    grid-column: 2;
    grid-row: 1 / 3;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-name,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-name {
    grid-column: 3;
    grid-row: 1;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-price,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-price {
    grid-column: 3;
    grid-row: 2;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-quantity,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-quantity {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-subtotal,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-subtotal {
    grid-column: 4;
    grid-row: 2;
    justify-self: end;
  }
}

@container (max-width: 700px) {
  .unzend-cart-page .wc-block-cart-items__row,
  .unzend-system-page--cart .wc-block-cart-items__row {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .unzend-cart-page .wc-block-cart-item__image img,
  .unzend-system-page--cart .wc-block-cart-item__image img {
    width: 70px;
    height: 70px;
  }

  .unzend-cart-page .wc-block-cart-item__total,
  .unzend-system-page--cart .wc-block-cart-item__total {
    grid-column: 2;
    grid-row: 2;
    padding-block-start: 9px !important;
    border-top: 1px solid rgba(255,255,255,.05) !important;
    text-align: start;
  }

  .unzend-cart-page .wc-block-cart-item__total-price-and-sale-badge-wrapper,
  .unzend-system-page--cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    align-items: flex-start;
  }
}

@media (max-width: 680px) {
  .unzend-cart-page .unzend-cart-form table.shop_table tbody,
  .unzend-system-page--cart .unzend-cart-form table.shop_table tbody {
    gap: 10px;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table tr.cart_item,
  .unzend-system-page--cart .unzend-cart-form table.shop_table tr.cart_item {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 9px 13px;
    padding: 14px;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table tr.cart_item::before,
  .unzend-system-page--cart .unzend-cart-form table.shop_table tr.cart_item::before {
    inset-block: 12px;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-remove,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-remove {
    position: absolute;
    inset-block-start: 10px;
    inset-inline-end: 10px;
    z-index: 2;
    width: 29px;
    min-width: 29px;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-thumbnail,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-thumbnail {
    grid-column: 1;
    grid-row: 1 / 5;
    width: 70px;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-thumbnail img,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-thumbnail img {
    width: 66px;
    height: 66px;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-name,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-name {
    grid-column: 2;
    grid-row: 1;
    padding-inline-end: 32px;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-price,
  .unzend-cart-page .unzend-cart-form table.shop_table .product-quantity,
  .unzend-cart-page .unzend-cart-form table.shop_table .product-subtotal,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-price,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-quantity,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-subtotal {
    display: grid;
    grid-column: 2;
    grid-row: auto;
    grid-template-columns: minmax(74px, auto) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 34px;
    padding-block-start: 7px !important;
    border-top: 1px solid rgba(255,255,255,.045) !important;
    text-align: end;
  }

  .unzend-cart-page .unzend-cart-form table.shop_table .product-price::before,
  .unzend-cart-page .unzend-cart-form table.shop_table .product-quantity::before,
  .unzend-cart-page .unzend-cart-form table.shop_table .product-subtotal::before,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-price::before,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-quantity::before,
  .unzend-system-page--cart .unzend-cart-form table.shop_table .product-subtotal::before {
    display: block;
    color: #60766a;
    content: attr(data-title);
    font: 700 8.5px/1.2 var(--uz-mono);
    letter-spacing: .05em;
    text-align: start;
    text-transform: uppercase;
  }

  .unzend-cart-page .unzend-cart-form .product-quantity,
  .unzend-system-page--cart .unzend-cart-form .product-quantity {
    justify-self: stretch;
  }

  .unzend-cart-page .unzend-cart-form .quantity,
  .unzend-system-page--cart .unzend-cart-form .quantity {
    margin-inline-start: auto;
  }

  .unzend-cart-page .unzend-cart-form .unzend-cart-actions-row td.actions,
  .unzend-system-page--cart .unzend-cart-form .unzend-cart-actions-row td.actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .unzend-cart-page .unzend-cart-form .unzend-cart-coupon,
  .unzend-system-page--cart .unzend-cart-form .unzend-cart-coupon {
    width: 100%;
  }

  .unzend-cart-page .wc-block-cart-items__row,
  .unzend-system-page--cart .wc-block-cart-items__row {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .unzend-cart-page .wc-block-cart-item__image img,
  .unzend-system-page--cart .wc-block-cart-item__image img {
    width: 64px;
    height: 64px;
  }
}
