.elementor-7 .elementor-element.elementor-element-3dc6f0c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:60px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-7 .elementor-element.elementor-element-4326bf6{width:100%;max-width:100%;text-align:start;}.elementor-7 .elementor-element.elementor-element-4326bf6 .elementor-heading-title{font-family:var( --e-global-typography-11ee9d5-font-family ), Sans-serif;font-size:var( --e-global-typography-11ee9d5-font-size );font-weight:var( --e-global-typography-11ee9d5-font-weight );line-height:var( --e-global-typography-11ee9d5-line-height );color:var( --e-global-color-secondary );}.elementor-7 .elementor-element.elementor-element-aa2e03b{--update-cart-automatically-display:none;--sections-border-type:none;}.elementor-7 .elementor-element.elementor-element-aa2e03b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-aa2e03b.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-7 .elementor-element.elementor-element-4326bf6 .elementor-heading-title{font-size:var( --e-global-typography-11ee9d5-font-size );line-height:var( --e-global-typography-11ee9d5-line-height );}}@media(max-width:767px){.elementor-7 .elementor-element.elementor-element-3dc6f0c{--padding-top:60px;--padding-bottom:60px;--padding-left:015px;--padding-right:015px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-7 .elementor-element.elementor-element-4326bf6 .elementor-heading-title{font-size:var( --e-global-typography-11ee9d5-font-size );line-height:var( --e-global-typography-11ee9d5-line-height );}}/* Start custom CSS for woocommerce-cart, class: .elementor-element-aa2e03b *//* =============================================
   ELEMENTOR WOOCOMMERCE CART - Custom Styling
   Matching Target Design Screenshot
   ============================================= */

/* =============================================
   CART PAGE TITLE
   ============================================= */

.woocommerce-cart h1.entry-title,
.elementor-widget-woocommerce-cart h1,
.woocommerce-cart .woocommerce h1,
.woocommerce-cart .cart-title,
h1.cart-title {
  font-family: "Montserrat", sans-serif !important;
  font-size: 42px !important;
  font-weight: 400 !important;
  color: #3d5a6c !important;
  margin-bottom: 40px !important;
}

/* =============================================
   MAIN CART CONTAINER
   ============================================= */

.elementor-widget-woocommerce-cart .woocommerce {
  width: 100% !important;
}

.elementor-widget-woocommerce-cart .woocommerce-cart-form {
  width: 100% !important;
}

/* =============================================
   CART TABLE STRUCTURE
   ============================================= */

.elementor-widget-woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table.cart {
  border: none !important;
  border-collapse: collapse !important;
  width: 100% !important;
  table-layout: auto !important;
}

.elementor-widget-woocommerce-cart table.shop_table tbody,
.woocommerce-cart table.shop_table.cart tbody {
  width: 100% !important;
}

/* Table Headers - Product, Details, Total */
.elementor-widget-woocommerce-cart table.shop_table thead th,
.woocommerce-cart table.shop_table thead th {
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #6b8a9a !important;
  text-transform: none !important;
  border: none !important;
  padding: 15px 10px !important;
  background: transparent !important;
}

/* Header row border */
.elementor-widget-woocommerce-cart table.shop_table thead tr,
.woocommerce-cart table.shop_table thead tr {
  border-bottom: 1px solid #e5e5e5 !important;
}

/* Hide unwanted column headers */
.elementor-widget-woocommerce-cart table.shop_table thead th.product-remove,
.elementor-widget-woocommerce-cart table.shop_table thead th.product-price,
.elementor-widget-woocommerce-cart table.shop_table thead th.product-quantity,
.elementor-widget-woocommerce-cart table.shop_table thead th.product-subtotal,
.woocommerce-cart table.shop_table thead th.product-remove,
.woocommerce-cart table.shop_table thead th.product-price,
.woocommerce-cart table.shop_table thead th.product-quantity,
.woocommerce-cart table.shop_table thead th.product-subtotal {
  display: none !important;
}

/* Table Body Cells */
.elementor-widget-woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table td {
  border: none !important;
  padding: 30px 10px !important;
  vertical-align: top !important;
  background: transparent !important;
}

/* Table Row - positioning context and full-width border */
.elementor-widget-woocommerce-cart table.shop_table tbody tr,
.woocommerce-cart table.shop_table tbody tr {
  position: relative !important;
}

.elementor-widget-woocommerce-cart table.shop_table tbody tr.cart_item,
.woocommerce-cart table.shop_table tbody tr.cart_item {
  border-bottom: 1px solid #e5e5e5 !important;
}

/* Ensure all cells contribute to the row width */
.elementor-widget-woocommerce-cart table.shop_table tbody tr.cart_item td,
.woocommerce-cart table.shop_table tbody tr.cart_item td {
  border-bottom: 1px solid #e5e5e5 !important;
}

/* =============================================
   PRODUCT THUMBNAIL COLUMN
   ============================================= */

.elementor-widget-woocommerce-cart table.cart td.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail {
  width: 130px !important;
  min-width: 130px !important;
  padding-right: 20px !important;
  vertical-align: top !important;
}

.elementor-widget-woocommerce-cart table.cart .product-thumbnail img,
.woocommerce-cart table.cart .product-thumbnail img {
  width: 110px !important;
  height: auto !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* =============================================
   HIDE PRICE COLUMN (we'll show price under product name)
   ============================================= */

.elementor-widget-woocommerce-cart table.cart td.product-price,
.elementor-widget-woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-price {
  display: none !important;
}

/* =============================================
   REMOVE COLUMN - Reposition below quantity
   ============================================= */

/* Hide the column header */
.elementor-widget-woocommerce-cart table.cart th.product-remove,
.woocommerce-cart table.cart th.product-remove {
  display: none !important;
}

/* Make the remove cell position absolute within the row */
.elementor-widget-woocommerce-cart table.cart td.product-remove,
.woocommerce-cart table.cart td.product-remove {
  position: absolute !important;
  left: 140px !important;
  bottom: 30px !important;
  padding: 0 !important;
  border: none !important;
  width: auto !important;
  background: transparent !important;
  display: block !important;
  z-index: 10 !important; /* Ensure it's clickable above other elements */
}

/* =============================================
   DETAILS COLUMN (Product Name + Info)
   ============================================= */

.elementor-widget-woocommerce-cart table.cart td.product-name,
.woocommerce-cart table.cart td.product-name {
  vertical-align: top !important;
  padding-right: 30px !important;
  padding-bottom: 130px !important; /* Space for quantity & remove */
  position: relative !important;
}

/* Product Name Link */
.elementor-widget-woocommerce-cart table.cart td.product-name > a:first-of-type,
.woocommerce-cart table.cart td.product-name > a:first-of-type {
  font-family: "Montserrat", sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: #3682AE !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 5px !important;
  line-height: 1.4 !important;
}

.elementor-widget-woocommerce-cart table.cart td.product-name > a:first-of-type:hover,
.woocommerce-cart table.cart td.product-name > a:first-of-type:hover {
  color: #2a6a8f !important;
  text-decoration: underline !important;
}

/* Price displayed under product name */
.elementor-widget-woocommerce-cart table.cart td.product-name .woocommerce-Price-amount,
.elementor-widget-woocommerce-cart table.cart td.product-name .amount,
.elementor-widget-woocommerce-cart table.cart td.product-name .price,
.woocommerce-cart table.cart td.product-name .woocommerce-Price-amount,
.woocommerce-cart table.cart td.product-name .amount,
.woocommerce-cart table.cart td.product-name .price {
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #666 !important;
  display: block !important;
  margin-bottom: 15px !important;
}

/* Variation Details Container */
.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation,
.woocommerce-cart table.cart td.product-name dl.variation,
.elementor-widget-woocommerce-cart table.cart td.product-name .wc-item-meta,
.woocommerce-cart table.cart td.product-name .wc-item-meta {
  font-family: "Montserrat", sans-serif !important;
  font-size: 13px !important;
  color: #333 !important;
  margin: 5px 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  display: block !important;
  line-height: 1.5 !important;
}

/* Variation Labels (Door Size:, Glass Style:, etc.) */
.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dt,
.woocommerce-cart table.cart td.product-name dl.variation dt,
.elementor-widget-woocommerce-cart table.cart td.product-name .wc-item-meta li strong,
.woocommerce-cart table.cart td.product-name .wc-item-meta li strong {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #333 !important;
  display: inline !important;
  float: none !important;
  clear: none !important;
  margin: 0 3px 0 0 !important;
  padding: 0 !important;
  width: auto !important;
}

/* Variation Values - each on its own line */
.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dd,
.woocommerce-cart table.cart td.product-name dl.variation dd,
.elementor-widget-woocommerce-cart table.cart td.product-name .wc-item-meta li p,
.woocommerce-cart table.cart td.product-name .wc-item-meta li p {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #333 !important;
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dd p,
.woocommerce-cart table.cart td.product-name dl.variation dd p {
  margin: 0 !important;
  display: inline !important;
}

/* Force each dt/dd pair onto its own line */
.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dd::after,
.woocommerce-cart table.cart td.product-name dl.variation dd::after {
  content: "" !important;
  display: block !important;
  margin-bottom: 0 !important;
}

/* Alternative method: wrap each pair */
.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation,
.woocommerce-cart table.cart td.product-name dl.variation {
  display: flex !important;
  flex-wrap: wrap !important;
}

.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dt,
.woocommerce-cart table.cart td.product-name dl.variation dt {
  flex-basis: auto !important;
  flex-shrink: 0 !important;
}

.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dd,
.woocommerce-cart table.cart td.product-name dl.variation dd {
  flex-basis: auto !important;
  flex-grow: 1 !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

/* Ensure proper line breaks with standard display method as fallback */
.elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dt,
.woocommerce-cart table.cart td.product-name dl.variation dt {
  clear: left !important;
}

/* WooCommerce item meta list styling (alternative structure) */
.elementor-widget-woocommerce-cart table.cart td.product-name .wc-item-meta,
.woocommerce-cart table.cart td.product-name .wc-item-meta {
  list-style: none !important;
  padding: 0 !important;
  margin: 5px 0 !important;
}

.elementor-widget-woocommerce-cart table.cart td.product-name .wc-item-meta li,
.woocommerce-cart table.cart td.product-name .wc-item-meta li {
  display: block !important;
  margin-bottom: 0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* =============================================
   QUANTITY COLUMN - Repositioned Below Details
   ============================================= */

.elementor-widget-woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart td.product-quantity {
  position: absolute !important;
  left: 140px !important;
  bottom: 75px !important;
  padding: 0 !important;
  border: none !important;
  width: auto !important;
  background: transparent !important;
}

/* Quantity Wrapper */
.elementor-widget-woocommerce-cart table.cart .quantity,
.elementor-widget-woocommerce-cart table.cart .quantity.qty-with-buttons,
.woocommerce-cart table.cart .quantity,
.woocommerce-cart table.cart .quantity.qty-with-buttons,
.woocommerce .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #fff !important;
  flex-direction: row !important;
}

/* Quantity Input Field */
.elementor-widget-woocommerce-cart table.cart .quantity input.qty,
.woocommerce-cart table.cart .quantity input.qty,
.woocommerce .quantity input.qty {
  width: 50px !important;
  height: 40px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #333 !important;
  -moz-appearance: textfield !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  order: 2 !important; /* Keep input in the middle */
}

/* Hide browser default number spinners */
.elementor-widget-woocommerce-cart table.cart .quantity input.qty::-webkit-outer-spin-button,
.elementor-widget-woocommerce-cart table.cart .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart table.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart table.cart .quantity input.qty::-webkit-inner-spin-button,
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.woocommerce .quantity input.qty {
  -moz-appearance: textfield !important;
}

/* Plus/Minus Buttons */
.elementor-widget-woocommerce-cart table.cart .quantity button,
.elementor-widget-woocommerce-cart table.cart .quantity input[type="button"],
.elementor-widget-woocommerce-cart table.cart .quantity .minus,
.elementor-widget-woocommerce-cart table.cart .quantity .plus,
.elementor-widget-woocommerce-cart table.cart .quantity .qty-btn,
.elementor-widget-woocommerce-cart table.cart .quantity .qty-minus,
.elementor-widget-woocommerce-cart table.cart .quantity .qty-plus,
.woocommerce-cart table.cart .quantity button,
.woocommerce-cart table.cart .quantity input[type="button"],
.woocommerce-cart table.cart .quantity .minus,
.woocommerce-cart table.cart .quantity .plus,
.woocommerce-cart table.cart .quantity .qty-btn,
.woocommerce-cart table.cart .quantity .qty-minus,
.woocommerce-cart table.cart .quantity .qty-plus,
.woocommerce .quantity button,
.woocommerce .quantity .minus,
.woocommerce .quantity .plus,
.woocommerce .quantity .qty-btn,
.woocommerce .quantity .qty-minus,
.woocommerce .quantity .qty-plus {
  width: 40px !important;
  height: 40px !important;
  background: #fff !important;
  border: none !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #333 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  transition: background-color 0.2s ease !important;
}

/* Minus button on left */
.woocommerce .quantity .minus,
.woocommerce .quantity .qty-minus,
.woocommerce-cart .quantity .minus,
.woocommerce-cart .quantity .qty-minus {
  order: 1 !important;
}

/* Plus button on right */
.woocommerce .quantity .plus,
.woocommerce .quantity .qty-plus,
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity .qty-plus {
  order: 3 !important;
}

.elementor-widget-woocommerce-cart table.cart .quantity button:hover,
.elementor-widget-woocommerce-cart table.cart .quantity .minus:hover,
.elementor-widget-woocommerce-cart table.cart .quantity .plus:hover,
.elementor-widget-woocommerce-cart table.cart .quantity .qty-btn:hover,
.woocommerce-cart table.cart .quantity button:hover,
.woocommerce-cart table.cart .quantity .minus:hover,
.woocommerce-cart table.cart .quantity .plus:hover,
.woocommerce-cart table.cart .quantity .qty-btn:hover,
.woocommerce .quantity button:hover,
.woocommerce .quantity .minus:hover,
.woocommerce .quantity .plus:hover,
.woocommerce .quantity .qty-btn:hover {
  background: #f5f5f5 !important;
}

/* =============================================
   REMOVE ITEM LINK - Styled as text
   ============================================= */

/* Style the remove link as underlined text */
.elementor-widget-woocommerce-cart table.cart td.product-remove a.remove,
.woocommerce-cart table.cart td.product-remove a.remove,
.woocommerce table.cart a.remove {
  display: inline-block !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 1px !important; /* Tiny but not zero to maintain clickability */
  color: transparent !important; /* Hide the × symbol */
  font-weight: 400 !important;
  text-decoration: none !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
  line-height: normal !important;
  padding: 5px 0 !important;
  cursor: pointer !important;
  position: relative !important;
}

/* Show "Remove item" text instead of × */
.elementor-widget-woocommerce-cart table.cart td.product-remove a.remove::after,
.woocommerce-cart table.cart td.product-remove a.remove::after,
.woocommerce table.cart a.remove::after {
  content: "Remove item" !important;
  font-size: 14px !important;
  display: inline-block !important;
  font-family: "Montserrat", sans-serif !important;
  text-decoration: underline !important;
  color: #333 !important;
  cursor: pointer !important;
  pointer-events: none !important; /* Let clicks pass through to the parent link */
}

.elementor-widget-woocommerce-cart table.cart td.product-remove a.remove:hover,
.woocommerce-cart table.cart td.product-remove a.remove:hover,
.woocommerce table.cart a.remove:hover {
  background: none !important;
  color: transparent !important;
}

.elementor-widget-woocommerce-cart table.cart td.product-remove a.remove:hover::after,
.woocommerce-cart table.cart td.product-remove a.remove:hover::after,
.woocommerce table.cart a.remove:hover::after {
  color: #c00 !important;
}

/* =============================================
   TOTAL/SUBTOTAL COLUMN
   ============================================= */

.elementor-widget-woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart td.product-subtotal {
  font-family: "Montserrat", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-align: right !important;
  vertical-align: top !important;
  padding-top: 30px !important;
  width: 150px !important;
  min-width: 150px !important;
}

.elementor-widget-woocommerce-cart table.cart td.product-subtotal .woocommerce-Price-amount,
.woocommerce-cart table.cart td.product-subtotal .woocommerce-Price-amount {
  font-weight: 500 !important;
  display: inline-block !important;
}

/* =============================================
   CART TOTALS SIDEBAR
   ============================================= */

.elementor-widget-woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals,
.e-cart-totals-container,
.cart-collaterals .cart_totals {
  background: #f7f7f7 !important;
  padding: 35px !important;
  border-radius: 10px !important;
  border: none !important;
  box-shadow: none !important;
}

/* Cart Totals Heading */
.elementor-widget-woocommerce-cart .cart_totals > h2,
.woocommerce-cart .cart_totals > h2,
.cart_totals > h2 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  color: #333 !important;
  margin-bottom: 25px !important;
  padding-bottom: 0 !important;
  border: none !important;
}

/* Cart Totals Table */
.elementor-widget-woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart .cart_totals table.shop_table {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
}

.elementor-widget-woocommerce-cart .cart_totals table.shop_table th,
.elementor-widget-woocommerce-cart .cart_totals table.shop_table td,
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  font-family: "Montserrat", sans-serif !important;
  font-size: 16px !important;
  border: none !important;
  border-bottom: 1px solid #e5e5e5 !important;
  padding: 15px 0 !important;
  background: transparent !important;
  vertical-align: middle !important;
}

.elementor-widget-woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table th {
  font-weight: 500 !important;
  color: #333 !important;
  text-align: left !important;
}

.elementor-widget-woocommerce-cart .cart_totals table.shop_table td,
.woocommerce-cart .cart_totals table.shop_table td {
  text-align: right !important;
  color: #333 !important;
  font-weight: 500 !important;
}

/* Local Pickup / Shipping */
.elementor-widget-woocommerce-cart .cart_totals .woocommerce-shipping-totals td,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
  text-align: right !important;
}

.elementor-widget-woocommerce-cart .cart_totals .woocommerce-shipping-totals td p,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals td p {
  margin: 0 !important;
}

/* Hide shipping calculator */
.elementor-widget-woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping-calculator-button {
  display: none !important;
}

/* Estimated Total Row */
.elementor-widget-woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total th {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333 !important;
  border-bottom: none !important;
}

.elementor-widget-woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total td {
  border-bottom: none !important;
}

.elementor-widget-woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount,
.elementor-widget-woocommerce-cart .cart_totals .order-total td .amount,
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .order-total td .amount {
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #333 !important;
}

/* =============================================
   PROCEED TO CHECKOUT BUTTON
   ============================================= */

.elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout a.checkout-button,
a.checkout-button {
  font-family: "Montserrat", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  background-color: #3682AE !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 18px 40px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 25px !important;
  margin-bottom: 8px !important;
  display: block !important;
  transition: background-color 0.3s ease !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.wc-proceed-to-checkout a.checkout-button:hover,
a.checkout-button:hover {
  background-color: #2a6a8f !important;
  color: #fff !important;
}

/* =============================================
   GOOGLE PAY / EXPRESS CHECKOUT BUTTONS
   ============================================= */

/* Spacing for Google Pay button */
.wc-proceed-to-checkout .gpay-button,
.wc-proceed-to-checkout #gpay-button,
.wc-proceed-to-checkout [id*="gpay"],
.wc-proceed-to-checkout [class*="gpay"],
.wc-proceed-to-checkout [class*="google-pay"],
.cart_totals .gpay-button,
.cart_totals #gpay-button,
.cart_totals [id*="gpay"],
.cart_totals [class*="gpay"],
.cart_totals [class*="google-pay"] {
  margin-top: 0 !important;
}

/* WooCommerce Payments / Stripe express buttons */
.wc-proceed-to-checkout .wc-stripe-payment-request-wrapper,
.wc-proceed-to-checkout .woocommerce-stripe-payment-request-button-wrapper,
.wc-proceed-to-checkout #wc-stripe-payment-request-button,
.cart_totals .wc-stripe-payment-request-wrapper,
.cart_totals .woocommerce-stripe-payment-request-button-wrapper {
  margin-top: 0 !important;
}

/* PayPal express button spacing */
.wc-proceed-to-checkout .wc-ppcp-button-container,
.wc-proceed-to-checkout [class*="paypal"],
.cart_totals .wc-ppcp-button-container,
.cart_totals [class*="paypal"] {
  margin-top: 0 !important;
}

/* Generic express checkout container spacing */
.wc-proceed-to-checkout > *:not(:first-child),
.cart_totals .wc-proceed-to-checkout > *:not(:first-child) {
  margin-top: 8px !important;
}

/* Alternative: space between all buttons in checkout section */
.wc-proceed-to-checkout {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* =============================================
   UPDATE CART BUTTON
   ============================================= */

.elementor-widget-woocommerce-cart button[name="update_cart"],
.elementor-widget-woocommerce-cart input[name="update_cart"],
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  background: transparent !important;
  color: #3682AE !important;
  border: 1px solid #ddd !important;
  padding: 12px 25px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  text-transform: none !important;
}

.elementor-widget-woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart button[name="update_cart"]:hover {
  border-color: #3682AE !important;
  background: transparent !important;
}

.elementor-widget-woocommerce-cart button[name="update_cart"]:disabled,
.woocommerce-cart button[name="update_cart"]:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* =============================================
   HIDE COUPON SECTION
   ============================================= */

.elementor-widget-woocommerce-cart .coupon,
.woocommerce-cart .coupon {
  display: none !important;
}

/* =============================================
   ACTIONS ROW
   ============================================= */

.elementor-widget-woocommerce-cart table.cart td.actions,
.woocommerce-cart table.cart td.actions {
  border-bottom: none !important;
  padding-top: 20px !important;
}

/* =============================================
   EMPTY CART MESSAGE
   ============================================= */

.woocommerce-cart .cart-empty,
.wc-empty-cart-message {
  font-family: "Montserrat", sans-serif !important;
  font-size: 18px !important;
  color: #666 !important;
  text-align: center !important;
  padding: 40px 20px !important;
}

.woocommerce-cart .return-to-shop a.button,
.woocommerce-cart a.wc-backward {
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background-color: #3682AE !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 15px 30px !important;
  text-transform: none !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background-color 0.3s ease !important;
}

.woocommerce-cart .return-to-shop a.button:hover,
.woocommerce-cart a.wc-backward:hover {
  background-color: #2a6a8f !important;
  color: #fff !important;
}

/* =============================================
   RESPONSIVE STYLES
   ============================================= */

@media (max-width: 1024px) {
  .elementor-widget-woocommerce-cart table.cart .product-thumbnail img,
  .woocommerce-cart table.cart .product-thumbnail img {
    width: 90px !important;
  }
  
  .elementor-widget-woocommerce-cart .cart_totals,
  .woocommerce-cart .cart_totals {
    margin-top: 40px !important;
  }
  
  .elementor-widget-woocommerce-cart table.cart td.product-quantity,
  .woocommerce-cart table.cart td.product-quantity {
    left: 120px !important;
  }
  
  .elementor-widget-woocommerce-cart table.cart td.product-remove,
  .woocommerce-cart table.cart td.product-remove {
    left: 120px !important;
  }
}

@media (max-width: 767px) {
  /* Reset table layout for mobile */
  .elementor-widget-woocommerce-cart table.cart,
  .elementor-widget-woocommerce-cart table.cart thead,
  .elementor-widget-woocommerce-cart table.cart tbody,
  .elementor-widget-woocommerce-cart table.cart tr,
  .elementor-widget-woocommerce-cart table.cart td,
  .woocommerce-cart table.cart,
  .woocommerce-cart table.cart thead,
  .woocommerce-cart table.cart tbody,
  .woocommerce-cart table.cart tr,
  .woocommerce-cart table.cart td,
  .woocommerce table.shop_table_responsive tr,
  .woocommerce table.shop_table_responsive td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }
  
  /* Hide table header on mobile */
  .elementor-widget-woocommerce-cart table.cart thead,
  .woocommerce-cart table.cart thead {
    display: none !important;
  }
  
  /* HIDE WooCommerce default mobile labels (data-title pseudo-elements) */
  .elementor-widget-woocommerce-cart table.cart td::before,
  .woocommerce-cart table.cart td::before,
  .woocommerce table.shop_table_responsive tr td::before,
  .woocommerce-page table.shop_table_responsive tr td::before,
  table.shop_table_responsive tr td::before,
  .woocommerce-cart-form table.cart td::before {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    visibility: hidden !important;
  }
  
  /* Remove any colons or labels */
  .elementor-widget-woocommerce-cart table.cart tr.cart_item td[data-title]::before,
  .woocommerce-cart table.cart tr.cart_item td[data-title]::before {
    display: none !important;
    content: none !important;
  }
  
  /* Cart row - stacked column layout */
  .elementor-widget-woocommerce-cart table.cart tr.cart_item,
  .woocommerce-cart table.cart tr.cart_item,
  .woocommerce-cart-form table.cart tr.cart_item {
    display: flex !important;
    flex-direction: column !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    margin-bottom: 0 !important;
    position: relative !important;
  }
  
  /* Thumbnail - at the top */
  .elementor-widget-woocommerce-cart table.cart td.product-thumbnail,
  .woocommerce-cart table.cart td.product-thumbnail,
  .woocommerce-cart-form table.cart td.product-thumbnail {
    order: 1 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    min-width: auto !important;
    max-width: none !important;
    padding: 0 0 15px 0 !important;
    border: none !important;
    text-align: left !important;
  }
  
  .elementor-widget-woocommerce-cart table.cart .product-thumbnail img,
  .woocommerce-cart table.cart .product-thumbnail img {
    width: 80px !important;
  }
  
  /* Subtotal - after thumbnail */
  .elementor-widget-woocommerce-cart table.cart td.product-subtotal,
  .woocommerce-cart table.cart td.product-subtotal,
  .woocommerce-cart-form table.cart td.product-subtotal {
    order: 2 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    padding: 0 0 10px 0 !important;
    text-align: left !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
  }
  
  /* Product name cell */
  .elementor-widget-woocommerce-cart table.cart td.product-name,
  .woocommerce-cart table.cart td.product-name,
  .woocommerce-cart-form table.cart td.product-name {
    order: 3 !important;
    position: relative !important;
    padding: 0 0 10px 0 !important;
    min-height: auto !important;
    border: none !important;
    text-align: left !important;
    width: 100% !important;
  }
  
  /* Product title */
  .elementor-widget-woocommerce-cart table.cart td.product-name > a:first-of-type,
  .woocommerce-cart table.cart td.product-name > a:first-of-type {
    font-size: 15px !important;
    display: block !important;
    margin-bottom: 5px !important;
    text-align: left !important;
  }
  
  /* Price under title */
  .elementor-widget-woocommerce-cart table.cart td.product-name .product-price,
  .woocommerce-cart table.cart td.product-name .product-price,
  .elementor-widget-woocommerce-cart table.cart td.product-name .woocommerce-Price-amount,
  .woocommerce-cart table.cart td.product-name .woocommerce-Price-amount {
    font-size: 14px !important;
    text-align: left !important;
    display: block !important;
  }
  
  /* Variations */
  .elementor-widget-woocommerce-cart table.cart td.product-name dl.variation,
  .woocommerce-cart table.cart td.product-name dl.variation,
  .elementor-widget-woocommerce-cart table.cart td.product-name .wc-item-meta,
  .woocommerce-cart table.cart td.product-name .wc-item-meta {
    margin: 5px 0 !important;
    text-align: left !important;
  }
  
  .elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dt,
  .woocommerce-cart table.cart td.product-name dl.variation dt,
  .elementor-widget-woocommerce-cart table.cart td.product-name .wc-item-meta li strong,
  .woocommerce-cart table.cart td.product-name .wc-item-meta li strong {
    font-size: 12px !important;
  }
  
  .elementor-widget-woocommerce-cart table.cart td.product-name dl.variation dd,
  .woocommerce-cart table.cart td.product-name dl.variation dd,
  .elementor-widget-woocommerce-cart table.cart td.product-name .wc-item-meta li p,
  .woocommerce-cart table.cart td.product-name .wc-item-meta li p {
    font-size: 12px !important;
  }
  
  /* Quantity - below product details */
  .elementor-widget-woocommerce-cart table.cart td.product-quantity,
  .woocommerce-cart table.cart td.product-quantity,
  .woocommerce-cart-form table.cart td.product-quantity {
    order: 4 !important;
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    padding: 10px 0 5px 0 !important;
    width: 100% !important;
    display: block !important;
    border: none !important;
    text-align: left !important;
  }
  
  /* Remove link - below quantity */
  .elementor-widget-woocommerce-cart table.cart td.product-remove,
  .woocommerce-cart table.cart td.product-remove,
  .woocommerce-cart-form table.cart td.product-remove {
    order: 5 !important;
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    padding: 5px 0 0 0 !important;
    width: 100% !important;
    display: block !important;
    z-index: 1 !important;
    border: none !important;
    text-align: left !important;
  }
  
  /* Hide price column on mobile */
  .elementor-widget-woocommerce-cart table.cart td.product-price,
  .woocommerce-cart table.cart td.product-price {
    display: none !important;
  }
  
  /* Cart totals */
  .elementor-widget-woocommerce-cart .cart_totals,
  .woocommerce-cart .cart_totals {
    padding: 25px !important;
    margin-top: 30px !important;
  }
  
  .woocommerce-cart h1.entry-title,
  .elementor-widget-woocommerce-cart h1 {
    font-size: 28px !important;
  }
  
  /* Quantity buttons on mobile */
  .woocommerce-cart table.cart .quantity,
  .woocommerce-cart table.cart .quantity.qty-has-buttons,
  .elementor-widget-woocommerce-cart table.cart .quantity,
  .elementor-widget-woocommerce-cart .quantity.qty-has-buttons {
    border-radius: 4px !important;
    border: 1px solid #ddd !important;
    min-width: 120px !important;
    max-width: 130px !important;
    display: inline-flex !important;
  }
  
  .woocommerce-cart table.cart .quantity .qty-btn,
  .woocommerce-cart table.cart .quantity.qty-has-buttons .qty-btn,
  .elementor-widget-woocommerce-cart table.cart .quantity .qty-btn,
  .elementor-widget-woocommerce-cart .quantity.qty-has-buttons .qty-btn {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 18px !important;
  }
  
  .woocommerce-cart table.cart .quantity input.qty,
  .woocommerce-cart table.cart .quantity.qty-has-buttons input.qty,
  .elementor-widget-woocommerce-cart table.cart .quantity input.qty,
  .elementor-widget-woocommerce-cart .quantity.qty-has-buttons input.qty {
    width: 45px !important;
    min-width: 45px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 479px) {
  .elementor-widget-woocommerce-cart table.cart .product-thumbnail img,
  .woocommerce-cart table.cart .product-thumbnail img {
    width: 70px !important;
  }
  
  .elementor-widget-woocommerce-cart table.cart td.product-name > a:first-of-type,
  .woocommerce-cart table.cart td.product-name > a:first-of-type {
    font-size: 14px !important;
  }
  
  .elementor-widget-woocommerce-cart table.cart td.product-subtotal,
  .woocommerce-cart table.cart td.product-subtotal {
    font-size: 15px !important;
  }
}
/* =============================================
   MOBILE CART LAYOUT - ADD THIS AFTER YOUR MAIN CART CSS
   Fixes for Elementor + WooCommerce responsive cart
   ============================================= */

@media screen and (max-width: 1024px) {
  
  /* Force table to block layout */
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.shop_table_responsive.cart,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.shop_table_responsive.cart tbody,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.shop_table_responsive.cart tr,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table.shop_table_responsive.cart td {
    display: block !important;
    width: 100% !important;
  }
  
  /* Hide the ::before labels that WooCommerce adds */
  body.woocommerce-cart .woocommerce-cart-form table.cart td::before,
  body.woocommerce-cart table.shop_table_responsive tr td::before,
  body .woocommerce table.shop_table_responsive tr td::before {
    display: none !important;
    content: "" !important;
    content: none !important;
    visibility: hidden !important;
    width: 0 !important;
    float: none !important;
  }
  
  /* Cart row - relative positioning for absolute children, extra padding at bottom for remove button */
  body.woocommerce-cart .woocommerce-cart-form table.cart tr.cart_item,
  body.woocommerce-cart table.shop_table tr.cart_item {
    display: block !important;
    position: relative !important;
    padding: 25px 0 60px 0 !important;
    margin-bottom: 10px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    border-top: none !important;
  }
  
  /* Remove borders from all table cells on mobile */
  body.woocommerce-cart .woocommerce-cart-form table.cart td,
  body.woocommerce-cart table.shop_table td,
  body.woocommerce-cart table.cart td {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
  }
  
  /* Remove border from tbody */
  body.woocommerce-cart .woocommerce-cart-form table.cart tbody,
  body.woocommerce-cart table.shop_table tbody,
  body.woocommerce-cart table.cart tbody {
    border: none !important;
  }
  
  /* REMOVE BUTTON - Force to absolute bottom */
  body.woocommerce-cart .woocommerce-cart-form table.cart td.product-remove,
  body.woocommerce-cart table.shop_table td.product-remove,
  .woocommerce-cart table.cart td.product-remove {
    position: absolute !important;
    left: 0 !important;
    bottom: 20px !important;
    top: auto !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
    text-align: left !important;
    z-index: 100 !important;
  }
  
  /* 1. Thumbnail - TOP */
  body.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail,
  body.woocommerce-cart table.shop_table td.product-thumbnail {
    position: static !important;
    width: 100% !important;
    padding: 0 0 15px 0 !important;
    border: none !important;
    text-align: left !important;
  }
  
  body.woocommerce-cart table.cart .product-thumbnail img {
    width: 80px !important;
    height: auto !important;
  }
  
  /* 2. Product name - after thumbnail */
  body.woocommerce-cart .woocommerce-cart-form table.cart td.product-name,
  body.woocommerce-cart table.shop_table td.product-name {
    position: static !important;
    width: 100% !important;
    padding: 0 0 10px 0 !important;
    border: none !important;
    text-align: left !important;
  }
  
  /* Product title link */
  body.woocommerce-cart table.cart td.product-name > a:first-of-type {
    display: block !important;
    margin-bottom: 5px !important;
  }
  
  /* Individual product price - inline with variations */
  body.woocommerce-cart table.cart td.product-name .woocommerce-Price-amount,
  body.woocommerce-cart table.cart td.product-name .amount,
  body.woocommerce-cart table.cart td.product-name .price {
    display: inline !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #333 !important;
  }
  
  /* 3. Quantity - after product name */
  body.woocommerce-cart .woocommerce-cart-form table.cart td.product-quantity,
  body.woocommerce-cart table.shop_table td.product-quantity {
    position: static !important;
    width: 100% !important;
    padding: 15px 0 5px 0 !important;
    border: none !important;
    text-align: left !important;
  }
  
  /* 4. Subtotal - positioned to the right of quantity */
  body.woocommerce-cart .woocommerce-cart-form table.cart td.product-subtotal,
  body.woocommerce-cart table.shop_table td.product-subtotal {
    position: absolute !important;
    right: 0 !important;
    bottom: 55px !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
    text-align: right !important;
    font-size: 16px !important;
    font-weight: 600 !important;
  }
  
  /* Product price column - show but style inline */
  body.woocommerce-cart .woocommerce-cart-form table.cart td.product-price,
  body.woocommerce-cart table.shop_table td.product-price {
    position: static !important;
    width: 100% !important;
    padding: 5px 0 !important;
    border: none !important;
    text-align: left !important;
    font-size: 13px !important;
  }
  
  /* Quantity wrapper */
  body.woocommerce-cart table.cart .quantity {
    display: inline-flex !important;
    border-radius: 4px !important;
    border: 1px solid #ddd !important;
  }
  
  body.woocommerce-cart table.cart .quantity .qty-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }
  
  body.woocommerce-cart table.cart .quantity input.qty {
    width: 45px !important;
    height: 36px !important;
    min-width: 45px !important;
    min-height: 36px !important;
  }
  
  /* Remove link styling */
  body.woocommerce-cart table.cart td.product-remove a.remove {
    display: inline-block !important;
  }
  
  /* Hide Update Cart button and actions area on mobile */
  body.woocommerce-cart .woocommerce-cart-form__contents .actions,
  body.woocommerce-cart table.cart .actions,
  body.woocommerce-cart table.cart td.actions,
  body.woocommerce-cart .cart-collaterals .cart_totals .shipping-calculator-form .button,
  body.woocommerce-cart .shipping-calculator-form .button,
  body.woocommerce-cart .shipping-calculator-form button,
  body.woocommerce-cart button[name="update_cart"],
  body.woocommerce-cart input[name="update_cart"],
  body.woocommerce-cart .actions button,
  body.woocommerce-cart .actions input[type="submit"],
  .woocommerce-cart table.cart td.actions,
  .woocommerce table.cart td.actions,
  .woocommerce-cart .actions,
  .woocommerce-cart-form .actions,
  .woocommerce-cart-form__contents .actions {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  
  /* Reduce space above cart totals */
  body.woocommerce-cart .cart_totals,
  .woocommerce-cart .cart_totals {
    margin-top: 20px !important;
  }
  
}/* End custom CSS */