/* VIP Peptides — WooCommerce Cart & Checkout */

/* Base */
body.woocommerce-cart,
body.woocommerce-checkout {
  background: #fff !important;
  color: #0A192F;
  font-family: Inter, Arial, sans-serif;
  overflow-x: hidden;
}

/* Gradient content area only — header/footer excluded */
body.woocommerce-cart #content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout #content,
body.woocommerce-checkout .site-content {
  width: 100%;
  max-width: 100%;
  background: linear-gradient(
    115deg,
    #DDE3F0 0%,
    #F3F4F7 45%,
    #E8EAF1 68%,
    #DCE4F0 100%
  ) !important;
  box-sizing: border-box;
}

/* Header stays white */
body.woocommerce-cart .site-header,
body.woocommerce-cart #masthead,
body.woocommerce-cart .ast-primary-header-bar,
body.woocommerce-cart .elementor-location-header,
body.woocommerce-checkout .site-header,
body.woocommerce-checkout #masthead,
body.woocommerce-checkout .ast-primary-header-bar,
body.woocommerce-checkout .elementor-location-header {
  background: #fff !important;
}

/* Astra content container */
body.woocommerce-cart #content .ast-container,
body.woocommerce-checkout #content .ast-container {
  width: 100%;
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* Main WooCommerce wrapper */
body.woocommerce-cart #content .woocommerce,
body.woocommerce-checkout #content .woocommerce {
  width: 100%;
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 24px 0;
  box-sizing: border-box;
  background: transparent !important;
}

/* Keep inner theme wrappers transparent */
body.woocommerce-cart #primary,
body.woocommerce-cart .content-area,
body.woocommerce-cart .site-main,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout .site-main {
  background: transparent !important;
}

/* Checkout form */
body.woocommerce-checkout form.checkout {
  width: 100%;
  color: #0A192F;
  font-family: Inter, Arial, sans-serif;
}

/* Billing and additional information card */
body.woocommerce-checkout #customer_details {
  padding: 22px;
  border: 1px solid #DCE3EC;
  border-radius: 12px;
  background: #fff;
  box-sizing: border-box;
}

/* Billing and additional information headings */
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
  padding-bottom: 12px;
  border-bottom: 1px solid #DCE3EC;
  color: #0A192F !important;
  font-size: 21px;
  font-weight: 600;
}

/* Form rows and labels */
body.woocommerce-checkout form .form-row {
  box-sizing: border-box;
}

body.woocommerce-checkout form .form-row label {
  display: block;
  margin-bottom: 6px;
  color: #0A192F !important;
  font-size: 13px;
  font-weight: 600;
}

body.woocommerce-checkout .required {
  color: #b42318 !important;
}

/* Text fields, dropdowns and notes */
body.woocommerce-checkout form .input-text,
body.woocommerce-checkout form select,
body.woocommerce-checkout form textarea,
body.woocommerce-checkout .select2-container,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box !important;
  border: 1px solid #DCE3EC !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #0A192F !important;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  box-shadow: none !important;
}

body.woocommerce-checkout form .input-text,
body.woocommerce-checkout form select,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  min-height: 44px;
  padding: 10px 12px !important;
}

body.woocommerce-checkout form textarea {
  min-height: 100px;
  padding: 10px 12px !important;
  resize: vertical;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
}

body.woocommerce-checkout .select2-container--default .select2-selection__rendered {
  padding-left: 0 !important;
  color: #0A192F !important;
  line-height: 1.4 !important;
}

body.woocommerce-checkout form .input-text:focus,
body.woocommerce-checkout form select:focus,
body.woocommerce-checkout form textarea:focus,
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
  outline: none !important;
  border-color: #0A192F !important;
  box-shadow: 0 0 0 3px rgba(10, 25, 47, 0.1) !important;
}

/* Coupon notice */
body.woocommerce-checkout .woocommerce-info::before {
  display: none !important;
}

body.woocommerce-checkout .woocommerce-info {
  margin-bottom: 24px;
  padding: 15px 18px !important;
  border: 1px solid #DCE3EC !important;
  border-top: 3px solid #0A192F !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #26364C !important;
  line-height: 1.6;
  box-sizing: border-box;
}

body.woocommerce-checkout .woocommerce-info a {
  margin-left: 4px;
  color: #0A192F !important;
  font-weight: 600;
  text-decoration: underline;
}

body.woocommerce-checkout form.checkout_coupon {
  padding: 18px;
  border: 1px solid #DCE3EC;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}

/* Your order heading */
body.woocommerce-checkout #order_review_heading {
  margin: 0 !important;
  padding: 20px 22px 14px !important;
  border: 1px solid #DCE3EC !important;
  border-bottom: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  background: #fff !important;
  color: #0A192F !important;
  font-size: 21px;
  font-weight: 600;
  box-sizing: border-box;
}

/* Your order card */
body.woocommerce-checkout #order_review {
  margin-top: 0 !important;
  padding: 0 22px 22px !important;
  border: 1px solid #DCE3EC !important;
  border-top: 0 !important;
  border-radius: 0 0 12px 12px !important;
  background: #fff !important;
  box-sizing: border-box;
}

/* Order table */
body.woocommerce-checkout table.shop_table {
  width: 100%;
  border: 0 !important;
  border-collapse: collapse !important;
  background: #fff !important;
  table-layout: fixed;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
  padding: 13px 8px !important;
  border-bottom: 1px solid #DCE3EC !important;
  background: transparent !important;
  color: #26364C !important;
  font-size: 13px;
  overflow-wrap: anywhere;
}

body.woocommerce-checkout table.shop_table th {
  color: #0A192F !important;
  font-weight: 600;
}

body.woocommerce-checkout table.shop_table .order-total th,
body.woocommerce-checkout table.shop_table .order-total td {
  color: #0A192F !important;
  font-size: 15px;
  font-weight: 700;
}

/* Payment area */
body.woocommerce-checkout #payment {
  margin-top: 18px;
  border: 0 !important;
  border-radius: 8px !important;
  background: #F5F7FA !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
  padding: 18px !important;
  border-bottom: 1px solid #DCE3EC !important;
}

body.woocommerce-checkout #payment .payment_box {
  border-radius: 7px !important;
  background: #fff !important;
  color: #536277 !important;
}

body.woocommerce-checkout #payment .payment_box::before {
  border-bottom-color: #fff !important;
}

/* Checkboxes and policy text */
body.woocommerce-checkout input[type="checkbox"] {
  accent-color: #0A192F;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  color: #536277;
  font-size: 12px;
  line-height: 1.65;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: #0A192F !important;
}

/* Checkout and coupon buttons */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout form.checkout_coupon button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce a.button {
  min-height: 46px;
  padding: 13px 20px !important;
  border: 1px solid #0A192F !important;
  border-radius: 7px !important;
  background: #0A192F !important;
  color: #fff !important;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background-color .2s ease, border-color .2s ease;
  box-sizing: border-box;
}

body.woocommerce-checkout #place_order {
  width: 100%;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout form.checkout_coupon button:hover,
body.woocommerce-checkout .woocommerce button.button:hover,
body.woocommerce-checkout .woocommerce a.button:hover {
  border-color: #24466E !important;
  background: #24466E !important;
  color: #fff !important;
}

/* Checkout errors */
body.woocommerce-checkout .woocommerce-error {
  border-top-color: #b42318 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

/* Mobile spacing */
@media (max-width: 767px) {
  /* Astra container: remove narrow mobile width and excess side spacing */
  body.woocommerce-cart #content .ast-container,
  body.woocommerce-checkout #content .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* Remove extra WooCommerce side padding on mobile */
  body.woocommerce-cart #content .woocommerce,
  body.woocommerce-checkout #content .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 0 !important;
  }

  body.woocommerce-checkout #customer_details {
    width: 100% !important;
    padding: 15px !important;
    border-radius: 9px;
  }

  body.woocommerce-checkout #customer_details .col-1,
  body.woocommerce-checkout #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.woocommerce-checkout #order_review_heading {
    width: 100% !important;
    padding: 16px 15px 12px !important;
    border-radius: 9px 9px 0 0 !important;
    font-size: 19px;
  }

  body.woocommerce-checkout #order_review {
    width: 100% !important;
    padding: 0 15px 15px !important;
    border-radius: 0 0 9px 9px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields h3,
  body.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 19px;
  }

  body.woocommerce-checkout table.shop_table th,
  body.woocommerce-checkout table.shop_table td {
    padding: 10px 5px !important;
    font-size: 12px;
  }

  body.woocommerce-checkout .woocommerce-info {
    margin-bottom: 16px;
    padding: 13px 14px !important;
  }

  body.woocommerce-checkout form.checkout_coupon {
    padding: 14px;
  }
}