/* ============================================================
   RR AUDIOCAR PRO — Cart page (override del template Woo nativo)
   ============================================================ */

.woocommerce-cart {
  background: var(--rrac-bg);
}

.woocommerce-cart .woocommerce {
  max-width: var(--rrac-container);
  margin: 0 auto;
  padding: var(--rrac-space-8) var(--rrac-gutter-mobile);
}
@media (min-width: 768px) { .woocommerce-cart .woocommerce { padding: var(--rrac-space-12) var(--rrac-gutter-tablet); } }
@media (min-width: 1024px) { .woocommerce-cart .woocommerce { padding: var(--rrac-space-12) var(--rrac-gutter-desktop); } }

/* Layout: cart items 70% | totals 30% */
@media (min-width: 1024px) {
  .woocommerce-cart .woocommerce-cart-form {
    float: left;
    width: calc(65% - 24px);
    margin-right: 24px;
  }
  .woocommerce-cart .cart-collaterals {
    float: right;
    width: 35%;
  }
}

/* Table cart */
.woocommerce-cart table.cart {
  width: 100%;
  border-collapse: collapse;
  background: var(--rrac-surface);
  border: 1px solid var(--rrac-border);
  border-radius: var(--rrac-radius-2xl);
  overflow: hidden;
  box-shadow: var(--rrac-shadow-sm);
}
.woocommerce-cart table.cart thead {
  background: var(--rrac-bg-subtle);
  font-size: var(--rrac-text-xs);
  font-weight: var(--rrac-weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--rrac-tracking-wider);
  color: var(--rrac-text-muted);
}
.woocommerce-cart table.cart thead th { padding: var(--rrac-space-3) var(--rrac-space-4); border: 0; text-align: left; }
.woocommerce-cart table.cart td, .woocommerce-cart table.cart th {
  border: 0;
  border-bottom: 1px solid var(--rrac-border);
  padding: var(--rrac-space-4);
  vertical-align: middle;
  font-size: var(--rrac-text-sm);
}
.woocommerce-cart table.cart tr:last-child td { border-bottom: 0; }
.woocommerce-cart table.cart .product-thumbnail img {
  width: 72px; height: 72px;
  object-fit: contain;
  background: var(--rrac-surface);
  border: 1px solid var(--rrac-border);
  border-radius: var(--rrac-radius-lg);
  padding: 4px;
}
.woocommerce-cart table.cart .product-name a {
  font-weight: var(--rrac-weight-semibold);
  color: var(--rrac-text);
}
.woocommerce-cart table.cart .product-name a:hover { color: var(--rrac-primary); }
.woocommerce-cart table.cart .product-price .amount,
.woocommerce-cart table.cart .product-subtotal .amount {
  font-weight: var(--rrac-weight-bold);
  color: var(--rrac-text);
  font-variant-numeric: tabular-nums;
}
.woocommerce-cart table.cart .quantity { display: inline-flex; }
.woocommerce-cart table.cart .product-remove a.remove {
  width: 28px; height: 28px;
  border-radius: var(--rrac-radius-full);
  background: var(--rrac-ink-100);
  color: var(--rrac-text-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: var(--rrac-weight-bold);
  text-decoration: none;
}
.woocommerce-cart table.cart .product-remove a.remove:hover {
  background: var(--rrac-danger-50);
  color: var(--rrac-danger);
}

/* Cart actions row (coupon + update) */
.woocommerce-cart .actions {
  padding: var(--rrac-space-4) !important;
}
.woocommerce-cart .actions .coupon { display: flex; gap: var(--rrac-space-2); }
.woocommerce-cart .actions input[name="coupon_code"] {
  flex: 1;
  height: var(--rrac-input-h);
  padding: 0 var(--rrac-space-3);
  border: 1.5px solid var(--rrac-border);
  border-radius: var(--rrac-input-radius);
  background: var(--rrac-surface);
  font-family: inherit;
  font-size: var(--rrac-text-sm);
}
.woocommerce-cart .actions button[name="apply_coupon"],
.woocommerce-cart .actions button[name="update_cart"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: var(--rrac-btn-h-md) !important;
  padding: 0 var(--rrac-space-4) !important;
  background: var(--rrac-surface) !important;
  color: var(--rrac-text) !important;
  border: 1.5px solid var(--rrac-border) !important;
  border-radius: var(--rrac-radius-xl) !important;
  font-family: var(--rrac-font-sans) !important;
  font-weight: var(--rrac-weight-bold) !important;
  font-size: var(--rrac-text-sm) !important;
  cursor: pointer !important;
}

/* Cart totals card */
.cart_totals {
  background: var(--rrac-surface);
  border: 1px solid var(--rrac-border);
  border-radius: var(--rrac-radius-2xl);
  padding: var(--rrac-space-6);
  box-shadow: var(--rrac-shadow-sm);
}
.cart_totals h2 {
  font-size: var(--rrac-text-xl);
  font-weight: var(--rrac-weight-bold);
  letter-spacing: var(--rrac-tracking-tight);
  margin: 0 0 var(--rrac-space-4);
}
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals table tr { border-bottom: 1px solid var(--rrac-border); }
.cart_totals table th, .cart_totals table td {
  padding: var(--rrac-space-3) 0;
  font-size: var(--rrac-text-sm);
  text-align: left;
}
.cart_totals table th { color: var(--rrac-text-soft); font-weight: var(--rrac-weight-semibold); }
.cart_totals table td { text-align: right; }
.cart_totals .order-total td {
  font-size: var(--rrac-text-xl);
  font-weight: var(--rrac-weight-black);
  color: var(--rrac-primary);
  padding-top: var(--rrac-space-4);
  font-variant-numeric: tabular-nums;
}

.wc-proceed-to-checkout { margin-top: var(--rrac-space-4); }
.wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--rrac-space-2) !important;
  width: 100% !important;
  min-height: var(--rrac-btn-h-xl) !important;
  background: linear-gradient(180deg, var(--rrac-brand-500), var(--rrac-brand-600)) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--rrac-radius-xl) !important;
  font-family: var(--rrac-font-sans) !important;
  font-weight: var(--rrac-weight-bold) !important;
  font-size: var(--rrac-text-lg) !important;
  box-shadow: var(--rrac-shadow-brand-sm) !important;
  text-decoration: none !important;
}
.wc-proceed-to-checkout a.checkout-button:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: var(--rrac-shadow-brand-md) !important;
}

/* clearfix */
.woocommerce-cart .woocommerce::after { content: ""; display: table; clear: both; }

/* Mobile: stack vertical */
@media (max-width: 1023px) {
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals { float: none; width: 100%; margin: 0 0 var(--rrac-space-4); }
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart, .woocommerce-cart table.cart tbody,
  .woocommerce-cart table.cart tr, .woocommerce-cart table.cart td { display: block; width: 100%; }
  .woocommerce-cart table.cart tr.cart_item {
    background: var(--rrac-surface);
    border: 1px solid var(--rrac-border);
    border-radius: var(--rrac-radius-xl);
    padding: var(--rrac-space-3);
    margin-bottom: var(--rrac-space-3);
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: var(--rrac-space-3);
    align-items: center;
  }
  .woocommerce-cart table.cart tr.cart_item td { border: 0; padding: 0; }
  .woocommerce-cart table.cart tr.cart_item .product-thumbnail { grid-row: span 3; }
}
