/* ======================================================================
   SHIMA STOREFRONT UI 2.7.0 — definitive wholesale cart proportions
   Focus: give the product name real room, compact the totals sidebar,
   remove the cart shipping note, and keep price / quantity / line total
   in one clean desktop row for WooCommerce Cart Block and Classic Cart.
   ====================================================================== */

/* -----------------------------
   Cart Block — desktop layout
   ----------------------------- */
@media (min-width: 981px) {
  .shima-cart-page .shima-transaction-content .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 340px !important;
    grid-template-areas: "main sidebar" !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__main {
    grid-area: main !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar {
    grid-area: sidebar !important;
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    flex: 0 0 340px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 22px !important;
    box-sizing: border-box !important;
  }

  /* Remove the "shipping will be calculated at checkout" block on cart. */
  .shima-cart-page .shima-transaction-content .wc-block-components-totals-shipping,
  .shima-cart-page .shima-transaction-content .wc-block-components-totals-shipping__fieldset,
  .shima-cart-page .shima-transaction-content .wc-block-components-totals-shipping__via,
  .shima-cart-page .shima-transaction-content .wc-block-components-totals-shipping__destination,
  .shima-cart-page .shima-transaction-content .wc-block-components-totals-shipping__change-address__link {
    display: none !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
    margin-top: 10px !important;
    padding-top: 12px !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-cart__totals-title {
    margin: 0 0 14px !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    font-weight: 950 !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-components-totals-item {
    min-height: 42px !important;
    padding: 7px 0 !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-components-totals-item__label,
  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-components-totals-item__value,
  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-formatted-money-amount {
    font-size: 13px !important;
    line-height: 1.75 !important;
    font-weight: 900 !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    font-size: 14px !important;
    font-weight: 950 !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar .wc-block-cart__submit-container {
    margin-top: 14px !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__submit-button {
    min-height: 54px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  /* Product row: image | name | unit price | quantity | remove | line total */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    display: grid !important;
    direction: ltr !important;
    grid-template-columns: 158px minmax(0, 1fr) 92px !important;
    grid-template-areas: "total product image" !important;
    gap: 20px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 142px !important;
    margin: 14px 0 0 !important;
    padding: 20px 22px !important;
    box-sizing: border-box !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image {
    grid-area: image !important;
    align-self: center !important;
    justify-self: end !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    width: 88px !important;
    height: 88px !important;
    max-width: 88px !important;
    object-fit: cover !important;
    border-radius: 15px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product {
    grid-area: product !important;
    min-width: 0 !important;
    direction: rtl !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap {
    display: grid !important;
    direction: ltr !important;
    grid-template-columns: 126px 142px minmax(360px, 1fr) !important;
    grid-template-areas:
      "qty unit name"
      "qty meta meta" !important;
    column-gap: 18px !important;
    row-gap: 6px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    grid-area: name !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-inline-end: 4px !important;
    color: #122117 !important;
    font-size: 13px !important;
    line-height: 1.85 !important;
    font-weight: 900 !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices {
    grid-area: unit !important;
    align-items: flex-start !important;
    min-width: 0 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total::before {
    margin-bottom: 5px !important;
    color: #738078 !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-components-product-price,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-formatted-money-amount,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-size: 13px !important;
    line-height: 1.7 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity {
    grid-area: qty !important;
    display: grid !important;
    grid-template-columns: 1fr 38px !important;
    grid-template-areas:
      "label label"
      "selector remove" !important;
    gap: 5px 7px !important;
    min-width: 0 !important;
    align-items: center !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-components-quantity-selector {
    grid-area: selector !important;
    width: 120px !important;
    min-width: 120px !important;
    min-height: 46px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__remove-link {
    grid-area: remove !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total {
    grid-area: total !important;
    align-self: center !important;
    justify-self: start !important;
    padding: 0 10px 0 0 !important;
    text-align: left !important;
    direction: rtl !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total::before {
    text-align: left !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-metadata {
    grid-area: meta !important;
    margin: 0 !important;
    color: #7a867f !important;
    font-size: 10px !important;
    line-height: 1.65 !important;
  }
}

/* -----------------------------
   Classic cart parity
   ----------------------------- */
@media (min-width: 981px) {
  .shima-cart-page .shima-cart-content .woocommerce {
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 24px !important;
  }

  .shima-cart-page .shima-cart-content .cart-collaterals,
  .shima-cart-page .shima-cart-content .cart-collaterals .cart_totals,
  .shima-cart-page .shima-cart-content > .cart_totals {
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
  }

  .shima-cart-page .shima-cart-content .cart_totals {
    padding: 22px !important;
  }

  .shima-cart-page .shima-cart-content .cart_totals h2 {
    font-size: 17px !important;
    margin-bottom: 14px !important;
  }

  .shima-cart-page .shima-cart-content .cart_totals .woocommerce-shipping-totals.shipping,
  .shima-cart-page .shima-cart-content .cart_totals .woocommerce-shipping-destination,
  .shima-cart-page .shima-cart-content .cart_totals .woocommerce-shipping-calculator {
    display: none !important;
  }
}

/* -----------------------------
   Intermediate desktop widths
   ----------------------------- */
@media (max-width: 1280px) and (min-width: 981px) {
  .shima-cart-page .shima-transaction-content .wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 1fr) 310px !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar {
    width: 310px !important;
    min-width: 310px !important;
    max-width: 310px !important;
    flex-basis: 310px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 145px minmax(0, 1fr) 82px !important;
    gap: 14px !important;
    padding: 18px 16px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap {
    grid-template-columns: 112px 132px minmax(280px, 1fr) !important;
    column-gap: 14px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    width: 78px !important;
    height: 78px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    font-size: 12px !important;
  }

  .shima-cart-page .shima-cart-content .woocommerce {
    grid-template-columns: minmax(0, 1fr) 310px !important;
  }
  .shima-cart-page .shima-cart-content .cart-collaterals,
  .shima-cart-page .shima-cart-content .cart-collaterals .cart_totals,
  .shima-cart-page .shima-cart-content > .cart_totals {
    width: 310px !important;
    min-width: 310px !important;
    max-width: 310px !important;
  }
}

/* -----------------------------
   Tablet / mobile reset
   ----------------------------- */
@media (max-width: 980px) {
  .shima-cart-page .shima-transaction-content .wc-block-components-sidebar-layout,
  .shima-cart-page .shima-cart-content .woocommerce {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "main"
      "sidebar" !important;
  }

  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar,
  .shima-cart-page .shima-cart-content .cart-collaterals,
  .shima-cart-page .shima-cart-content .cart-collaterals .cart_totals,
  .shima-cart-page .shima-cart-content > .cart_totals {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex-basis: auto !important;
  }
}

/* ======================================================================
   SHIMA STOREFRONT UI 2.7.1 — cart thumbnail/title separation fix
   Prevent WooCommerce Cart Block thumbnail and product title from colliding.
   ====================================================================== */
@media (min-width: 981px) {
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 166px minmax(0, 1fr) 110px !important;
    grid-template-areas: "total product image" !important;
    gap: 24px !important;
    padding: 20px 24px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image {
    position: static !important;
    inset: auto !important;
    grid-area: image !important;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    justify-self: end !important;
    z-index: 1 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image a {
    display: block !important;
    width: 96px !important;
    height: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    display: block !important;
    width: 96px !important;
    height: 96px !important;
    max-width: 96px !important;
    max-height: 96px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border: 1px solid #dfe9e3 !important;
    border-radius: 16px !important;
    background: #f7faf8 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product {
    position: relative !important;
    inset: auto !important;
    grid-area: product !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 18px 0 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    z-index: 2 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap {
    grid-template-columns: 126px 142px minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-wrap: pretty !important;
    text-align: right !important;
  }
}

@media (max-width: 1280px) and (min-width: 981px) {
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 148px minmax(0, 1fr) 96px !important;
    gap: 18px !important;
    padding: 18px 18px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image a,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 82px !important;
    max-height: 82px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product {
    padding-right: 14px !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap {
    grid-template-columns: 112px 130px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }
}

@media (max-width: 980px) {
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product {
    position: static !important;
    inset: auto !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product {
    padding-right: 0 !important;
    overflow: visible !important;
  }
}

/* ======================================================================
   SHIMA STOREFRONT UI 2.7.2 — wholesale cart table headers + row alignment
   Desktop order (RTL): row no. | image | product | unit price | cartons | amount
   The custom heading grid and every cart row share the exact same tracks.
   ====================================================================== */
@media (min-width: 981px) {
  /* Replace WooCommerce's two-column header with the exact wholesale columns. */
  .shima-cart-page table.wc-block-cart-items > thead {
    display: none !important;
  }

  .shima-cart-page .shima-cart-table-head {
    direction: ltr;
    display: grid;
    grid-template-columns: 150px 154px 164px minmax(250px, 1fr) 96px 64px;
    grid-template-areas: "total qty unit name image index";
    gap: 12px;
    align-items: center;
    width: 100%;
    margin: 0 0 10px;
    padding: 0 22px 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #e4ece7;
    color: #68776f;
    font-size: 11px;
    line-height: 1.5;
    font-weight: 900;
  }
  .shima-cart-page .shima-cart-table-head > span {
    min-width: 0;
    direction: rtl;
    text-align: center;
    white-space: nowrap;
  }
  .shima-cart-page .shima-cart-table-head .is-index { grid-area: index; }
  .shima-cart-page .shima-cart-table-head .is-image { grid-area: image; }
  .shima-cart-page .shima-cart-table-head .is-name { grid-area: name; text-align: right; }
  .shima-cart-page .shima-cart-table-head .is-unit { grid-area: unit; }
  .shima-cart-page .shima-cart-table-head .is-qty { grid-area: qty; }
  .shima-cart-page .shima-cart-table-head .is-total { grid-area: total; text-align: left; }

  /* Each product uses exactly the same column tracks as the heading row. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: 150px 154px 164px minmax(250px, 1fr) 96px 64px !important;
    grid-template-areas: "total qty unit product image index" !important;
    gap: 12px !important;
    align-items: center !important;
    min-height: 126px !important;
    padding: 16px 22px !important;
    margin-top: 0 !important;
  }

  /* Visible row number without injecting invalid table cells into React markup. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row::after {
    content: attr(data-shima-cart-row);
    grid-area: index;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    justify-self: center;
    align-self: center;
    border: 1px solid #dce8e1;
    border-radius: 10px;
    background: #f6faf7;
    color: #365247;
    direction: rtl;
    font-size: 11px;
    font-weight: 950;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image {
    grid-area: image !important;
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    justify-self: center !important;
    align-self: center !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image a,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    height: 86px !important;
    max-height: 86px !important;
  }

  /* Product cell spans the name, unit-price and quantity tracks. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product {
    grid-area: product !important;
    grid-column: 2 / 5 !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: subgrid !important;
    grid-template-rows: auto auto !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap {
    display: contents !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 4px !important;
    direction: rtl !important;
    text-align: right !important;
    font-size: 12.5px !important;
    line-height: 1.85 !important;
    font-weight: 900 !important;
    -webkit-line-clamp: 2 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-metadata {
    grid-column: 3 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: stretch !important;
    margin: 3px 4px 0 !important;
    direction: rtl !important;
    text-align: right !important;
    font-size: 9px !important;
    line-height: 1.6 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 100% !important;
    margin: 0 !important;
    direction: rtl !important;
    text-align: center !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    direction: rtl !important;
    display: grid !important;
    grid-template-columns: 1fr 34px !important;
    grid-template-areas: "selector remove" !important;
    gap: 6px !important;
    align-items: center !important;
  }

  /* The dedicated header row already names the columns; suppress per-cell mini labels. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total::before {
    display: none !important;
    content: none !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-components-quantity-selector {
    grid-area: selector !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    min-height: 44px !important;
    margin: 0 auto !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__remove-link {
    grid-area: remove !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total {
    grid-area: total !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 6px 0 12px !important;
    direction: rtl !important;
    text-align: left !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-components-product-price,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-formatted-money-amount,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-size: 12px !important;
    line-height: 1.7 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 1280px) and (min-width: 981px) {
  .shima-cart-page .shima-cart-table-head,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 132px 138px 142px minmax(220px, 1fr) 82px 52px !important;
    gap: 9px !important;
    padding-inline: 14px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image a,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    height: 74px !important;
    max-height: 74px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    font-size: 11.5px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-quantity-selector {
    width: 102px !important;
    min-width: 102px !important;
    max-width: 102px !important;
  }
}

@media (max-width: 980px) {
  .shima-cart-page .shima-cart-table-head {
    display: none !important;
  }
}


/* ======================================================================
   SHIMA STOREFRONT UI 2.7.3 — definitive wholesale cart data grid
   Exact desktop order (RTL):
   عملیات | شماره ردیف | عکس محصول | نام محصول | قیمت واحد | تعداد کارتن | مبلغ
   Header and row share one grid definition so every value sits below its title.
   ====================================================================== */
@media (min-width: 981px) {
  .shima-cart-page {
    --shima-cart-col-total: 156px;
    --shima-cart-col-qty: 146px;
    --shima-cart-col-unit: 148px;
    --shima-cart-col-image: 96px;
    --shima-cart-col-index: 62px;
    --shima-cart-col-action: 58px;
    --shima-cart-col-gap: 12px;
  }

  /* Keep Woo's native header out of the visual flow; custom header mirrors the row grid. */
  .shima-cart-page table.wc-block-cart-items > thead {
    display: none !important;
  }

  .shima-cart-page .shima-cart-table-head {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns:
      var(--shima-cart-col-total)
      var(--shima-cart-col-qty)
      var(--shima-cart-col-unit)
      minmax(260px, 1fr)
      var(--shima-cart-col-image)
      var(--shima-cart-col-index)
      var(--shima-cart-col-action) !important;
    grid-template-areas: "total qty unit name image index action" !important;
    column-gap: var(--shima-cart-col-gap) !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 0 10px !important;
    padding: 0 18px 10px !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #e2ebe6 !important;
    color: #5f6f66 !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
    font-weight: 900 !important;
  }
  .shima-cart-page .shima-cart-table-head > span {
    min-width: 0 !important;
    direction: rtl !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .shima-cart-page .shima-cart-table-head .is-action { grid-area: action !important; }
  .shima-cart-page .shima-cart-table-head .is-index { grid-area: index !important; }
  .shima-cart-page .shima-cart-table-head .is-image { grid-area: image !important; }
  .shima-cart-page .shima-cart-table-head .is-name { grid-area: name !important; text-align: right !important; }
  .shima-cart-page .shima-cart-table-head .is-unit { grid-area: unit !important; }
  .shima-cart-page .shima-cart-table-head .is-qty { grid-area: qty !important; }
  .shima-cart-page .shima-cart-table-head .is-total { grid-area: total !important; text-align: left !important; }

  /* One physical grid for the entire row. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns:
      var(--shima-cart-col-total)
      var(--shima-cart-col-qty)
      var(--shima-cart-col-unit)
      minmax(260px, 1fr)
      var(--shima-cart-col-image)
      var(--shima-cart-col-index)
      var(--shima-cart-col-action) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "total qty unit name image index action"
      "total qty unit meta image index action" !important;
    column-gap: var(--shima-cart-col-gap) !important;
    row-gap: 4px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 122px !important;
    margin: 0 0 12px !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe9e3 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg,#fff,#fcfefd) !important;
    box-shadow: 0 9px 24px rgba(15,44,29,.04) !important;
  }

  /* Expose the inner WooCommerce nodes to the row grid. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity {
    display: contents !important;
  }

  /* Action first (right-most in RTL presentation). */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__remove-link {
    grid-area: action !important;
    place-self: center !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    border: 1px solid #ffd9df !important;
    border-radius: 11px !important;
    background: #fff3f5 !important;
    color: #d84a5c !important;
    box-shadow: none !important;
  }

  /* Row number lives in its own dedicated track. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row::after {
    content: attr(data-shima-cart-row) !important;
    grid-area: index !important;
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    place-self: center !important;
    border: 1px solid #dbe7e0 !important;
    border-radius: 10px !important;
    background: #f6faf7 !important;
    color: #355046 !important;
    direction: rtl !important;
    font-size: 11px !important;
    font-weight: 950 !important;
  }

  /* Product image exactly below its heading. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image {
    grid-area: image !important;
    position: static !important;
    inset: auto !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-self: center !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image a,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    display: block !important;
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 84px !important;
    max-height: 84px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    object-fit: cover !important;
    border: 1px solid #dfe9e3 !important;
    border-radius: 14px !important;
    background: #f7faf8 !important;
  }

  /* Product title + optional metadata exactly below "نام محصول". */
  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    grid-area: name !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 4px !important;
    align-self: end !important;
    justify-self: stretch !important;
    direction: rtl !important;
    text-align: right !important;
    color: #132119 !important;
    font-size: 12.5px !important;
    line-height: 1.8 !important;
    font-weight: 900 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-metadata {
    grid-area: meta !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 2px 4px 0 !important;
    align-self: start !important;
    justify-self: stretch !important;
    direction: rtl !important;
    text-align: right !important;
    color: #7a867f !important;
    font-size: 9.5px !important;
    line-height: 1.65 !important;
    font-weight: 700 !important;
  }

  /* Unit price exactly below its heading. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices {
    grid-area: unit !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    place-self: center stretch !important;
    direction: rtl !important;
    text-align: center !important;
  }

  /* Quantity selector exactly below "تعداد کارتن". */
  .shima-cart-page table.wc-block-cart-items .wc-block-components-quantity-selector {
    grid-area: qty !important;
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    min-height: 44px !important;
    margin: 0 !important;
    place-self: center !important;
  }

  /* Line total exactly below "مبلغ" with safe edge spacing. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total {
    grid-area: total !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 14px 0 4px !important;
    place-self: center stretch !important;
    direction: rtl !important;
    text-align: left !important;
  }

  /* Dedicated heading row already explains each value. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total::before {
    display: none !important;
    content: none !important;
  }

  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-components-product-price,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-formatted-money-amount,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-size: 12px !important;
    line-height: 1.7 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }
}

/* Compact desktop adaptation while preserving the exact same column order. */
@media (max-width: 1280px) and (min-width: 981px) {
  .shima-cart-page {
    --shima-cart-col-total: 132px;
    --shima-cart-col-qty: 126px;
    --shima-cart-col-unit: 128px;
    --shima-cart-col-image: 82px;
    --shima-cart-col-index: 52px;
    --shima-cart-col-action: 48px;
    --shima-cart-col-gap: 8px;
  }
  .shima-cart-page .shima-cart-table-head,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    padding-inline: 12px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image a,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    max-height: 72px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    font-size: 11.5px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-quantity-selector {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
}

/* Mobile/tablet: custom desktop heading disappears and Woo's card layout remains usable. */
@media (max-width: 980px) {
  .shima-cart-page .shima-cart-table-head {
    display: none !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity {
    display: block !important;
  }
}

/* ======================================================================
   SHIMA STOREFRONT UI 2.7.4 — stable native Block Cart column architecture
   Previous display:contents approach was replaced with a safer two-level grid.
   Header and values now share the same tracks:
   عملیات | شماره ردیف | عکس محصول | نام محصول | قیمت واحد | تعداد کارتن | مبلغ
   ====================================================================== */

@media (min-width: 981px) {
  .shima-cart-page {
    --sc-action: 52px;
    --sc-index: 62px;
    --sc-image: 96px;
    --sc-unit: 150px;
    --sc-qty: 148px;
    --sc-total: 170px;
    --sc-gap: 12px;
  }

  /* Give the product matrix enough room and keep totals compact. */
  .shima-cart-page .shima-transaction-content .wc-block-components-sidebar-layout {
    grid-template-columns: minmax(0, 1.72fr) minmax(300px, .68fr) !important;
    gap: 20px !important;
  }
  .shima-cart-page .shima-transaction-content .wc-block-cart__main {
    min-width: 0 !important;
    padding: 22px !important;
  }
  .shima-cart-page .shima-transaction-content .wc-block-cart__sidebar {
    min-width: 0 !important;
    max-width: 390px !important;
    width: 100% !important;
    justify-self: start !important;
    padding: 22px !important;
  }

  /* The Woo table becomes a block container; only rows retain semantics. */
  .shima-cart-page table.wc-block-cart-items {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    table-layout: auto !important;
    overflow: visible !important;
  }
  .shima-cart-page table.wc-block-cart-items > thead {
    display: none !important;
  }
  .shima-cart-page table.wc-block-cart-items > tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* One exact heading grid. */
  .shima-cart-page .shima-cart-table-head {
    direction: rtl !important;
    display: grid !important;
    grid-template-columns:
      var(--sc-action)
      var(--sc-index)
      var(--sc-image)
      minmax(250px, 1fr)
      var(--sc-unit)
      var(--sc-qty)
      var(--sc-total) !important;
    gap: var(--sc-gap) !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 0 10px !important;
    padding: 0 18px 10px !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #e1ebe5 !important;
    color: #627168 !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
    font-weight: 900 !important;
  }
  .shima-cart-page .shima-cart-table-head > span {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .shima-cart-page .shima-cart-table-head .is-action { grid-column: 1 !important; }
  .shima-cart-page .shima-cart-table-head .is-index { grid-column: 2 !important; }
  .shima-cart-page .shima-cart-table-head .is-image { grid-column: 3 !important; }
  .shima-cart-page .shima-cart-table-head .is-name { grid-column: 4 !important; text-align: right !important; }
  .shima-cart-page .shima-cart-table-head .is-unit { grid-column: 5 !important; }
  .shima-cart-page .shima-cart-table-head .is-qty { grid-column: 6 !important; }
  .shima-cart-page .shima-cart-table-head .is-total { grid-column: 7 !important; text-align: left !important; }

  /* Row has five direct grid items: action, index, image, product-group, total. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    position: relative !important;
    direction: rtl !important;
    display: grid !important;
    grid-template-columns:
      var(--sc-action)
      var(--sc-index)
      var(--sc-image)
      minmax(250px, 1fr)
      var(--sc-unit)
      var(--sc-qty)
      var(--sc-total) !important;
    gap: var(--sc-gap) !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 122px !important;
    margin: 0 0 12px !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe9e3 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #fff 0%, #fcfefd 100%) !important;
    box-shadow: 0 9px 24px rgba(15,44,29,.04) !important;
  }

  /* Disable all previous pseudo/index hacks. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row::after {
    content: none !important;
    display: none !important;
  }

  /* New direct operation/index cells. */
  .shima-cart-page table.wc-block-cart-items .shima-cart-action-cell,
  .shima-cart-page table.wc-block-cart-items .shima-cart-index-cell {
    display: grid !important;
    place-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }
  .shima-cart-page table.wc-block-cart-items .shima-cart-action-cell { grid-column: 1 !important; }
  .shima-cart-page table.wc-block-cart-items .shima-cart-index-cell {
    grid-column: 2 !important;
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    place-self: center !important;
    border: 1px solid #dbe7e0 !important;
    border-radius: 10px !important;
    background: #f6faf7 !important;
    color: #355046 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
  }
  .shima-cart-page .shima-cart-remove-proxy {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #ffd8de !important;
    border-radius: 11px !important;
    background: #fff2f4 !important;
    color: #d84a5c !important;
    cursor: pointer !important;
    transition: background .16s ease, border-color .16s ease, transform .16s ease !important;
  }
  .shima-cart-page .shima-cart-remove-proxy:hover,
  .shima-cart-page .shima-cart-remove-proxy:focus-visible {
    background: #ffe8eb !important;
    border-color: #f3b5bf !important;
    transform: translateY(-1px) !important;
    outline: 0 !important;
  }

  /* Native image cell sits exactly in column 3. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image {
    grid-column: 3 !important;
    position: static !important;
    inset: auto !important;
    display: grid !important;
    place-items: center !important;
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 88px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    background: transparent !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image a,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    display: block !important;
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 88px !important;
    max-height: 88px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    object-fit: cover !important;
    border: 1px solid #dfe9e3 !important;
    border-radius: 14px !important;
    background: #f7faf8 !important;
  }

  /* Product TD spans name + unit price + quantity tracks. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product {
    grid-column: 4 / 7 !important;
    display: grid !important;
    grid-template-columns: subgrid !important;
    gap: var(--sc-gap) !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: subgrid !important;
    grid-template-rows: auto auto !important;
    gap: 4px var(--sc-gap) !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Name is column 4 of the outer grid (column 1 of product subgrid). */
  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 4px !important;
    color: #132119 !important;
    font-size: 12.5px !important;
    line-height: 1.85 !important;
    font-weight: 900 !important;
    text-align: right !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-metadata {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 2px 4px 0 !important;
    color: #78847d !important;
    font-size: 9.5px !important;
    line-height: 1.65 !important;
    font-weight: 700 !important;
    text-align: right !important;
  }

  /* Unit price is column 5 of outer grid (column 2 of product subgrid). */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  /* Quantity is column 6 of outer grid (column 3 of product subgrid). */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-quantity-selector {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    min-height: 44px !important;
    margin: 0 auto !important;
  }
  /* Hide Woo's original remove control; proxy in column 1 triggers it. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__remove-link {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  /* Line total is direct column 7. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total {
    grid-column: 7 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 8px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
  }

  /* Header already labels these values. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity::before,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total::before {
    display: none !important;
    content: none !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-components-product-price,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__prices .wc-block-formatted-money-amount,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total .wc-block-components-product-price,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__total .wc-block-formatted-money-amount {
    color: #087b43 !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  /* Prevent old rules from turning product internals into row-level grid items. */
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity {
    box-sizing: border-box !important;
  }
}

/* Fallback for browsers without CSS subgrid. */
@supports not (grid-template-columns: subgrid) {
  @media (min-width: 981px) {
    .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product,
    .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap {
      grid-template-columns: minmax(250px, 1fr) var(--sc-unit) var(--sc-qty) !important;
    }
  }
}

/* Compact desktop: keep all seven columns aligned without overflow. */
@media (max-width: 1280px) and (min-width: 981px) {
  .shima-cart-page {
    --sc-action: 44px;
    --sc-index: 50px;
    --sc-image: 78px;
    --sc-unit: 126px;
    --sc-qty: 118px;
    --sc-total: 138px;
    --sc-gap: 8px;
  }
  .shima-cart-page .shima-cart-table-head,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns:
      var(--sc-action)
      var(--sc-index)
      var(--sc-image)
      minmax(210px, 1fr)
      var(--sc-unit)
      var(--sc-qty)
      var(--sc-total) !important;
    padding-inline: 12px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image a,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__image img {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    height: 70px !important;
    max-height: 70px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-product-name {
    font-size: 11.3px !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-components-quantity-selector {
    width: 102px !important;
    min-width: 102px !important;
    max-width: 102px !important;
  }
}

/* Mobile/tablet: remove injected desktop cells/header and keep card presentation. */
@media (max-width: 980px) {
  .shima-cart-page .shima-cart-table-head,
  .shima-cart-page table.wc-block-cart-items .shima-cart-action-cell,
  .shima-cart-page table.wc-block-cart-items .shima-cart-index-cell {
    display: none !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__product,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__wrap,
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__quantity {
    display: block !important;
    grid-template-columns: none !important;
  }
  .shima-cart-page table.wc-block-cart-items .wc-block-cart-item__remove-link {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
  }
}
