/* ===========================================================
   Cart page — WooCommerce
   =========================================================== */

/* Cart form layout */
.woocommerce-cart .woocommerce-cart-form {
  width: 100%;
}

/* ============ DESKTOP: classic table ============ */
.woocommerce-cart table.cart {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
}

.woocommerce-cart table.cart thead th {
  background: var(--rn-cream-bg);
  color: var(--rn-text-dark);
  font-weight: 700;
  font-size: 13px;
  padding: 14px 12px;
  text-align: right;
  border-bottom: 2px solid var(--rn-border-light);
}

.woocommerce-cart table.cart tbody tr {
  border-bottom: 1px solid var(--rn-cream-border);
}
.woocommerce-cart table.cart tbody tr:last-child {
  border-bottom: none;
}
.woocommerce-cart table.cart tbody td {
  padding: 16px 12px;
  vertical-align: middle;
  text-align: right;
}

/* Product thumbnail */
.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail {
  width: 80px;
}
.woocommerce-cart table.cart td.product-thumbnail img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: var(--rn-radius-sm);
  border: 1px solid var(--rn-cream-border);
  display: block;
}

/* Product name */
.woocommerce-cart table.cart td.product-name {
  font-weight: 700;
  color: var(--rn-text-black);
}
.woocommerce-cart table.cart td.product-name a {
  color: var(--rn-text-black);
  text-decoration: none;
}
.woocommerce-cart table.cart td.product-name a:hover {
  color: var(--rn-beige-hover);
}

/* Product price & subtotal */
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
  color: var(--rn-pink-dark);
  font-weight: 800;
}

/* Quantity input */
.woocommerce-cart table.cart td.product-quantity .qty {
  width: 60px;
  padding: 6px 10px;
  border: 1px solid var(--rn-border-light);
  border-radius: var(--rn-radius-sm);
  font-size: 14px;
  text-align: center;
  font-family: 'Cairo', sans-serif;
  color: var(--rn-text-black);
  background: var(--rn-white);
}

/* Remove button */
.woocommerce-cart table.cart td.product-remove a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--rn-cream-bg);
  color: var(--rn-danger);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  border: 1px solid var(--rn-cream-border);
  transition: background 0.2s ease;
}
.woocommerce-cart table.cart td.product-remove a:hover {
  background: #ffeaea;
}

/* Cart actions (coupon + update cart) */
.woocommerce-cart .actions {
  padding: 16px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.woocommerce-cart .coupon {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 200px;
}
.woocommerce-cart .coupon input#coupon_code {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--rn-border-light);
  border-radius: var(--rn-radius-input);
  font-size: 13px;
  font-family: 'Cairo', sans-serif;
  color: var(--rn-text-black);
  background: var(--rn-white);
  outline: none;
  direction: rtl;
}
.woocommerce-cart .coupon input#coupon_code:focus {
  border-color: var(--rn-beige-hover);
}
.woocommerce-cart .coupon button.button {
  background: var(--rn-beige-soft);
  color: var(--rn-text-black);
  border: none;
  border-radius: var(--rn-radius-input);
  font-weight: 700;
  font-size: 13px;
  padding: 10px 20px;
  cursor: pointer;
  font-family: 'Cairo', sans-serif;
  transition: background 0.2s ease;
  white-space: nowrap;
}
.woocommerce-cart .coupon button.button:hover {
  background: var(--rn-beige-hover);
}

.woocommerce-cart button[name='update_cart'] {
  background: var(--rn-cream-bg);
  color: var(--rn-text-dark);
  border: 1px solid var(--rn-border-light);
  border-radius: var(--rn-radius-input);
  font-weight: 700;
  font-size: 13px;
  padding: 10px 20px;
  cursor: pointer;
  font-family: 'Cairo', sans-serif;
  transition: background 0.2s ease;
}
.woocommerce-cart button[name='update_cart']:hover {
  background: var(--rn-beige-soft);
}

/* Cart totals section */
.woocommerce-cart .cart-collaterals {
  margin-top: 30px;
}
.woocommerce-cart .cart_totals {
  max-width: 480px;
  margin-right: auto;
  background: var(--rn-cream);
  border: 1px solid var(--rn-border-light);
  border-radius: var(--rn-radius-lg);
  overflow: hidden;
}
.woocommerce-cart .cart_totals h2 {
  padding: 16px 20px;
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--rn-text-black);
  border-bottom: 1px solid var(--rn-border-light);
  background: var(--rn-cream-bg);
}
.woocommerce-cart .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: 14px 20px;
  text-align: right;
  border-bottom: 1px solid var(--rn-cream-border);
  font-size: 14px;
}
.woocommerce-cart .cart_totals table th {
  font-weight: 700;
  color: var(--rn-text-dark);
  width: 40%;
}
.woocommerce-cart .cart_totals table td {
  font-weight: 800;
  color: var(--rn-pink-dark);
}
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
  font-size: 16px;
  border-bottom: none;
}
.woocommerce-cart .cart_totals table tr.order-total td {
  color: var(--rn-pink-dark);
}

/* Checkout button */
.woocommerce-cart .wc-proceed-to-checkout {
  padding: 16px 20px;
}
.woocommerce-cart .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  background: var(--rn-beige);
  color: var(--rn-text-black);
  border: none;
  border-radius: var(--rn-radius-xl);
  font-weight: 800;
  font-size: 15px;
  padding: 14px 25px;
  text-align: center;
  text-decoration: none;
  transition: background 0.2s ease;
  font-family: 'Cairo', sans-serif;
  cursor: pointer;
  box-sizing: border-box;
}
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--rn-beige-hover);
}

/* Notices */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info {
  padding: 14px 18px;
  border-radius: var(--rn-radius-sm);
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 600;
  list-style: none;
}
.woocommerce-cart .woocommerce-message {
  background: var(--rn-success-bg);
  border: 1px solid var(--rn-success-border);
  color: var(--rn-success);
}
.woocommerce-cart .woocommerce-error {
  background: #ffeaea;
  border: 1px solid #ffcccc;
  color: var(--rn-danger);
}
.woocommerce-cart .woocommerce-info {
  background: var(--rn-cream-bg);
  border: 1px solid var(--rn-border-light);
  color: var(--rn-text-dark);
}

/* Empty cart */
.woocommerce-cart .cart-empty {
  text-align: center;
  padding: 40px 20px;
  font-size: 16px;
  color: var(--rn-text-muted);
}
.woocommerce-cart .return-to-shop {
  text-align: center;
  margin-top: 16px;
}
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .return-to-shop a {
  display: inline-block;
  background: var(--rn-beige);
  color: var(--rn-text-black);
  border-radius: var(--rn-radius-xl);
  padding: 12px 30px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: background 0.2s ease;
}
.woocommerce-cart .return-to-shop .button:hover,
.woocommerce-cart .return-to-shop a:hover {
  background: var(--rn-beige-hover);
}

/* Hide responsive labels added by WooCommerce */
.woocommerce-cart table.cart td::before {
  display: none !important;
}

/* ===========================================================
   MOBILE: convert the table into card rows
   Each <tr> becomes a card with image + name + qty + subtotal + remove
   =========================================================== */
@media (max-width: 768px) {
  /* Hide the table header on mobile */
  .woocommerce-cart table.cart thead {
    display: none !important;
  }

  /* Each table is just a vertical stack of card rows */
  .woocommerce-cart table.cart,
  .woocommerce-cart table.cart tbody {
    display: block !important;
    width: 100% !important;
    border-collapse: collapse;
  }

  /* Each cart row becomes a card */
  .woocommerce-cart table.cart tbody tr.cart_item {
    display: grid !important;
    grid-template-columns: 70px 1fr auto;
    grid-template-areas:
      'thumb name remove'
      'thumb price price'
      'thumb qty subtotal';
    gap: 6px 12px;
    align-items: center;
    background: var(--rn-white);
    border: 1px solid var(--rn-border-light) !important;
    border-radius: var(--rn-radius-md);
    padding: 12px;
    margin-bottom: 10px;
  }

  /* All cells reset to plain blocks inside the grid */
  .woocommerce-cart table.cart tbody tr.cart_item td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    text-align: right;
    font-size: 13px;
    width: auto !important;
    vertical-align: middle;
  }

  .woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail {
    grid-area: thumb;
    display: block !important; /* override the desktop `display: none` if any */
  }
  .woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: var(--rn-radius-sm);
    border: 1px solid var(--rn-cream-border);
    display: block;
  }

  .woocommerce-cart table.cart tbody tr.cart_item td.product-name {
    grid-area: name;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--rn-text-black);
  }

  .woocommerce-cart table.cart tbody tr.cart_item td.product-price {
    grid-area: price;
    color: var(--rn-text-muted);
    font-size: 12.5px;
    font-weight: 600;
  }
  .woocommerce-cart table.cart tbody tr.cart_item td.product-price::before {
    content: 'السعر: ';
    color: var(--rn-text-muted);
    font-weight: 500;
    margin-left: 4px;
  }

  .woocommerce-cart table.cart tbody tr.cart_item td.product-quantity {
    grid-area: qty;
  }
  .woocommerce-cart table.cart tbody tr.cart_item td.product-quantity .qty {
    width: 56px;
    padding: 4px 6px;
    font-size: 13px;
  }

  .woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal {
    grid-area: subtotal;
    text-align: left;
    font-size: 14px;
    font-weight: 800;
    color: var(--rn-pink-dark);
  }

  .woocommerce-cart table.cart tbody tr.cart_item td.product-remove {
    grid-area: remove;
    text-align: left;
  }
  .woocommerce-cart table.cart tbody tr.cart_item td.product-remove a {
    width: 26px;
    height: 26px;
    font-size: 16px;
  }

  /* The actions row (coupon, update) below items */
  .woocommerce-cart table.cart tr:not(.cart_item) {
    display: block !important;
    width: 100% !important;
  }
  .woocommerce-cart table.cart tr:not(.cart_item) td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
  }

  .woocommerce-cart .actions {
    padding: 12px 0;
    flex-direction: column;
    align-items: stretch;
  }
  .woocommerce-cart .coupon {
    width: 100%;
    min-width: unset;
  }
  .woocommerce-cart .cart_totals {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .woocommerce-cart table.cart tbody tr.cart_item {
    grid-template-columns: 60px 1fr auto;
    padding: 10px;
    gap: 4px 10px;
  }
  .woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail img {
    width: 60px;
    height: 60px;
  }
  .woocommerce-cart table.cart tbody tr.cart_item td.product-name {
    font-size: 13px;
  }
  .woocommerce-cart table.cart tbody tr.cart_item td.product-subtotal {
    font-size: 13.5px;
  }
}