.elementor-1292 .elementor-element.elementor-element-839d5c9{--display:flex;}@media(max-width:767px){.elementor-1292 .elementor-element.elementor-element-839d5c9{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1292 .elementor-element.elementor-element-a120a97 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for woocommerce-cart, class: .elementor-element-a120a97 *//* ==========================================================================
   ULTRA BIOMED - CLEAN LUXURY FULL CART PAGE STYLESHEET
   Target: Dedicated WooCommerce Cart Page (/cart) & Elementor Cart Widget
   Class: .ub-cart-page (Assign to Cart Container in Advanced > CSS Classes)
   Aesthetic: Clean White (#ffffff), Soft Gray (#f8fafc) & Obsidian Accents
   ========================================================================== */

/* 1. Global Page Reset & Container Centering */
body.woocommerce-cart,
.ub-cart-page,
.elementor-widget-woocommerce-cart {
  background-color: #f8fafc !important;
  color: #0f172a !important;
  font-family: 'Inter', sans-serif !important;
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

.woocommerce-cart .woocommerce,
.ub-cart-page,
.elementor-widget-woocommerce-cart .elementor-widget-container {
  max-width: 1200px !important;
  margin: 30px auto !important;
  padding: 0 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 2. Desktop 2-Column Grid Layout */
@media (min-width: 992px) {
  .woocommerce-cart form.woocommerce-cart-form,
  .ub-cart-page .woocommerce-cart-form,
  .elementor-widget-woocommerce-cart .e-cart__container {
    display: grid !important;
    grid-template-columns: 1.25fr 0.75fr !important;
    gap: 28px !important;
    align-items: start !important;
    width: 100% !important;
  }
}

/* 3. RESET INNER DIVS TO PREVENT NESTED BORDER-IN-BORDER CONFLICTS */
.ub-cart-page .e-cart__container div,
.ub-cart-page .e-cart__column-main div,
.ub-cart-page .e-cart__column-secondary div,
.ub-cart-page .woocommerce-cart-form div,
.elementor-widget-woocommerce-cart .e-cart__container div {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* 4. TOP-LEVEL CARDS ONLY: Left Cart Form & Right Order Totals */
.ub-cart-page .e-cart__column-main,
.ub-cart-page .e-cart__column-secondary,
.ub-cart-page form.woocommerce-cart-form,
.ub-cart-page .cart_totals,
.ub-cart-page .cart-collaterals,
.elementor-widget-woocommerce-cart .e-cart__column-main,
.elementor-widget-woocommerce-cart .e-cart__column-secondary,
.elementor-widget-woocommerce-cart .e-cart__totals-container {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 24px !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.03) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* 5. CART TABLE DESKTOP STYLING */
.woocommerce-cart table.cart,
.ub-cart-page table.cart,
.elementor-widget-woocommerce-cart table.shop_table {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 16px !important;
}

/* Table Header */
.woocommerce-cart table.cart th,
.ub-cart-page table.cart th,
.elementor-widget-woocommerce-cart table.shop_table th {
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 10px 8px !important;
  text-align: left !important;
}

/* Table Cells */
.woocommerce-cart table.cart td,
.ub-cart-page table.cart td,
.elementor-widget-woocommerce-cart table.shop_table td {
  padding: 12px 8px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  color: #0f172a !important;
  vertical-align: middle !important;
}

/* Thumbnail */
.woocommerce-cart table.cart td.product-thumbnail,
.ub-cart-page table.cart td.product-thumbnail {
  width: 60px !important;
  min-width: 60px !important;
}

.woocommerce-cart table.cart td.product-thumbnail img,
.ub-cart-page table.cart td.product-thumbnail img,
.elementor-widget-woocommerce-cart table.shop_table td.product-thumbnail img {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  max-width: 50px !important;
  max-height: 50px !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  object-fit: contain !important;
  padding: 3px !important;
  display: block !important;
}

/* Product Title */
.woocommerce-cart table.cart td.product-name a,
.ub-cart-page table.cart td.product-name a {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #0f172a !important;
  text-decoration: none !important;
}

/* Price */
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal,
.ub-cart-page table.cart td.product-price {
  font-weight: 800 !important;
  color: #0f172a !important;
  font-size: 14px !important;
}

/* Quantity Input */
.woocommerce-cart table.cart td.product-quantity .quantity input.qty {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  height: 36px !important;
  width: 50px !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #0f172a !important;
}

/* Update Cart Button */
.woocommerce-cart button[name="update_cart"],
.ub-cart-page button[name="update_cart"],
.elementor-widget-woocommerce-cart button[name="update_cart"] {
  background: #0a0a0c !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
  margin-top: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 6. COUPON SECTION */
.woocommerce-cart .coupon,
.ub-cart-page .coupon,
.elementor-widget-woocommerce-cart .coupon {
  display: flex !important;
  gap: 10px !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid #f1f5f9 !important;
}

.woocommerce-cart .coupon input#coupon_code,
.ub-cart-page .coupon input#coupon_code {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  height: 40px !important;
  font-size: 13px !important;
  flex: 1 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .coupon button[name="apply_coupon"],
.ub-cart-page .coupon button[name="apply_coupon"] {
  background: #0a0a0c !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border: none !important;
  height: 40px !important;
}

/* 7. ORDER SUMMARY / CART TOTALS */
.woocommerce-cart .cart_totals h2,
.elementor-widget-woocommerce-cart .e-cart__totals-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding-bottom: 10px !important;
}

.woocommerce-cart .cart_totals table.shop_table,
.elementor-widget-woocommerce-cart .e-cart__totals-container table {
  width: 100% !important;
  margin-bottom: 14px !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td,
.elementor-widget-woocommerce-cart table tr.order-total th,
.elementor-widget-woocommerce-cart table tr.order-total td {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  border-top: 2px solid #e2e8f0 !important;
  padding-top: 12px !important;
}

/* PROCEED TO CHECKOUT CTA */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.elementor-widget-woocommerce-cart .e-cart__checkout-button {
  background: #0a0a0c !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  width: 100% !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 20px rgba(10, 10, 12, 0.2) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  border: none !important;
  white-space: normal !important;
  box-sizing: border-box !important;
  min-height: 48px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.elementor-widget-woocommerce-cart .e-cart__checkout-button:hover {
  background: #1e293b !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.3) !important;
}

/* ==========================================================================
   8. MOBILE RESPONSIVE ENGINE (ZERO OVERFLOW - CLEAN MOBILE CARD LAYOUT)
   ========================================================================== */
@media (max-width: 768px) {

  /* Lock viewport & kill all horizontal overflow */
  body.woocommerce-cart {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  .woocommerce-cart .woocommerce,
  .ub-cart-page,
  .elementor-widget-woocommerce-cart,
  .elementor-widget-woocommerce-cart .elementor-widget-container {
    padding: 0 4px !important;
    margin: 4px auto !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* Compact outer cards - Zero wasted space */
  .ub-cart-page .e-cart__column-main,
  .ub-cart-page .e-cart__column-secondary,
  .ub-cart-page form.woocommerce-cart-form,
  .ub-cart-page .cart_totals,
  .ub-cart-page .cart-collaterals,
  .elementor-widget-woocommerce-cart .e-cart__column-main,
  .elementor-widget-woocommerce-cart .e-cart__column-secondary,
  .elementor-widget-woocommerce-cart .e-cart__totals-container {
    padding: 8px 8px !important;
    border-radius: 10px !important;
    margin-bottom: 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ---- PRODUCT TABLE → BLOCK GRID ---- */
  .woocommerce-cart table.cart,
  .ub-cart-page table.cart,
  .elementor-widget-woocommerce-cart table.shop_table,
  .woocommerce-cart table.cart tbody,
  .ub-cart-page table.cart tbody,
  .elementor-widget-woocommerce-cart table.shop_table tbody {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide desktop table headers */
  .woocommerce-cart table.cart thead,
  .ub-cart-page table.cart thead,
  .elementor-widget-woocommerce-cart table.shop_table thead {
    display: none !important;
  }

  /* Each cart item = Perfect 2-Row Structured Grid Card */
  .woocommerce-cart table.cart tr.cart_item,
  .ub-cart-page table.cart tr.cart_item,
  .elementor-widget-woocommerce-cart table.shop_table tr.cart_item,
  .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item {
    display: grid !important;
    grid-template-columns: 18px 44px 1fr auto !important;
    grid-template-rows: auto auto !important;
    gap: 4px 8px !important;
    padding: 8px 4px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    width: 100% !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }

  .woocommerce-cart table.cart td,
  .ub-cart-page table.cart td,
  .elementor-widget-woocommerce-cart table.shop_table td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box !important;
  }

  /* 1. Remove button (X) - Left col spanning 2 rows */
  .woocommerce-cart table.cart td.product-remove,
  .ub-cart-page table.cart td.product-remove,
  .elementor-widget-woocommerce-cart table.shop_table td.product-remove {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 18px !important;
    font-size: 15px !important;
    text-align: center !important;
    align-self: center !important;
  }

  /* 2. Thumbnail - 2nd col spanning 2 rows */
  .woocommerce-cart table.cart td.product-thumbnail,
  .ub-cart-page table.cart td.product-thumbnail,
  .elementor-widget-woocommerce-cart table.shop_table td.product-thumbnail {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    width: 44px !important;
    min-width: 44px !important;
    align-self: center !important;
  }

  .woocommerce-cart table.cart td.product-thumbnail img,
  .ub-cart-page table.cart td.product-thumbnail img,
  .elementor-widget-woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    border-radius: 6px !important;
    padding: 2px !important;
    object-fit: contain !important;
  }

  /* 3. Product Name - Row 1 Spans all remaining right space! */
  .woocommerce-cart table.cart td.product-name,
  .ub-cart-page table.cart td.product-name,
  .elementor-widget-woocommerce-cart table.shop_table td.product-name {
    grid-column: 3 / span 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
  }

  .woocommerce-cart table.cart td.product-name a,
  .ub-cart-page table.cart td.product-name a {
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    display: block !important;
    word-break: break-word !important;
    white-space: normal !important;
    color: #0f172a !important;
  }

  /* 4. Product Price & Subtotal (Hide unit price to eliminate overlap, show clean total price) */
  .woocommerce-cart table.cart td.product-price,
  .ub-cart-page table.cart td.product-price,
  .elementor-widget-woocommerce-cart table.shop_table td.product-price {
    display: none !important;
  }

  .woocommerce-cart table.cart td.product-subtotal,
  .ub-cart-page table.cart td.product-subtotal,
  .elementor-widget-woocommerce-cart table.shop_table td.product-subtotal {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    align-self: center !important;
  }

  /* 5. Quantity Stepper Box & Arrows - Row 2 Right */
  .woocommerce-cart table.cart td.product-quantity,
  .ub-cart-page table.cart td.product-quantity,
  .elementor-widget-woocommerce-cart table.shop_table td.product-quantity {
    grid-column: 4 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    align-self: center !important;
  }

  .woocommerce-cart .quantity,
  .ub-cart-page .quantity,
  .elementor-widget-woocommerce-cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    background: #f8fafc !important;
    padding: 1px 3px !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .quantity input.qty,
  .ub-cart-page .quantity input.qty,
  .elementor-widget-woocommerce-cart .quantity input.qty {
    height: 28px !important;
    width: 40px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    color: #0f172a !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  /* Show spinner arrows on mobile input */
  .woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,
  .woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
  .elementor-widget-woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,
  .elementor-widget-woocommerce-cart .quantity input.qty::-webkit-outer-spin-button {
    opacity: 1 !important;
    height: 22px !important;
    display: block !important;
    cursor: pointer !important;
  }

  /* Elementor Pro Quantity Buttons (+ / -) */
  .elementor-widget-woocommerce-cart .quantity .e-qty-btn,
  .woocommerce-cart .quantity .plus,
  .woocommerce-cart .quantity .minus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
  }

  /* ---- ACTIONS / UPDATE CART BUTTON (FORCED 100% FULL WIDTH STRETCH) ---- */
  .woocommerce-cart table.cart td.actions,
  .ub-cart-page table.cart td.actions,
  .elementor-widget-woocommerce-cart table.shop_table td.actions,
  .elementor-widget-woocommerce-cart .e-cart__actions,
  .elementor-widget-woocommerce-cart .e-cart__actions-update-container,
  .woocommerce-cart-form td.actions,
  .woocommerce-cart-form .actions,
  .e-cart__actions-update-wrapper {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 6px 0 0 0 !important;
    margin: 4px 0 !important;
    box-sizing: border-box !important;
    clear: both !important;
    float: none !important;
    align-items: stretch !important;
  }

  .woocommerce-cart button[name="update_cart"],
  .ub-cart-page button[name="update_cart"],
  .elementor-widget-woocommerce-cart button[name="update_cart"],
  .elementor-widget-woocommerce-cart .e-cart__actions button,
  .elementor-widget-woocommerce-cart .e-cart__actions-update,
  .woocommerce-cart table.cart td.actions button,
  .woocommerce-cart table.cart td.actions button[type="submit"],
  .elementor-widget-woocommerce-cart .e-cart__actions .elementor-button,
  .woocommerce-cart .actions .button,
  .elementor-widget-woocommerce-cart button.button,
  form.woocommerce-cart-form button[name="update_cart"],
  button.e-cart__actions-update {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    flex: 1 1 100% !important;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    border-radius: 8px !important;
    margin: 4px 0 !important;
    box-sizing: border-box !important;
    background: #0a0a0c !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 3px 10px rgba(10, 10, 12, 0.15) !important;
    float: none !important;
    text-align: center !important;
  }

  /* ---- COUPON: FULL WIDTH STACKED ---- */
  .woocommerce-cart .coupon,
  .ub-cart-page .coupon,
  .elementor-widget-woocommerce-cart .coupon {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 6px !important;
    margin-top: 6px !important;
    padding-top: 6px !important;
    border-top: 1px solid #f1f5f9 !important;
  }

  .woocommerce-cart .coupon input#coupon_code,
  .ub-cart-page .coupon input#coupon_code,
  .elementor-widget-woocommerce-cart .coupon input#coupon_code {
    width: 100% !important;
    height: 36px !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    padding: 6px 10px !important;
  }

  .woocommerce-cart .coupon button[name="apply_coupon"],
  .ub-cart-page .coupon button[name="apply_coupon"],
  .elementor-widget-woocommerce-cart .coupon button[name="apply_coupon"] {
    width: 100% !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
    background: #0a0a0c !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 10px !important;
  }

  /* ---- CART TOTALS: TIGHT & COMPACT ---- */
  .woocommerce-cart .cart_totals h2,
  .elementor-widget-woocommerce-cart .e-cart__totals-title {
    font-size: 15px !important;
    font-weight: 800 !important;
    margin-bottom: 4px !important;
    padding-bottom: 4px !important;
  }

  .woocommerce-cart .cart_totals table.shop_table,
  .elementor-widget-woocommerce-cart .e-cart__totals-container table {
    margin-bottom: 4px !important;
  }

  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td,
  .elementor-widget-woocommerce-cart table th,
  .elementor-widget-woocommerce-cart table td {
    font-size: 12px !important;
    padding: 4px 0 !important;
  }

  .woocommerce-cart .cart_totals table.shop_table tr.order-total th,
  .woocommerce-cart .cart_totals table.shop_table tr.order-total td,
  .elementor-widget-woocommerce-cart table tr.order-total th,
  .elementor-widget-woocommerce-cart table tr.order-total td {
    font-size: 15px !important;
    font-weight: 800 !important;
    padding-top: 6px !important;
  }

  /* ---- PROCEED TO CHECKOUT: FULL WIDTH STRETCH ---- */
  .woocommerce-cart .wc-proceed-to-checkout,
  .elementor-widget-woocommerce-cart .e-cart__checkout-button-container {
    width: 100% !important;
    margin-top: 4px !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
  .elementor-widget-woocommerce-cart .e-cart__checkout-button {
    font-size: 13px !important;
    font-weight: 800 !important;
    padding: 10px 8px !important;
    border-radius: 10px !important;
    white-space: normal !important;
    height: auto !important;
    min-height: 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #0a0a0c !important;
    color: #ffffff !important;
  }
}/* End custom CSS */