/* ========== CART LAYOUT ========== */
.cart-wrapper {
  display: flex;
  gap: 30px;
}

.cart-left {
  width: 68%;
}

.cart-right {
  width: 32% !important;
  border-left: 1px solid #eee;
  padding-left: 30px;
}

/* ========== TABLE ========== */
.shop_table {
  width: 100%;
  border-collapse: collapse !important;
  border: none !important;
}
.shop_table tr {
  border-bottom: 1px solid #eee;
}
.shop_table tr:last-child {
  display: none !important;
  border: none !important;
}
.shop_table th {
  text-align: left;
  font-weight: 600;
  font-size: 15px;
  padding: 12px 0;
  border-bottom: 2px solid #eee;
}

.shop_table td {
  padding: 20px 0;
  vertical-align: middle;
  border: none !important;
}

/* ========== PRODUCT COLUMN ========== */
.product-name {
  display: flex;
  align-items: center;
  gap: 15px;
}

.product-name img {
  width: 80px;
  height: auto;
  border: 1px solid #ddd;
  padding: 5px;
  background: #fff;
}

.product-name a {
  font-weight: 600;
  color: #0b57a4;
  text-decoration: none;
}

.product-name a:hover {
  text-decoration: underline;
}

/* Remove button */
.product-name .remove-item {
  font-size: 20px;
  color: #ccc;
  padding: 5px;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ccc;
  border-radius: 50%;
}

.product-name .remove-item:hover {
  color: #000;
  text-decoration: none !important;
  border: 2px solid #000;
}

/* ========== PRICE ========== */
.pr-price,
.product-subtotal {
  font-weight: 600;
  color: #000;
}

/* ========== QUANTITY ========== */
.product-quantity {
  display: flex;
  align-items: center;
}

.product-quantity input.qty {
  width: 50px;
  height: 38px;
  text-align: center;
  border: 1px solid #ddd;
}

.product-quantity button {
  width: 38px;
  height: 38px;
  border: 1px solid #ddd;
  background: #f5f5f5;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

.qty-box button:hover {
  background: #ddd;
}

/* ========== BUTTONS ========== */
.actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}

.actions .button {
  padding: 12px 25px;
  border-radius: 3px;
  font-weight: 600;
}

.actions .button[name="update_cart"] {
  background: #6c8ebf;
  color: #fff;
  border: none;
}

.actions .button[name="update_cart"]:hover {
  background: #4f74aa;
}
.btn-back {
  border: 2px solid #0b57a4;
  color: #0b57a4;
  font-weight: 600;
  padding: 10px;
}

/* ========== CART TOTAL ========== */
.cart-right h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
.cart_totals {
  width: 100% !important;
  float: unset !important;
}
.cart_totals table {
  width: 100%;
  border: none !important;
}

.cart_totals th,
.cart_totals td {
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.cart_totals .order-total td {
  font-size: 18px;
  font-weight: bold;
}

/* Checkout button */
.wc-proceed-to-checkout a {
  background: red !important;
  color: #fff;
  text-align: center;
  padding: 10px !important;
  display: block;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 10px !important;
}

.wc-proceed-to-checkout a:hover {
  background: #c40000;
}

/* ========== COUPON ========== */
.coupon-header {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-bottom: 10px;
  border-bottom: 2px solid #eee;
}
.coupon-header i {
  color: #777;
}
.coupon input {
  width: 100%;
  height: 42px;
  margin-bottom: 10px;
  padding: 10px;
}

.coupon button {
  width: 100%;
  padding: 12px;
  background: #f9f9f9 !important;
  border: 1px solid #ddd !important;
  border-radius: unset !important;
}

/* ========== MOBILE ========== */
@media (max-width: 768px) {
  .cart-wrapper {
    flex-direction: column;
  }

  .cart-left,
  .cart-right {
    width: 100%;
  }

  .product-name {
    flex-direction: column;
    align-items: flex-start;
  }
}
