/* ── GMP Cart & Checkout Styling ── */

/* ══════════════════════════════════════════
   SHARED (Cart + Checkout)
   ══════════════════════════════════════════ */

body.woocommerce-cart,
body.woocommerce-checkout {
  font-family: var(--gmp-font-body) !important;
  -webkit-font-smoothing: antialiased;
  color: var(--gmp-ink);
}

/* Astra header hiding + nav fixes handled globally in navigation.css via body.gmp-redesign */

/* Page titles */
body.woocommerce-cart .entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title {
  font-family: var(--gmp-font-heading) !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  color: var(--gmp-ink) !important;
  margin-bottom: 24px !important;
}

/* WooCommerce notices */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message {
  background: var(--gmp-blue-light) !important;
  border-top-color: var(--gmp-blue) !important;
  color: var(--gmp-ink) !important;
  font-family: var(--gmp-font-body) !important;
  font-size: 14px;
  border-radius: var(--gmp-radius-card);
  padding: 16px 20px !important;
}
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
  background: var(--gmp-red-bg) !important;
  border-top-color: var(--gmp-red) !important;
  border-radius: var(--gmp-radius-card);
}
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info {
  background: var(--gmp-blue-light) !important;
  border-top-color: var(--gmp-blue) !important;
  border-radius: var(--gmp-radius-card);
}

/* Buttons */
body.woocommerce-cart .button,
body.woocommerce-checkout .button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-checkout #place_order {
  font-family: var(--gmp-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background-color: var(--gmp-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--gmp-radius-btn) !important;
  padding: 14px 28px !important;
  cursor: pointer !important;
  transition: opacity .2s !important;
  text-decoration: none !important;
}
body.woocommerce-cart .button:hover,
body.woocommerce-checkout .button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-checkout #place_order:hover {
  opacity: 0.88 !important;
  background-color: var(--gmp-blue) !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════
   CART PAGE
   ══════════════════════════════════════════ */

/* Cart table */
body.woocommerce-cart .woocommerce-cart-form table.shop_table {
  border: 1px solid var(--gmp-border2) !important;
  border-radius: var(--gmp-radius-card) !important;
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table th {
  font-family: var(--gmp-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: var(--gmp-muted) !important;
  background: var(--gmp-bg) !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--gmp-border2) !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table td {
  font-family: var(--gmp-font-body) !important;
  font-size: 14px !important;
  color: var(--gmp-ink) !important;
  padding: 16px !important;
  border-bottom: 1px solid var(--gmp-border) !important;
  vertical-align: middle !important;
}

/* Product name in cart */
body.woocommerce-cart .woocommerce-cart-form td.product-name a {
  font-weight: 600 !important;
  color: var(--gmp-ink) !important;
  text-decoration: none !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name a:hover {
  color: var(--gmp-blue) !important;
}

/* Product image in cart */
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img {
  border-radius: var(--gmp-radius-btn) !important;
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
}

/* Quantity input */
body.woocommerce-cart .woocommerce-cart-form input.qty {
  font-family: var(--gmp-font-body) !important;
  font-size: 14px !important;
  border: 1px solid var(--gmp-border2) !important;
  border-radius: var(--gmp-radius-btn) !important;
  padding: 8px 12px !important;
  width: 60px !important;
  text-align: center !important;
  color: var(--gmp-ink) !important;
}

/* Remove item button */
body.woocommerce-cart .woocommerce-cart-form td.product-remove a {
  color: var(--gmp-muted) !important;
  font-size: 18px !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-remove a:hover {
  color: var(--gmp-red) !important;
}

/* Coupon input */
body.woocommerce-cart .coupon input.input-text {
  font-family: var(--gmp-font-body) !important;
  font-size: 14px !important;
  border: 1px solid var(--gmp-border2) !important;
  border-radius: var(--gmp-radius-btn) !important;
  padding: 10px 14px !important;
  color: var(--gmp-ink) !important;
}

/* Cart totals box */
body.woocommerce-cart .cart_totals {
  background: var(--gmp-bg-white) !important;
  border: 1px solid var(--gmp-border2) !important;
  border-radius: var(--gmp-radius-card) !important;
  padding: 24px !important;
  box-shadow: var(--gmp-shadow-card) !important;
}
body.woocommerce-cart .cart_totals h2 {
  font-family: var(--gmp-font-heading) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--gmp-ink) !important;
  margin-bottom: 16px !important;
}
body.woocommerce-cart .cart_totals table.shop_table {
  border: none !important;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  font-family: var(--gmp-font-body) !important;
  font-size: 14px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--gmp-border) !important;
  background: transparent !important;
}
body.woocommerce-cart .cart_totals table.shop_table th {
  color: var(--gmp-muted) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--gmp-ink) !important;
  border-bottom: none !important;
}

/* Proceed to checkout button */
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: 15px !important;
  padding: 16px 28px !important;
  margin-top: 16px !important;
}

/* ══════════════════════════════════════════
   CHECKOUT PAGE
   ══════════════════════════════════════════ */

/* Form headings */
body.woocommerce-checkout h3,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout #order_review_heading {
  font-family: var(--gmp-font-heading) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--gmp-ink) !important;
  margin-bottom: 20px !important;
}

/* Form fields */
body.woocommerce-checkout .woocommerce-input-wrapper input,
body.woocommerce-checkout .woocommerce-input-wrapper textarea,
body.woocommerce-checkout .woocommerce-input-wrapper select,
body.woocommerce-checkout select#billing_country,
body.woocommerce-checkout select#billing_state {
  font-family: var(--gmp-font-body) !important;
  font-size: 14px !important;
  border: 1px solid var(--gmp-border2) !important;
  border-radius: var(--gmp-radius-input) !important;
  padding: 12px 14px !important;
  color: var(--gmp-ink) !important;
  background: var(--gmp-bg-white) !important;
  transition: border-color .15s !important;
}
body.woocommerce-checkout .woocommerce-input-wrapper input:focus,
body.woocommerce-checkout .woocommerce-input-wrapper textarea:focus,
body.woocommerce-checkout .woocommerce-input-wrapper select:focus {
  border-color: var(--gmp-blue) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(20,96,220,.1) !important;
}

/* Form labels */
body.woocommerce-checkout .woocommerce-checkout label {
  font-family: var(--gmp-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--gmp-ink2) !important;
  margin-bottom: 6px !important;
}

/* Order review box */
body.woocommerce-checkout .woocommerce-checkout-review-order {
  background: var(--gmp-bg-white) !important;
  border: 1px solid var(--gmp-border2) !important;
  border-radius: var(--gmp-radius-card) !important;
  padding: 24px !important;
  box-shadow: var(--gmp-shadow-card) !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table {
  border: none !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table th,
body.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table td {
  font-family: var(--gmp-font-body) !important;
  font-size: 14px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--gmp-border) !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order .order-total td {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--gmp-ink) !important;
}

/* Place order button */
body.woocommerce-checkout #place_order {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: 15px !important;
  padding: 16px 28px !important;
  margin-top: 16px !important;
}

/* Payment methods */
body.woocommerce-checkout .wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
}
body.woocommerce-checkout .wc_payment_methods li {
  font-family: var(--gmp-font-body) !important;
  font-size: 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--gmp-border) !important;
}
body.woocommerce-checkout .wc_payment_methods li label {
  font-weight: 500 !important;
  font-size: 14px !important;
}
body.woocommerce-checkout .wc_payment_methods .payment_box {
  background: var(--gmp-bg) !important;
  border-radius: var(--gmp-radius-btn) !important;
  padding: 16px !important;
  margin-top: 10px !important;
  font-size: 13px !important;
  color: var(--gmp-muted) !important;
}

/* Coupon toggle */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  font-size: 14px !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
  color: var(--gmp-blue) !important;
}

/* Responsive */
@media (max-width: 768px) {
  body.woocommerce-cart .woocommerce-cart-form table.shop_table {
    font-size: 13px !important;
  }
  body.woocommerce-checkout .col2-set .col-1,
  body.woocommerce-checkout .col2-set .col-2 {
    width: 100% !important;
    float: none !important;
  }
}
