
/* ---- Sylvana cart, from "Sylvana Cart Page.dc.html" ---- */
@media (min-width: 900px) {
  .bde-cart .woocommerce { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,440px); gap: 32px; align-items: start; }
  .bde-cart .woocommerce-cart-form { grid-column: 1; min-width: 0; }
  .bde-cart .cart-collaterals { grid-column: 2; margin: 0; width: 100%; }
  .bde-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
}
.bde-cart .cart-collaterals, .bde-cart .cart_totals { width: 100% !important; float: none !important; }

.bde-cart .shop_table { border: 0; border-collapse: separate; border-spacing: 0 18px; background: none; width: 100%; }
.bde-cart .shop_table thead { display: none; }
.bde-cart .cart_item {
  display: flex; flex-wrap: wrap; align-items: center; gap: 20px;
  background: #fff; border: 1px solid #E6E8E6; border-radius: 16px; padding: 20px;
  box-shadow: 0 1px 3px rgba(45,52,54,.06);
}
.bde-cart .cart_item > td { border: 0 !important; padding: 0 !important; background: none !important; }
.bde-cart .cart_item .product-thumbnail { width: 110px; flex-shrink: 0; }
.bde-cart .cart_item .product-thumbnail img {
  width: 110px; height: 88px; object-fit: contain; display: block;
  border: 1px solid #E6E8E6; border-radius: 10px; background: #F9F9F9; padding: 4px;
}
.bde-cart .cart_item .product-name { flex: 1; min-width: 160px; font-family: "Lexend", sans-serif; font-weight: 700; font-size: 16px; }
.bde-cart .cart_item .product-name a { color: #2D3436; text-decoration: none; }
.bde-cart .cart_item .product-name a:hover { color: #2F2FC9; }
.bde-cart .cart_item .product-price { display: none; }
.bde-cart .cart_item .product-quantity { order: 3; }
.bde-cart .cart_item .quantity { display: flex; align-items: center; border: 1px solid #C9CDF2; border-radius: 12px; overflow: hidden; }
.bde-cart .cart_item .bde-quantity-button {
  width: 48px; height: 48px; background: #EDEEFB; border: 0; font-size: 18px; font-weight: 600;
  color: #2F2FC9; cursor: pointer; transition: background .18s ease;
}
.bde-cart .cart_item .bde-quantity-button:hover { background: #DDE0F8; }
.bde-cart .cart_item .quantity input.qty {
  width: 52px; text-align: center; font-size: 16px; font-weight: 700; border: 0;
  background: #fff; color: #2D3436; -moz-appearance: textfield; padding: 0; height: 48px;
}
.bde-cart .cart_item .quantity input.qty::-webkit-outer-spin-button,
.bde-cart .cart_item .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bde-cart .cart_item .product-subtotal {
  order: 4; font-family: "Lexend", sans-serif; font-weight: 700; font-size: 16px;
  min-width: 90px; text-align: right;
}
.bde-cart .cart_item .product-remove { order: 5; }
.bde-cart .cart_item .product-remove a.remove {
  color: #6B7280 !important; background: none !important; font-size: 0;
  width: auto; height: auto; line-height: 1.4; font-weight: 400; text-decoration: none;
}
.bde-cart .cart_item .product-remove a.remove::before { content: "Remove"; font-size: 15px; text-decoration: underline; }
.bde-cart .cart_item .product-remove a.remove:hover { color: #B3261E !important; }

.bde-cart .actions { background: #fff; border: 1px solid #E6E8E6; border-radius: 16px; padding: 18px 20px; }
.bde-cart .actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.bde-cart .actions .coupon label { font-size: 15px; font-weight: 600; color: #4B5563; width: 100%; margin-bottom: 4px; }
.bde-cart .actions .coupon input.input-text {
  flex: 1; min-width: 0; border: 1px solid #C9CDF2; border-radius: 12px;
  padding: 13px 14px; font-size: 16px; background: #F9F9F9;
}
.bde-cart .actions .button {
  background: #EDEEFB; color: #2F2FC9; border: 0; border-radius: 12px;
  padding: 13px 20px; font-size: 16px; font-weight: 700; cursor: pointer;
}
.bde-cart .actions .button:hover { background: #DDE0F8; }

.bde-cart .cart_totals {
  background: #fff; border: 1px solid #E6E8E6; border-radius: 16px; padding: 28px;
  box-shadow: 0 1px 3px rgba(45,52,54,.06);
}
.bde-cart .cart_totals h2 { font-family: "Lexend", sans-serif; font-weight: 700; font-size: 18px; margin: 0 0 20px; color: #2D3436; }
.bde-cart .cart_totals table { border: 0; width: 100%; border-collapse: collapse; }
.bde-cart .cart_totals th, .bde-cart .cart_totals td { border: 0; padding: 6px 0; font-size: 17px; background: none; }
.bde-cart .cart_totals th { font-weight: 400; color: #4B5563; text-align: left; }
.bde-cart .cart_totals td { text-align: right; font-weight: 600; }
.bde-cart .cart_totals .fee th, .bde-cart .cart_totals .fee td { color: #1B7F4B; font-weight: 700; }
.bde-cart .cart_totals .order-total th, .bde-cart .cart_totals .order-total td {
  border-top: 2px solid #E6E8E6; padding-top: 16px; font-family: "Lexend", sans-serif;
}
.bde-cart .cart_totals .order-total th { font-weight: 700; font-size: 17px; color: #2D3436; }
.bde-cart .cart_totals .order-total td { font-weight: 800; font-size: 22px; color: #2F2FC9; }
.bde-cart .wc-proceed-to-checkout { padding: 22px 0 0; }
.bde-cart .wc-proceed-to-checkout .checkout-button {
  display: block; width: 100%; text-align: center; background: #2F2FC9; color: #fff;
  border: 0; border-radius: 14px; padding: 18px; font-size: 16px; font-weight: 700;
  box-shadow: 0 4px 14px rgba(47,47,201,.28); text-decoration: none; transition: background .18s ease;
}
.bde-cart .wc-proceed-to-checkout .checkout-button:hover { background: #2626A8; color: #fff; }

.sy-cart-trust { display: grid; gap: 10px; font-size: 15px; color: #4B5563; margin-top: 18px; }
.sy-cart-trust div { display: flex; align-items: center; gap: 10px; }
.sy-cart-trust svg { flex-shrink: 0; }
.sy-cart-trust a { font-weight: 700; }

.sy-cart-hint {
  background: #FFF6DC; border: 1px solid #F2DFA4; border-radius: 16px; padding: 20px 24px;
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 18px;
}
.sy-cart-hint p { flex: 1; min-width: 220px; font-size: 16px; color: #5C4400; line-height: 1.5; margin: 0; }
.sy-cart-hint a { font-size: 16px; font-weight: 700; color: #8A6400; white-space: nowrap; text-decoration: none; }
.sy-cart-hint a:hover { text-decoration: underline; color: #5C4400; }

.sy-cart-head { margin-bottom: 28px; }
.sy-cart-head h1 { font-family: "Lexend", sans-serif; font-weight: 800; font-size: 40px; letter-spacing: -.02em; margin: 0 0 6px; color: #2D3436; }
.sy-cart-head p { font-size: 18px; color: #4B5563; margin: 0; }

.bde-cart .woocommerce-message {
  background: #E7F6EC; border: 1px solid #9FD9B4; border-radius: 16px;
  padding: 20px 24px; color: #14532D; font-size: 16px; line-height: 1.5;
}
.bde-cart .woocommerce-message::before { color: #1B7F4B; }
.bde-cart .woocommerce-info {
  background: #EDEEFB; border: 1px solid #C9CDF2; border-radius: 16px;
  padding: 18px 22px; color: #1E1E8F; font-size: 16px;
}
.bde-cart .woocommerce-info::before { color: #2F2FC9; }

@media (max-width: 600px) {
  .sy-cart-head h1 { font-size: 22px; }
  .bde-cart .cart_item { gap: 14px; padding: 16px; }
  .bde-cart .cart_item .product-subtotal { text-align: left; min-width: 0; }
}

/* ---- corrections after live DOM check ---- */
/* the grid lives on .woocommerce, which the theme sets to display:flex */
@media (min-width: 900px) {
  .bde-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(320px,440px) !important;
    gap: 32px; align-items: start;
  }
}
/* line meta on its own row */
.bde-cart .cart_item .product-name .sy-cart-line-meta {
  display: block; font-family: "Inter", sans-serif; font-weight: 400;
  font-size: 16px; color: #6B7280; margin-top: 2px;
}
/* the screen-reader label repeats the meta text; keep it off-screen */
.bde-cart .cart_item .quantity label.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
/* the -/+ glyphs are drawn by the theme; make sure they show */
.bde-cart .cart_item .bde-quantity-button {
  position: static !important;
  top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
  transform: none !important;
  font-size: 0; line-height: 1;
}
.bde-cart .cart_item .bde-quantity-button::before {
  font-size: 18px; font-weight: 600; color: #2F2FC9; line-height: 1;
  width: auto !important; height: auto !important;
  background-color: transparent !important;
  -webkit-mask-image: none !important; mask-image: none !important;
  position: static !important; transform: none !important;
}
.bde-cart .cart_item .bde-quantity-button--dec::before { content: "\2212"; }
.bde-cart .cart_item .bde-quantity-button--inc::before { content: "+"; }
/* keep Remove inside the card */
.bde-cart .cart_item { position: relative; padding-right: 20px; }
.bde-cart .cart_item .product-remove { order: 6; margin-left: auto; flex-shrink: 0; }
.bde-cart .cart_item .product-remove a.remove { white-space: nowrap; display: inline-block; padding: 8px 0; }
/* let the row wrap rather than overflow */
.bde-cart .cart_item .product-subtotal { flex-shrink: 0; }

/* ---- corrections, pass 2 ---- */
@media (min-width: 900px) {
  /* heading and all notices span both columns */
  .bde-cart .woocommerce > .sy-cart-head,
  .bde-cart .woocommerce > .woocommerce-message,
  .bde-cart .woocommerce > .woocommerce-info,
  .bde-cart .woocommerce > .woocommerce-error,
  .bde-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1 !important; }
  .bde-cart .woocommerce > .woocommerce-cart-form { grid-column: 1 !important; }
  .bde-cart .woocommerce > .cart-collaterals { grid-column: 2 !important; }
}
/* the theme paints the -/+ glyph with an empty ::before; beat it on specificity */
.bde-cart .cart_item .quantity .bde-quantity-button { width: 48px !important; height: 48px !important; font-size: 0 !important; }
.bde-cart .cart_item .quantity .bde-quantity-button::before,
.bde-cart .cart_item .quantity .bde-quantity-button::after {
  font-size: 18px !important; font-weight: 600 !important; color: #2F2FC9 !important;
  line-height: 48px !important; width: auto !important; height: auto !important;
  background: none !important; display: inline !important;
}
.bde-cart .cart_item .quantity .bde-quantity-button--dec::before { content: "\2212" !important; }
.bde-cart .cart_item .quantity .bde-quantity-button--inc::before { content: "+" !important; }
.bde-cart .cart_item .quantity .bde-quantity-button--dec::after,
.bde-cart .cart_item .quantity .bde-quantity-button--inc::after { content: none !important; }

/* stop the 12px overflow: let the row wrap and keep Remove on the end */
.bde-cart .cart_item { overflow: hidden; }
.bde-cart .cart_item .product-name { flex: 1 1 160px; }
.bde-cart .cart_item .product-quantity { flex: 0 0 auto; }
.bde-cart .cart_item .product-subtotal { flex: 0 0 auto; min-width: 80px; }
.bde-cart .cart_item .product-remove { flex: 0 0 auto; margin-left: auto; }
@media (max-width: 1100px) and (min-width: 900px) {
  /* narrower left column: give Remove its own line rather than clipping */
  .bde-cart .cart_item .product-remove { margin-left: 0; }
}

/* ---- corrections, pass 3: fit the row, no clipping ---- */
@media (min-width: 900px) {
  /* give the items column the room it needs */
  .bde-cart .woocommerce { grid-template-columns: minmax(0,1fr) 380px !important; gap: 28px !important; }
}
/* the row is ~12px too wide at this column size: trim the gap and let it wrap cleanly */
.bde-cart .cart_item { gap: 16px; overflow: visible; }
.bde-cart .cart_item .product-thumbnail { width: 96px; }
.bde-cart .cart_item .product-thumbnail img { width: 96px; height: 78px; }
.bde-cart .cart_item .product-name { flex: 1 1 140px; min-width: 140px; font-size: 16px; }
.bde-cart .cart_item .quantity { flex-shrink: 0; }
.bde-cart .cart_item .product-subtotal { min-width: 76px; font-size: 16px; }
/* Remove drops to its own line when the row runs out of space */
.bde-cart .cart_item .product-remove { flex: 0 0 auto; margin-left: auto; }
.bde-cart .cart_item .product-remove a.remove { padding: 4px 0; }
@media (min-width: 900px) and (max-width: 1240px) {
  .bde-cart .cart_item .product-remove { flex-basis: 100%; margin-left: 0; text-align: right; }
}

/* ---- corrections, pass 4: stop the quantity control being crushed ---- */
.bde-cart .woocommerce-cart-form .cart_item .quantity {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 110px !important;   /* 48 + 52 + 48 + borders */
}
.bde-cart .woocommerce-cart-form .cart_item .quantity .bde-quantity-button {
  flex: 0 0 48px !important; min-width: 48px !important;
}
.bde-cart .woocommerce-cart-form .cart_item .quantity input.qty {
  flex: 0 0 52px !important; min-width: 52px !important;
}
.bde-cart .woocommerce-cart-form .cart_item .product-quantity { flex: 0 0 auto !important; min-width: 150px; }

/* Remove always gets its own full-width line, right aligned, so it can never clip */
.bde-cart .woocommerce-cart-form .cart_item { align-items: center; row-gap: 4px; }
.bde-cart .woocommerce-cart-form .cart_item .product-remove {
  flex: 1 0 100% !important; margin-left: 0 !important; text-align: right; order: 9;
}
.bde-cart .woocommerce-cart-form .cart_item .product-remove a.remove { padding: 0; }

/* ---- mobile: let the row breathe, nothing clipped ---- */
@media (max-width: 720px) {
  .bde-cart .woocommerce-cart-form .cart_item { gap: 12px; padding: 16px; }
  .bde-cart .woocommerce-cart-form .cart_item .product-thumbnail { width: 72px; }
  .bde-cart .woocommerce-cart-form .cart_item .product-thumbnail img { width: 72px; height: 60px; }
  /* name takes the rest of the first line, next to the thumbnail */
  .bde-cart .woocommerce-cart-form .cart_item .product-name {
    flex: 1 1 calc(100% - 84px); min-width: 0; font-size: 18px;
  }
  /* quantity and price share the second line */
  .bde-cart .woocommerce-cart-form .cart_item .product-quantity { flex: 0 0 auto !important; min-width: 0; }
  .bde-cart .woocommerce-cart-form .cart_item .quantity { min-width: 138px !important; }
  .bde-cart .woocommerce-cart-form .cart_item .quantity .bde-quantity-button { flex-basis: 44px !important; min-width: 44px !important; width: 44px !important; height: 44px !important; }
  .bde-cart .woocommerce-cart-form .cart_item .quantity input.qty { flex-basis: 46px !important; min-width: 46px !important; width: 46px !important; height: 44px; }
  .bde-cart .woocommerce-cart-form .cart_item .product-subtotal {
    flex: 1 1 auto !important; min-width: 0; text-align: right; font-size: 18px;
  }
}

/* ---- mobile, pass 2: the real offenders ---- */
/* the screen-reader label was still occupying layout inside .quantity */
.bde-cart .woocommerce-cart-form .cart_item .quantity > label,
.bde-cart .woocommerce-cart-form .cart_item .quantity label.screen-reader-text {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important;
}
.bde-cart .woocommerce-cart-form .cart_item .quantity { position: relative; }

/* Remove is a block on its own line; keep it inside the padding box */
.bde-cart .woocommerce-cart-form .cart_item .product-remove {
  max-width: 100%; overflow: hidden;
}
.bde-cart .woocommerce-cart-form .cart_item .product-remove a.remove {
  display: inline-block; max-width: 100%; margin-right: 0;
}
@media (max-width: 720px) {
  .bde-cart .woocommerce-cart-form .cart_item .product-quantity { max-width: 100%; }
  
}

/* ---- mobile, pass 3: hold the stepper at its natural size ---- */
@media (max-width: 720px) {
  .bde-cart .woocommerce-cart-form .cart_item .product-quantity {
    flex: 0 0 auto !important; width: auto !important; max-width: none !important;
  }
  .bde-cart .woocommerce-cart-form .cart_item .quantity {
    display: inline-flex !important; width: auto !important; min-width: 0 !important;
    flex: 0 0 auto !important;
  }
  .bde-cart .woocommerce-cart-form .cart_item .quantity .bde-quantity-button {
    flex: 0 0 44px !important; width: 44px !important; min-width: 44px !important; height: 44px !important;
  }
  .bde-cart .woocommerce-cart-form .cart_item .quantity input.qty {
    flex: 0 0 46px !important; width: 46px !important; min-width: 46px !important; height: 44px !important;
  }
  /* price sits beside the stepper and takes what's left */
  .bde-cart .woocommerce-cart-form .cart_item .product-subtotal {
    flex: 1 1 60px !important; min-width: 60px !important;
  }
}

/* ---- mobile, pass 4: never clip the stepper ---- */
.bde-cart .woocommerce-cart-form .cart_item .quantity {
  overflow: visible !important;
  width: max-content !important;
  min-width: max-content !important;
  flex: 0 0 auto !important;
}
@media (max-width: 720px) {
  .bde-cart .woocommerce-cart-form .cart_item .quantity {
    width: max-content !important; min-width: max-content !important;
  }
  .bde-cart .woocommerce-cart-form .cart_item .product-quantity {
    flex: 0 0 auto !important; width: max-content !important;
  }
}
/* keep the rounded frame now that overflow is visible */
.bde-cart .woocommerce-cart-form .cart_item .quantity .bde-quantity-button--dec { border-radius: 11px 0 0 11px; }
.bde-cart .woocommerce-cart-form .cart_item .quantity .bde-quantity-button--inc { border-radius: 0 11px 11px 0; }

/* ================= Review pass: tuned for older buyers ================= */
/* Larger, higher-contrast body copy throughout the cart */
.bde-cart .cart_item .product-name,
.bde-cart .cart_item .product-name a { font-size: 16px !important; color: #2D3436 !important; }
.bde-cart .cart_item .sy-cart-line-meta { font-size: 17px !important; color: #55606B !important; }
.bde-cart .cart_item .product-subtotal { font-size: 16px !important; color: #2D3436 !important; }

/* Summary rows: 18px, darker labels */
.bde-cart .cart_totals th { font-size: 18px !important; color: #3C4653 !important; }
.bde-cart .cart_totals td { font-size: 18px !important; color: #2D3436 !important; }
.bde-cart .cart_totals .fee th, .bde-cart .cart_totals .fee td { color: #14532D !important; font-weight: 700 !important; }

/* "Total to pay" large and blue, beating the theme's own rule */
.bde-cart .cart_totals tr.order-total th,
.bde-cart .cart_totals tr.order-total th span { font-size: 17px !important; font-weight: 700 !important; color: #2D3436 !important; }
.bde-cart .cart_totals tr.order-total td,
.bde-cart .cart_totals tr.order-total td span,
.bde-cart .cart_totals tr.order-total td .amount,
.bde-cart .cart_totals tr.order-total td bdi {
  font-family: "Lexend", sans-serif !important;
  font-size: 22px !important; font-weight: 800 !important; color: #2F2FC9 !important;
}

/* one clear primary action */
.bde-cart .wc-proceed-to-checkout .checkout-button { font-size: 16px !important; padding: 20px 18px !important; }

/* 48px steppers confirmed; make the number larger too */
.bde-cart .woocommerce-cart-form .cart_item .quantity input.qty { font-size: 16px !important; }

/* phone-order fallback in the summary */
.sy-cart-phone {
  margin-top: 16px; padding: 20px 24px; background: #EDEEFB;
  border: 1px solid #C9CDF2; border-radius: 14px; text-align: left;
  display: grid; grid-template-columns: auto 1fr; gap: 20px 28px; align-items: center;
}
.sy-cart-phone-main { display: flex; align-items: center; gap: 14px; }
.sy-cart-phone-main svg { flex-shrink: 0; }
.sy-cart-phone strong { display: block; font-size: 15px; font-weight: 600; color: #4B5563; margin-bottom: 2px; }
.sy-cart-phone .sy-cart-phone-num {
  display: inline-block; font-family: "Lexend", sans-serif; font-weight: 800;
  font-size: 30px; color: #2F2FC9; text-decoration: none; line-height: 1.1;
  letter-spacing: -0.01em; white-space: nowrap;
}
.sy-cart-phone .sy-cart-phone-num:hover { color: #1E1E8F; text-decoration: underline; }
.sy-cart-phone-note {
  font-size: 15px; color: #4B5563; line-height: 1.5;
  border-left: 1px solid #C9CDF2; padding-left: 28px;
}
/* stack the two sub-columns on narrow screens */
@media (max-width: 700px) {
  .sy-cart-phone { grid-template-columns: 1fr; gap: 12px; }
  .sy-cart-phone-note { border-left: 0; padding-left: 0; }
}

/* the single friendly banner */
.bde-cart .woocommerce-message { font-size: 18px !important; font-weight: 600; }

/* upsell note, slightly larger */
.sy-cart-hint p { font-size: 17px !important; }
.sy-cart-hint a { font-size: 17px !important; }

/* trust list */
.sy-cart-trust { font-size: 16px !important; }

/* =====================================================================
   SYLVANA CART — wide desktop redesign
   Reference: 2047x1167. Scales proportionally rather than hardcoding px,
   so the same design holds on 1440/1280 laptops.
   ===================================================================== */

/* ---- 1. GLOBAL ---- */
body.woocommerce-cart { background: #F9F9F9; }
body.woocommerce-cart .bde-cart,
body.woocommerce-cart .bde-cart * { color: #2D3436; }

/* the wide container: 1871/2047 = 91.4% of the viewport, capped so it
   never becomes unreadably wide on ultra-wide monitors */
body.woocommerce-cart .sy-wide {
  width: 91.4%;
  max-width: 1880px;
  margin-inline: auto;
}

/* ---- 5. MAIN CART AREA ---- */
body.woocommerce-cart .bde-cart { background: #F9F9F9; }
body.woocommerce-cart .bde-cart .woocommerce { width: 100%; }

body.woocommerce-cart .sy-cart-head { margin: 0 0 18px; padding-top: 20px; }
body.woocommerce-cart .sy-cart-head h1 {
  font-size: 32px !important; font-weight: 800 !important; line-height: 1.15 !important;
  color: #2D3436 !important; margin: 0 0 4px !important; letter-spacing: -0.02em;
}
body.woocommerce-cart .sy-cart-head p {
  font-size: 16px !important; font-weight: 400 !important; line-height: 1.4 !important;
  color: #4B5563 !important; margin: 0 !important; max-width: none;
}

/* ---- 6. SAVINGS NOTIFICATION ---- */
body.woocommerce-cart .bde-cart .woocommerce-message {
  background: #E7F6EC !important;
  border: 2px solid #9FD9B4 !important;
  border-radius: 16px !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;   /* the text node must stay on the tick's line */
  gap: 16px !important;
  padding: 16px 22px !important;
  margin: 0 0 22px !important;
  box-shadow: none !important;
  font-size: 18px !important; font-weight: 700 !important;
  color: #14532D !important; line-height: 1.4;
}
body.woocommerce-cart .bde-cart .woocommerce-message::before {
  content: "" !important;
  position: static !important;
  flex: 0 0 34px !important; width: 34px !important; height: 34px !important;
  align-self: center !important;
  border-radius: 50%; background: #1B7F4B;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");
  background-repeat: no-repeat; background-position: center; background-size: 19px 19px;
  margin: 0 !important; padding: 0 !important;
}
body.woocommerce-cart .bde-cart .woocommerce-message a.button { display: none !important; }

/* ---- 7. TWO-COLUMN BODY ---- */
@media (min-width: 1100px) {
  body.woocommerce-cart .bde-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 400px !important;
    gap: 44px !important;
    align-items: start;
  }
  body.woocommerce-cart .bde-cart .woocommerce > .sy-cart-head,
  body.woocommerce-cart .bde-cart .woocommerce > .woocommerce-message,
  body.woocommerce-cart .bde-cart .woocommerce > .woocommerce-info,
  body.woocommerce-cart .bde-cart .woocommerce > .woocommerce-error,
  body.woocommerce-cart .bde-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1 !important; }
  body.woocommerce-cart .bde-cart .woocommerce > .woocommerce-cart-form { grid-column: 1 !important; }
  body.woocommerce-cart .bde-cart .woocommerce > .cart-collaterals { grid-column: 2 !important; }
}

/* ---- 8. CART LINE CARDS ---- */
body.woocommerce-cart .bde-cart .shop_table { border-spacing: 0 16px !important; }
body.woocommerce-cart .bde-cart .cart_item {
  border-radius: 16px !important;
  border: 2px solid #E6E8E6 !important;
  padding: 20px !important;
  gap: 20px !important;
  box-shadow: none !important;
}
body.woocommerce-cart .bde-cart .cart_item .product-thumbnail { width: 110px !important; }
body.woocommerce-cart .bde-cart .cart_item .product-thumbnail img {
  width: 110px !important; height: 88px !important; border-radius: 14px !important; padding: 6px;
}
body.woocommerce-cart .bde-cart .cart_item .product-name,
body.woocommerce-cart .bde-cart .cart_item .product-name a {
  font-size: 22px !important; font-weight: 700 !important; color: #2D3436 !important; line-height: 1.25;
}
body.woocommerce-cart .bde-cart .cart_item .sy-cart-line-meta {
  font-size: 17px !important; color: #4B5563 !important; margin-top: 6px !important;
}

body.woocommerce-cart .bde-cart .cart_item .quantity {
  border: 2px solid #C9CDF2 !important; border-radius: 16px !important;
}
body.woocommerce-cart .bde-cart .cart_item .quantity .bde-quantity-button {
  width: 44px !important; min-width: 44px !important; flex-basis: 44px !important; height: 44px !important;
  position: static !important;
  top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
  transform: none !important;
  align-items: center !important; justify-content: center !important;
}
body.woocommerce-cart .bde-cart .cart_item .quantity .bde-quantity-button::before { font-size: 24px !important; line-height: 44px !important; }
body.woocommerce-cart .bde-cart .cart_item .quantity input.qty {
  width: 52px !important; min-width: 52px !important; flex-basis: 52px !important;
  height: 44px !important; font-size: 19px !important;
}
body.woocommerce-cart .bde-cart .cart_item .product-subtotal {
  font-size: 22px !important; font-weight: 700 !important; min-width: 130px !important;
}
body.woocommerce-cart .bde-cart .cart_item .product-remove a.remove::before { font-size: 16px !important; }

/* ---- 9. SUMMARY PANEL ---- */
body.woocommerce-cart .bde-cart .cart_totals {
  border-radius: 24px !important; border: 2px solid #E6E8E6 !important;
  padding: 28px !important; box-shadow: none !important;
}
body.woocommerce-cart .bde-cart .cart_totals h2 { font-size: 26px !important; margin-bottom: 28px !important; }
body.woocommerce-cart .bde-cart .cart_totals th { font-size: 18px !important; color: #4B5563 !important; padding: 12px 0 !important; }
body.woocommerce-cart .bde-cart .cart_totals td { font-size: 18px !important; padding: 12px 0 !important; }
body.woocommerce-cart .bde-cart .cart_totals .fee th,
body.woocommerce-cart .bde-cart .cart_totals .fee td { font-size: 18px !important; color: #14532D !important; }
body.woocommerce-cart .bde-cart .cart_totals tr.order-total th,
body.woocommerce-cart .bde-cart .cart_totals tr.order-total th span { font-size: 22px !important; }
body.woocommerce-cart .bde-cart .cart_totals tr.order-total td,
body.woocommerce-cart .bde-cart .cart_totals tr.order-total td span,
body.woocommerce-cart .bde-cart .cart_totals tr.order-total td .amount,
body.woocommerce-cart .bde-cart .cart_totals tr.order-total td bdi { font-size: 32px !important; }

body.woocommerce-cart .bde-cart .wc-proceed-to-checkout .checkout-button {
  font-size: 20px !important; padding: 28px 24px !important; border-radius: 18px !important;
  min-height: 64px; display: flex !important; align-items: center; justify-content: center;
}

body.woocommerce-cart .sy-cart-phone { border-radius: 16px; padding: 20px 24px; margin-top: 16px; }
body.woocommerce-cart .sy-cart-phone strong { font-size: 15px; }
body.woocommerce-cart .sy-cart-phone .sy-cart-phone-num { font-size: 30px; }
body.woocommerce-cart .sy-cart-phone-note { font-size: 15px; }

body.woocommerce-cart .sy-cart-trust { font-size: 16px !important; gap: 14px; }
body.woocommerce-cart .sy-cart-trust svg { width: 24px; height: 24px; }
body.woocommerce-cart .sy-cart-hint { border-radius: 20px; padding: 28px 32px; }
body.woocommerce-cart .sy-cart-hint p,
body.woocommerce-cart .sy-cart-hint a { font-size: 17px !important; }

/* no coupon complexity */
body.woocommerce-cart .bde-cart .actions { display: none !important; }

/* ---- 10. SCALE DOWN ON SMALLER SCREENS ---- */
@media (max-width: 1600px) {
  body.woocommerce-cart .sy-cart-head h1 { font-size: 30px !important; }
  body.woocommerce-cart .sy-cart-head p { font-size: 16px !important; }
  body.woocommerce-cart .bde-cart .woocommerce-message { font-size: 17px !important; min-height: 0 !important; }
  body.woocommerce-cart .bde-cart .cart_item .product-name,
  body.woocommerce-cart .bde-cart .cart_item .product-name a { font-size: 19px !important; }
  body.woocommerce-cart .bde-cart .cart_totals tr.order-total td,
  body.woocommerce-cart .bde-cart .cart_totals tr.order-total td .amount,
  body.woocommerce-cart .bde-cart .cart_totals tr.order-total td bdi { font-size: 26px !important; }
}
@media (min-width: 1100px) and (max-width: 1600px) {
  body.woocommerce-cart .bde-cart .woocommerce { grid-template-columns: minmax(0,1fr) 380px !important; }
}
@media (max-width: 1280px) {
  body.woocommerce-cart .sy-cart-head h1 { font-size: 30px !important; }
  body.woocommerce-cart .sy-cart-head p { font-size: 17px !important; }
}
@media (max-width: 1099px) {
  body.woocommerce-cart .sy-cart-head { padding-top: 16px; }
  body.woocommerce-cart .sy-cart-head h1 { font-size: 26px !important; }
  body.woocommerce-cart .sy-cart-head p { font-size: 16px !important; }
  body.woocommerce-cart .bde-cart .woocommerce-message { font-size: 16px !important; min-height: 0 !important; padding: 14px 16px !important; gap: 12px !important; }
  body.woocommerce-cart .bde-cart .woocommerce-message::before { flex: 0 0 28px !important; width: 28px !important; height: 28px !important; background-size: 16px 16px !important; }
  body.woocommerce-cart .bde-cart .cart_item { padding: 20px !important; gap: 18px !important; }
  body.woocommerce-cart .bde-cart .cart_item .product-thumbnail,
  body.woocommerce-cart .bde-cart .cart_item .product-thumbnail img { width: 100px !important; }
  body.woocommerce-cart .bde-cart .cart_item .product-thumbnail img { height: 84px !important; }
  body.woocommerce-cart .bde-cart .cart_item .product-name,
  body.woocommerce-cart .bde-cart .cart_item .product-name a { font-size: 17px !important; }
  body.woocommerce-cart .bde-cart .cart_item .sy-cart-line-meta { font-size: 18px !important; }
  body.woocommerce-cart .bde-cart .cart_item .product-subtotal { font-size: 17px !important; min-width: 0 !important; }
  body.woocommerce-cart .bde-cart .cart_item .quantity .bde-quantity-button { width: 52px !important; min-width: 52px !important; flex-basis: 52px !important; height: 52px !important; }
  body.woocommerce-cart .bde-cart .cart_item .quantity .bde-quantity-button::before { line-height: 52px !important; font-size: 20px !important; }
  body.woocommerce-cart .bde-cart .cart_item .quantity input.qty { width: 42px !important; min-width: 42px !important; flex-basis: 42px !important; height: 52px !important; font-size: 17px !important; }
  body.woocommerce-cart .bde-cart .cart_totals { padding: 26px !important; }
  body.woocommerce-cart .bde-cart .cart_totals th,
  body.woocommerce-cart .bde-cart .cart_totals td { font-size: 16px !important; }
  body.woocommerce-cart .bde-cart .cart_totals tr.order-total td,
  body.woocommerce-cart .bde-cart .cart_totals tr.order-total td .amount,
  body.woocommerce-cart .bde-cart .cart_totals tr.order-total td bdi { font-size: 24px !important; }
  body.woocommerce-cart .bde-cart .wc-proceed-to-checkout .checkout-button { font-size: 17px !important; min-height: 68px; padding: 20px !important; }
  body.woocommerce-cart .sy-cart-phone .sy-cart-phone-num { font-size: 26px; }
}

body.woocommerce-cart .bde-cart .wc-proceed-to-checkout .checkout-button { margin-bottom: 22px !important; }

.bde-cart .wc-proceed-to-checkout { margin-bottom: 0; }
.bde-cart .wc-proceed-to-checkout .checkout-button { margin-bottom: 22px !important; }


/* ---- Cart item cards: kill the table wrapper's square-cornered border ---- */
/* Breakdance draws a 1px inset box-shadow + white bg on tbody at 4px radius, behind
   the 24px-radius row cards; its corners showed through as broken edges. */
body.woocommerce-cart .bde-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .bde-cart .woocommerce-cart-form table.shop_table tbody,
body.woocommerce-cart .bde-cart .woocommerce-cart-form table.shop_table thead,
body.woocommerce-cart .bde-cart .woocommerce-cart-form table.shop_table tfoot {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
/* the row itself is the card; make sure it clips its own corners cleanly */
body.woocommerce-cart .bde-cart .woocommerce-cart-form table.shop_table tr.cart_item {
  border-radius: 16px !important;
  overflow: hidden !important;
  background-clip: padding-box !important;
  box-shadow: none !important;
}
/* cells must never repaint a background over the rounded corners */
body.woocommerce-cart .bde-cart .woocommerce-cart-form table.shop_table tr.cart_item > td {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}


/* ---- Page vertical rhythm: 30px top and bottom ---- */
body.woocommerce-cart .bde-section-1336-100 > .section-container,
body.woocommerce-cart main .section-container {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}
/* the cart head already sits right under the container's padding */
body.woocommerce-cart .sy-cart-head { padding-top: 0 !important; }


/* ---- Phone block: fix inverted column widths and the inline label ---- */
body.woocommerce-cart .bde-cart .sy-cart-phone {
  display: grid !important;
  /* left track sized to its content but capped; note gets the rest */
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  gap: 0 28px !important;
  align-items: center !important;
  padding: 20px 24px !important;
  text-align: left !important;
}
body.woocommerce-cart .bde-cart .sy-cart-phone-main {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}
body.woocommerce-cart .bde-cart .sy-cart-phone-main > div { min-width: 0 !important; }
/* the label must sit ABOVE the number, not beside it */
body.woocommerce-cart .bde-cart .sy-cart-phone strong {
  display: block !important;
  font-size: 15px !important; font-weight: 600 !important;
  color: #4B5563 !important; margin: 0 0 2px !important;
  line-height: 1.3 !important; white-space: nowrap !important;
}
body.woocommerce-cart .bde-cart .sy-cart-phone .sy-cart-phone-num {
  display: block !important;
  font-size: 28px !important; line-height: 1.15 !important;
  white-space: nowrap !important;
}
body.woocommerce-cart .bde-cart .sy-cart-phone-note {
  min-width: 0 !important;
  font-size: 15px !important; line-height: 1.5 !important;
  border-left: 1px solid #C9CDF2 !important;
  padding-left: 28px !important;
  text-wrap: pretty;
}
/* stack cleanly when there is not room for two tracks */
@media (max-width: 900px) {
  body.woocommerce-cart .bde-cart .sy-cart-phone {
    grid-template-columns: 1fr !important;
    gap: 14px 0 !important;
  }
  body.woocommerce-cart .bde-cart .sy-cart-phone-note {
    border-left: 0 !important; padding-left: 0 !important;
    border-top: 1px solid #C9CDF2 !important; padding-top: 14px !important;
  }
}


/* ---- Cart totals: stop the labels wrapping ---- */
body.woocommerce-cart .bde-cart .cart_totals table {
  table-layout: fixed !important;
  width: 100% !important;
}
body.woocommerce-cart .bde-cart .cart_totals table th {
  width: 58% !important;
  padding: 12px 12px 12px 0 !important;
  vertical-align: middle !important;
  text-align: left !important;
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.35 !important;
}
body.woocommerce-cart .bde-cart .cart_totals table td {
  width: 42% !important;
  padding: 12px 0 !important;
  vertical-align: middle !important;
  text-align: right !important;
  white-space: nowrap !important;   /* keep every amount on one line */
}
/* the discount row carries the longest label; give it the room and keep it tidy */
body.woocommerce-cart .bde-cart .cart_totals tr.fee th {
  font-size: 16px !important;
  line-height: 1.3 !important;
  padding-right: 10px !important;
}
body.woocommerce-cart .bde-cart .cart_totals tr.fee td {
  font-size: 17px !important;
}
/* "Total to pay" must sit on one line beside the amount */
body.woocommerce-cart .bde-cart .cart_totals tr.order-total th,
body.woocommerce-cart .bde-cart .cart_totals tr.order-total th span {
  white-space: nowrap !important;
}
/* the shipping cell holds a paragraph and a link, so it must stay wrappable */
body.woocommerce-cart .bde-cart .cart_totals tr.woocommerce-shipping-totals td,
body.woocommerce-cart .bde-cart .cart_totals tr.shipping td {
  white-space: normal !important;
  text-align: left !important;
}
body.woocommerce-cart .bde-cart .cart_totals tr.woocommerce-shipping-totals th,
body.woocommerce-cart .bde-cart .cart_totals tr.shipping th {
  vertical-align: top !important;
  padding-top: 14px !important;
}

/* narrower panels: let the label column take more of the width */
@media (max-width: 1280px) {
  body.woocommerce-cart .bde-cart .cart_totals table th { width: 62% !important; font-size: 17px !important; }
  body.woocommerce-cart .bde-cart .cart_totals table td { width: 38% !important; }
  body.woocommerce-cart .bde-cart .cart_totals tr.fee th { font-size: 15px !important; }
}
