/**
 * Arte y Fiesta — cart page polish (aligned with cards / PDP).
 */

@import url("https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;650&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap");

.woocommerce-cart {
  --ayf-cart-brand: #872e8c;
  --ayf-cart-brand-deep: #6a2470;
  --ayf-cart-ink: #1e1524;
  --ayf-cart-muted: #7a7188;
  --ayf-cart-soft: #f7f2f8;
  --ayf-cart-paper: #faf7fb;
  --ayf-cart-line: rgba(135, 46, 140, 0.12);
  --ayf-cart-display: "Fredoka", system-ui, sans-serif;
  --ayf-cart-body: "Plus Jakarta Sans", system-ui, sans-serif;
}

/* ---------- Checkout steps ---------- */

.woocommerce-cart .wd-checkout-steps,
.woocommerce-checkout .wd-checkout-steps {
  font-family: var(--ayf-cart-display) !important;
  font-size: clamp(1.05rem, 2vw, 1.25rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: none !important;
  justify-content: center;
  gap: 0.65rem 1.1rem !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-cart .wd-checkout-steps .step-active > :is(a, span),
.woocommerce-checkout .wd-checkout-steps .step-active > :is(a, span) {
  color: var(--ayf-cart-brand) !important;
  text-decoration-color: var(--ayf-cart-brand) !important;
}

/* ---------- Cart table ---------- */

.woocommerce-cart .cart-content-wrapper {
  font-family: var(--ayf-cart-body);
}

.woocommerce-cart .shop_table.cart thead th {
  font-family: var(--ayf-cart-display) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase !important;
  color: var(--ayf-cart-muted) !important;
  border-bottom: 1px solid var(--ayf-cart-line) !important;
  padding-bottom: 0.85rem !important;
}

.woocommerce-cart .shop_table.cart td {
  border-color: var(--ayf-cart-line) !important;
  padding-block: 1.05rem !important;
  vertical-align: middle !important;
}

.woocommerce-cart .shop_table.cart tr.cart_item {
  transition: background-color 0.15s ease;
}

.woocommerce-cart .shop_table.cart tr.cart_item:hover {
  background: color-mix(in srgb, var(--ayf-cart-paper) 80%, transparent);
}

.woocommerce-cart .shop_table.cart .product-thumbnail img {
  border-radius: 12px !important;
  background: var(--ayf-cart-soft);
  box-shadow: 0 4px 12px rgba(74, 18, 90, 0.06);
}

.woocommerce-cart .shop_table.cart .product-name a {
  font-family: var(--ayf-cart-body) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: var(--ayf-cart-ink) !important;
  line-height: 1.3;
}

.woocommerce-cart .shop_table.cart .product-name a:hover {
  color: var(--ayf-cart-brand) !important;
}

.woocommerce-cart .shop_table.cart .product-price .amount {
  font-family: var(--ayf-cart-body) !important;
  font-weight: 500 !important;
  color: var(--ayf-cart-muted) !important;
}

.woocommerce-cart .shop_table.cart .product-subtotal .amount {
  font-family: var(--ayf-cart-display) !important;
  font-weight: 650 !important;
  font-size: 1.05rem !important;
  color: var(--ayf-cart-brand) !important;
}

/* Remove control — WoodMart draws the icon via ::before; keep text × hidden */
.woocommerce-cart .shop_table.cart .product-remove .remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--ayf-cart-muted) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease;
}

.woocommerce-cart .shop_table.cart .product-remove .remove:before {
  font-size: 0.85rem !important;
  color: inherit;
  transition: color 0.15s ease;
}

.woocommerce-cart .shop_table.cart .product-remove .remove:hover {
  background: var(--ayf-cart-soft) !important;
  color: var(--ayf-cart-brand) !important;
}

/* Qty — same language as catalog stepper */
.woocommerce-cart .shop_table.cart .quantity {
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  border: 1px solid var(--ayf-cart-line) !important;
  border-radius: 12px !important;
  background: #fff;
  overflow: hidden;
  min-height: 42px;
}

.woocommerce-cart .shop_table.cart .quantity .minus,
.woocommerce-cart .shop_table.cart .quantity .plus {
  width: 2.35rem !important;
  min-height: 42px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ayf-cart-ink) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.woocommerce-cart .shop_table.cart .quantity .minus:hover,
.woocommerce-cart .shop_table.cart .quantity .plus:hover {
  background: var(--ayf-cart-soft) !important;
  color: var(--ayf-cart-brand) !important;
}

.woocommerce-cart .shop_table.cart .quantity input.qty {
  width: 2.6rem !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-inline: 1px solid var(--ayf-cart-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: var(--ayf-cart-display) !important;
  font-size: 0.95rem !important;
  font-weight: 650 !important;
  color: var(--ayf-cart-ink) !important;
  text-align: center;
  box-shadow: none !important;
}

/* ---------- Totals panel ---------- */

.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .wd-cart-totals {
  padding: 1.15rem 1.25rem 1.3rem !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--ayf-cart-paper) !important;
  box-shadow: 0 8px 22px rgba(74, 18, 90, 0.05);
}

.woocommerce-cart .cart_totals > h2,
.woocommerce-cart .cart-totals-inner > h2,
.woocommerce-cart .wd-cart-totals .cart-totals-inner > h2 {
  margin: 0 0 0.95rem !important;
  padding: 0 0 0.65rem !important;
  border-bottom: 1px solid var(--ayf-cart-line);
  font-family: var(--ayf-cart-display) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em;
  text-transform: uppercase !important;
  color: var(--ayf-cart-ink) !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  font-family: var(--ayf-cart-body) !important;
  border-color: var(--ayf-cart-line) !important;
  color: var(--ayf-cart-muted);
}

.woocommerce-cart .cart_totals .order-total .amount,
.woocommerce-cart .cart_totals tr.order-total .amount {
  font-family: var(--ayf-cart-display) !important;
  font-size: 1.35rem !important;
  font-weight: 650 !important;
  color: var(--ayf-cart-brand) !important;
}

.woocommerce-cart .cart_totals a {
  color: var(--ayf-cart-brand) !important;
  font-weight: 600;
}

.woocommerce-cart .cart_totals a:hover {
  color: var(--ayf-cart-brand-deep) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart a.checkout-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 48px !important;
  margin-top: 0.35rem !important;
  padding: 0.8rem 1.25rem !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--ayf-cart-brand) !important;
  color: #fff !important;
  font-family: var(--ayf-cart-body) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  box-shadow: 0 8px 18px rgba(135, 46, 140, 0.22) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart a.checkout-button:hover {
  background: var(--ayf-cart-brand-deep) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(106, 36, 112, 0.28) !important;
}

/* Shipping methods inside totals */
.woocommerce-cart .woocommerce-shipping-methods label {
  font-family: var(--ayf-cart-body) !important;
  color: var(--ayf-cart-ink);
}

@media (max-width: 768.98px) {
  .woocommerce-cart .shop_table.cart td {
    padding-block: 0.85rem !important;
  }

  .woocommerce-cart .cart_totals,
  .woocommerce-cart .wd-cart-totals {
    margin-top: 1rem;
  }
}
