
/*
 * Wire MCP Cart Page
 * Premium cart-only presentation. WooCommerce functionality is untouched.
 */

body.wiremcp-cart {
  --wmcp-cart-ink: #14213d;
  --wmcp-cart-text: #66738b;
  --wmcp-cart-blue: #2f6df6;
  --wmcp-cart-purple: #674cff;
  --wmcp-cart-teal: #0d9488;
  --wmcp-cart-line: #dce3ef;
  --wmcp-cart-soft: #f7f9fd;
  --wmcp-cart-white: #ffffff;
}

body.wiremcp-cart .woocommerce,
body.wiremcp-cart .woocommerce * {
  box-sizing: border-box;
}

/* Classic Woo cart: two-column composition without changing Elementor's outer page. */
body.wiremcp-cart .woocommerce {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 901px) {
  body.wiremcp-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  body.wiremcp-cart .woocommerce > .woocommerce-cart-form {
    grid-column: 1 !important;
  }

  body.wiremcp-cart .woocommerce > .cart-collaterals {
    grid-column: 2 !important;
  }

  body.wiremcp-cart .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) {
    grid-column: 1 / -1 !important;
  }
}

/* Elementor WooCommerce Cart widget already has its own two-column container. */
body.wiremcp-cart .elementor-widget-woocommerce-cart .e-cart__container {
  gap: 24px !important;
}

body.wiremcp-cart .woocommerce-cart-form,
body.wiremcp-cart .elementor-widget-woocommerce-cart .e-cart__column-start {
  width: 100% !important;
  margin: 0 !important;
  padding: 20px !important;
  background: #fff !important;
  border: 1px solid var(--wmcp-cart-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(20, 33, 61, .045) !important;
}

/* Product table. */
body.wiremcp-cart table.shop_table.cart,
body.wiremcp-cart .woocommerce-cart-form__contents {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

body.wiremcp-cart table.shop_table.cart thead th,
body.wiremcp-cart .woocommerce-cart-form__contents thead th {
  padding: 10px 12px 13px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  color: #8792a6 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
}

body.wiremcp-cart table.shop_table.cart td,
body.wiremcp-cart .woocommerce-cart-form__contents td {
  padding: 18px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  color: var(--wmcp-cart-text) !important;
  vertical-align: middle !important;
  font-size: 13px !important;
}

body.wiremcp-cart .product-thumbnail {
  display: none !important;
}

body.wiremcp-cart .product-name {
  min-width: 230px;
}

body.wiremcp-cart .product-name a {
  color: var(--wmcp-cart-ink) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

body.wiremcp-cart .product-price,
body.wiremcp-cart .product-subtotal {
  color: #2b3852 !important;
  font-weight: 750 !important;
}

body.wiremcp-cart .product-subtotal .amount {
  color: var(--wmcp-cart-blue) !important;
}

body.wiremcp-cart .wiremcp-cart-plan-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 8px !important;
}

body.wiremcp-cart .wiremcp-cart-plan-meta span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 4px 8px !important;
  background: #eefaf8 !important;
  border: 1px solid #ccece6 !important;
  border-radius: 999px !important;
  color: #0b887c !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

body.wiremcp-cart .wiremcp-fixed-plan-quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 32px !important;
  padding: 0 10px !important;
  background: #f5f7fb !important;
  border: 1px solid #dce3ef !important;
  border-radius: 8px !important;
  color: #526077 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Remove control. */
body.wiremcp-cart a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border: 1px solid #f0d8dc !important;
  border-radius: 50% !important;
  background: #fff8f8 !important;
  color: #d24e5e !important;
  text-decoration: none !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

body.wiremcp-cart a.remove:hover {
  background: #fff0f1 !important;
  color: #bb3547 !important;
}

/* Coupon/actions. */
body.wiremcp-cart td.actions {
  padding: 16px 0 0 !important;
  border-bottom: 0 !important;
}

body.wiremcp-cart .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  max-width: 430px !important;
}

body.wiremcp-cart .coupon input.input-text {
  flex: 1 1 220px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 43px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  background: #fbfcff !important;
  border: 1px solid #cfd8e6 !important;
  border-radius: 9px !important;
  color: var(--wmcp-cart-ink) !important;
  font-size: 12px !important;
  box-shadow: none !important;
}

body.wiremcp-cart .coupon input.input-text:focus {
  outline: none !important;
  border-color: #5f6cff !important;
  box-shadow: 0 0 0 3px rgba(95, 108, 255, .10) !important;
}

body.wiremcp-cart .coupon button.button,
body.wiremcp-cart button[name="update_cart"] {
  min-height: 43px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 1px solid #d3dbea !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #2e5fd3 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

body.wiremcp-cart button[name="update_cart"] {
  float: right !important;
}

body.wiremcp-cart button[name="update_cart"]:disabled {
  opacity: .45 !important;
}

/* Totals / order summary. */
body.wiremcp-cart .cart-collaterals,
body.wiremcp-cart .elementor-widget-woocommerce-cart .e-cart__column-end {
  width: 100% !important;
  margin: 0 !important;
}

body.wiremcp-cart .cart_totals {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 20px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(103, 76, 255, .07), transparent 35%),
    #fff !important;
  border: 1px solid var(--wmcp-cart-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(20, 33, 61, .05) !important;
}

@media (min-width: 901px) {
  body.wiremcp-cart .cart_totals {
    position: sticky !important;
    top: 24px !important;
  }
}

body.wiremcp-cart .cart_totals h2,
body.wiremcp-cart .e-cart__column-end .e-cart__column-inner > h2 {
  margin: 0 0 15px !important;
  color: var(--wmcp-cart-ink) !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
  letter-spacing: -.2px !important;
}

body.wiremcp-cart .cart_totals table {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
}

body.wiremcp-cart .cart_totals th,
body.wiremcp-cart .cart_totals td {
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  color: #647188 !important;
  font-size: 12px !important;
}

body.wiremcp-cart .cart_totals th {
  text-align: left !important;
  font-weight: 650 !important;
}

body.wiremcp-cart .cart_totals td {
  text-align: right !important;
  color: #344159 !important;
  font-weight: 750 !important;
}

body.wiremcp-cart .cart_totals .order-total th,
body.wiremcp-cart .cart_totals .order-total td {
  padding-top: 15px !important;
  border-bottom: 0 !important;
  color: var(--wmcp-cart-ink) !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

body.wiremcp-cart .cart_totals .order-total .amount {
  color: var(--wmcp-cart-blue) !important;
  font-size: 18px !important;
}

body.wiremcp-cart .wc-proceed-to-checkout {
  padding: 16px 0 0 !important;
}

body.wiremcp-cart .checkout-button,
body.wiremcp-cart .wc-proceed-to-checkout .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(90deg, var(--wmcp-cart-purple), var(--wmcp-cart-blue)) !important;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  box-shadow: 0 10px 22px rgba(55, 92, 245, .17) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

body.wiremcp-cart .checkout-button:hover,
body.wiremcp-cart .wc-proceed-to-checkout .button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 13px 28px rgba(55, 92, 245, .23) !important;
}

/* Cart notices retain functionality, but match Wire MCP styling. */
body.wiremcp-cart .woocommerce-message,
body.wiremcp-cart .woocommerce-info {
  margin: 0 0 16px !important;
  padding: 13px 16px !important;
  background: #f8faff !important;
  border: 1px solid #dce5ff !important;
  border-radius: 11px !important;
  color: #5f6c83 !important;
  font-size: 12px !important;
}

/* Empty cart. */
body.wiremcp-cart .cart-empty {
  margin: 0 !important;
  padding: 44px 20px !important;
  background: #fff !important;
  border: 1px solid var(--wmcp-cart-line) !important;
  border-radius: 16px !important;
  color: var(--wmcp-cart-text) !important;
  text-align: center !important;
  box-shadow: 0 10px 28px rgba(20, 33, 61, .04) !important;
}

body.wiremcp-cart .return-to-shop {
  text-align: center !important;
}

body.wiremcp-cart .return-to-shop .button {
  min-height: 44px !important;
  padding: 11px 16px !important;
  border-radius: 9px !important;
  background: var(--wmcp-cart-blue) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

/* Responsive */
@media (max-width: 900px) {
  body.wiremcp-cart .woocommerce {
    display: block !important;
  }

  body.wiremcp-cart .woocommerce-cart-form,
  body.wiremcp-cart .cart-collaterals {
    width: 100% !important;
    float: none !important;
  }

  body.wiremcp-cart .cart-collaterals {
    margin-top: 18px !important;
  }

  body.wiremcp-cart .elementor-widget-woocommerce-cart .e-cart__container {
    display: block !important;
  }

  body.wiremcp-cart .elementor-widget-woocommerce-cart .e-cart__column-end {
    margin-top: 18px !important;
  }
}

@media (max-width: 680px) {
  body.wiremcp-cart .woocommerce-cart-form,
  body.wiremcp-cart .elementor-widget-woocommerce-cart .e-cart__column-start,
  body.wiremcp-cart .cart_totals {
    padding: 14px !important;
    border-radius: 13px !important;
  }

  body.wiremcp-cart table.shop_table.cart thead,
  body.wiremcp-cart .woocommerce-cart-form__contents thead {
    display: none !important;
  }

  body.wiremcp-cart table.shop_table.cart tbody tr.cart_item,
  body.wiremcp-cart .woocommerce-cart-form__contents tbody tr.cart_item {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    gap: 8px 10px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
  }

  body.wiremcp-cart table.shop_table.cart tbody tr.cart_item td,
  body.wiremcp-cart .woocommerce-cart-form__contents tbody tr.cart_item td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  body.wiremcp-cart .product-remove {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  body.wiremcp-cart .product-name {
    grid-column: 2 / -1 !important;
    min-width: 0 !important;
  }

  body.wiremcp-cart .product-price {
    grid-column: 2 !important;
  }

  body.wiremcp-cart .product-quantity {
    grid-column: 3 !important;
    text-align: right !important;
  }

  body.wiremcp-cart .product-subtotal {
    grid-column: 2 / -1 !important;
    text-align: right !important;
    font-size: 14px !important;
  }

  body.wiremcp-cart td.actions {
    display: block !important;
    padding-top: 14px !important;
  }

  body.wiremcp-cart .coupon {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    max-width: none !important;
  }

  body.wiremcp-cart .coupon input.input-text {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.wiremcp-cart button[name="update_cart"] {
    width: 100% !important;
    margin-top: 9px !important;
    float: none !important;
  }

  body.wiremcp-cart .cart_totals h2 {
    font-size: 17px !important;
  }
}
