/* MATERYA Cart Design v0.3.3 — exclusively scoped to a WooCommerce classic cart. */
body.mty-cart-modern.woocommerce-cart {
  --mty-cart-ink: #202020;
  --mty-cart-muted: #606060;
  --mty-cart-stroke: #dedbd4;
  --mty-cart-paper: #fff;
  --mty-cart-soft: #f7f7f7;
  --mty-cart-radius: 14px;
  --mty-cart-button: #1e1e1e;
  --mty-cart-button-hover: #060606;
  --mty-cart-photo-size: clamp(118px, 10vw, 142px);
}
body.mty-cart-modern.woocommerce-cart .mty-cart-preview-note {
  width: 100%; display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  box-sizing: border-box; margin: 0 0 24px; padding: 15px 18px;
  border: 1px solid #cfddec; border-radius: 10px; background: #eef6ff;
  color: #173a5e; font-size: 13px; line-height: 1.45;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-preview-note strong {font-weight: 750;}
body.mty-cart-modern.woocommerce-cart .mty-cart-preview-note a {margin-left: auto; color: #173a5e; font-weight: 700; text-decoration: underline;}
/* Theme layout. Keep WooCommerce's original forms, fragments, and shipping/payment integrations. */
@media (min-width: 981px) {
  body.mty-cart-modern.woocommerce-cart .mfn-be-cart .woocommerce:not(.mfn-cart-tmpl-builder):has(> form.woocommerce-cart-form),
  body.mty-cart-modern.woocommerce-cart .woocommerce:not(.mfn-cart-tmpl-builder):has(> form.woocommerce-cart-form) {
    display: flex !important; flex-wrap: wrap !important; align-items: flex-start; gap: 0 26px;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form {
    flex: 1 1 calc(62% - 13px) !important; width: calc(62% - 13px) !important;
    max-width: calc(62% - 13px) !important; min-width: 0 !important;
    margin: 0 !important; box-sizing: border-box;
  }
  body.mty-cart-modern.woocommerce-cart .cart-collaterals {
    flex: 1 1 calc(38% - 13px) !important; width: calc(38% - 13px) !important;
    max-width: calc(38% - 13px) !important; min-width: 0 !important;
    margin: 0 !important; float: none !important; box-sizing: border-box;
  }
}
body.mty-cart-modern.woocommerce-cart .woocommerce-notices-wrapper,
body.mty-cart-modern.woocommerce-cart .woocommerce-message,
body.mty-cart-modern.woocommerce-cart .woocommerce-error,
body.mty-cart-modern.woocommerce-cart .woocommerce-info {flex: 0 0 100%; width: 100%; box-sizing: border-box;}
body.mty-cart-modern.woocommerce-cart .woocommerce-message,
body.mty-cart-modern.woocommerce-cart .woocommerce-info {
  border-radius: 10px; font-size: 14px; font-weight: 600;
}
/* Product panel */
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form {
  background: var(--mty-cart-paper) !important; border: 1px solid var(--mty-cart-stroke) !important;
  border-radius: var(--mty-cart-radius) !important; padding: 23px 24px 17px !important;
  box-shadow: none !important;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table,
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.woocommerce-cart-form__contents {
  width: 100%; border: 0 !important; border-collapse: separate !important;
  border-spacing: 0; table-layout: auto !important; margin: 0 !important;
  background: transparent !important; box-shadow: none !important;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table th,
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table td {
  vertical-align: middle; box-sizing: border-box; min-width: 0;
  background: transparent !important; border-left: 0 !important; border-right: 0 !important;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table thead th {
  font-size: 12px !important; color: #646464 !important; font-weight: 750 !important;
  letter-spacing: .055em; text-transform: uppercase; line-height: 1.35;
  padding: 8px 9px 15px !important; border-bottom: 1px solid #eaeaea !important;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table td {
  padding: 20px 9px !important; border-top: 0 !important;
  border-bottom: 1px solid #ececec !important;
  font-size: 14px !important; color: var(--mty-cart-ink);
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-thumbnail {width: calc(var(--mty-cart-photo-size) + 12px) !important; min-width: var(--mty-cart-photo-size);}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-thumbnail img {
  display: block; box-sizing: border-box; width: var(--mty-cart-photo-size) !important; height: var(--mty-cart-photo-size) !important;
  max-width: 100%; object-fit: contain; border: 1px solid #e9e9e9; border-radius: 9px;
  background: #fff; padding: 5px; margin: 0 auto 0 0;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-name,
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-name a {
  font-size: 15px !important; font-weight: 700 !important; line-height: 1.5 !important;
  color: var(--mty-cart-ink) !important; overflow-wrap: break-word; word-break: normal;
  text-decoration: none;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-name a:hover {text-decoration: underline;}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-name .variation,
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-name .variation * {
  color: var(--mty-cart-muted); font-size: 12px; line-height: 1.45;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-price,
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-subtotal {white-space: nowrap; font-weight: 700; font-size: 14px !important;}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-quantity .quantity {
  display: inline-flex; align-items: center; justify-content: center; gap: 0;
  border: 1px solid #d8d8d8; border-radius: 9px; min-height: 43px;
  background: #fff; overflow: hidden;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-quantity input.qty {
  height: 42px !important; min-height: 42px !important; width: 42px !important;
  margin: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: #fff !important; color: #202020 !important; font-size: 15px !important;
  font-weight: 700 !important; text-align: center;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-quantity .quantity > .minus,
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-quantity .quantity > .plus {
  width: 32px; min-height: 42px; display: inline-flex; justify-content: center; align-items: center;
  color: #202020 !important; background: #fff !important; border: 0 !important;
  font-weight: 750; font-size: 18px; cursor: pointer;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-remove a.remove {
  color: #6c6c6c !important; border: 0 !important; background: transparent !important;
  opacity: .9; font-size: 25px !important; line-height: 1 !important;
  width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-remove a.remove:hover {color: #a12622 !important; opacity: 1;}
/* Coupon and Update cart share the original WooCommerce form. */
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions {
  padding: 23px 0 3px !important; border: 0 !important;
}
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
  display: inline-flex; align-items: stretch; gap: 9px; float: left;
  max-width: 100%; flex-wrap: wrap; margin: 0 12px 0 0;
}
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon label {font-weight: 700; font-size: 14px;}
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon input#coupon_code,
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions input.input-text {
  box-sizing: border-box; width: min(215px, 100%) !important; max-width: 100%;
  height: 45px !important; min-height: 45px !important; padding: 10px 13px !important;
  border: 1px solid #c8c8c8 !important; border-radius: 9px !important;
  background: #fff !important; color: #242424 !important; font-size: 14px !important;
  font-weight: 550 !important; box-shadow: none !important;
}
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .button,
body.mty-cart-modern.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 45px; height: auto; box-sizing: border-box; padding: 11px 19px !important;
  background: var(--mty-cart-button) !important; color: #fff !important;
  border: 1px solid var(--mty-cart-button) !important; border-radius: 9px !important;
  font-size: 14.5px !important; font-weight: 750 !important; letter-spacing: 0 !important;
  text-align: center; text-transform: none !important; text-decoration: none !important;
  box-shadow: none !important; transition: background .2s ease, border-color .2s ease;
}
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .button:hover,
body.mty-cart-modern.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button:hover {
  background: var(--mty-cart-button-hover) !important; border-color: var(--mty-cart-button-hover) !important;
}
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .button:disabled,
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .button:disabled:hover {opacity: .43; cursor: not-allowed;}
body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form :is(input,button,a):focus-visible,
body.mty-cart-modern.woocommerce-cart .cart-collaterals :is(input,button,a):focus-visible {
  outline: 3px solid #5b5b5b; outline-offset: 3px;
}
/* Suggested products come first, totals follow. Keep gateway containers and checkout flow original. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals {
  display: flex !important; flex-direction: column; align-items: stretch;
  padding: 0 !important; background: transparent !important;
  border: 0 !important; box-shadow: none !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals {
  order: 1; float: none !important; width: 100% !important; max-width: 100% !important;
  padding: 25px 25px 23px !important; margin: 16px 0 0 !important;
  border: 1px solid var(--mty-cart-stroke) !important; border-radius: var(--mty-cart-radius) !important;
  background: var(--mty-cart-soft) !important; box-sizing: border-box;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells {
  order: 0; float: none !important; width: 100% !important; max-width: 100% !important;
  padding: 19px 19px !important; margin: 0 !important;
  border: 1px solid var(--mty-cart-stroke) !important; border-radius: var(--mty-cart-radius) !important;
  background: #fff !important; box-sizing: border-box;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals h2 {
  font-size: clamp(21px,2vw,25px) !important; line-height: 1.25 !important;
  font-weight: 750 !important; text-align: left !important; color: #202020 !important;
  letter-spacing: -.02em; margin: 0 0 17px !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells > h2,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells h2:first-child {
  font-size: 17px !important; line-height: 1.35 !important; font-weight: 750 !important;
  text-align: left !important; color: #202020 !important; margin: 0 0 13px !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
  background: transparent !important; border: 0 !important; border-collapse: collapse !important;
  width: 100% !important; table-layout: auto !important; margin: 0 0 21px !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr th,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr td {
  border: 0 !important; border-bottom: 1px solid #e4e4e4 !important; background: transparent !important;
  vertical-align: top; padding: 14px 0 !important; font-size: 14px !important;
  line-height: 1.45; color: #343434;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr th {
  width: 34%; text-align: left !important; font-weight: 650 !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr td {
  text-align: right !important; font-weight: 650 !important; overflow-wrap: anywhere;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .order-total td,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
  color: #202020 !important; font-size: 20px !important; font-weight: 800 !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals tr.shipping td,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination {
  font-size: 13px !important; line-height: 1.5;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout {padding: 0 !important; margin: 15px 0 0 !important;}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout > a.checkout-button {
  width: 100% !important; min-height: 50px !important; font-size: 16px !important;
}
/* No overrides to the Apple Pay, Google Pay, Link, PayPal or other gateway-specific buttons. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products {
  display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px 11px; margin: 0 !important; padding: 0 !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product {
  width: 100% !important; min-width: 0; max-width: 100%; margin: 0 !important;
  float: none !important; text-align: left; padding: 0 !important;
  display: flex !important; flex-direction: column; align-items: stretch;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product img {
  display: block !important; aspect-ratio: 1 / 1; object-fit: contain;
  width: min(100%, 88px) !important; height: 88px !important;
  max-width: 100% !important; margin: 0 auto 8px !important;
  border: 1px solid #ececec; border-radius: 9px; background: #fff;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product .woocommerce-loop-product__title {
  font-size: 12.5px !important; line-height: 1.38 !important; font-weight: 700 !important;
  letter-spacing: 0 !important; color: #202020; overflow-wrap: break-word;
  display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
  line-clamp: 3; overflow: hidden; min-height: 52px; max-height: 52px;
  margin: 5px 0 6px !important; padding: 0 !important; text-align: left !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product .button:not(.added_to_cart) {
  border-radius: 8px !important; background: #202020 !important; color: white !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  font-size: 11.5px !important; font-weight: 750 !important; padding: 8px 7px !important;
  min-height: 36px; height: auto; line-height: 1.25 !important; text-transform: none !important;
  width: 100% !important; max-width: 100%; box-sizing: border-box; text-align: center;
}
/* Align suggested cards: small picture, predictable title height, then price/action. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product > a.woocommerce-LoopProduct-link,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product > a.woocommerce-loop-product__link {
  display: flex !important; flex: 1 1 auto; flex-direction: column; align-items: stretch;
  min-width: 0; text-decoration: none;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product .price {
  display: block !important; font-size: 12.5px !important; line-height: 1.4 !important;
  font-weight: 750 !important; margin: auto 0 9px !important; text-align: left !important;
  color: #323232 !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product .price del {
  font-size: 11px !important; color: #777 !important;
}
/* Hide ONLY product-promo flags inside cart suggestions, not prices or badges elsewhere. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells li.product :is(
  .onsale, .sale-flash, .sale-badge, .badge-sale, .onsale-badge,
  .product-badge, .product-badges, .product-label, .product-labels,
  .mfn-woo-product-badges, .mfn-woo-badge, .mfn-product-badge,
  .woocommerce-badge, .ribbon, .ribbon-wrapper, .badge
) { display: none !important; }
/* Original Woo cart form and its quantity/update buttons remain intact. Only
   suppress the original coupon if our equivalent form is actually rendered. */
body.mty-cart-modern.woocommerce-cart:has(.mty-cart-summary-coupon) .woocommerce-cart-form td.actions .coupon {
  display: none !important;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon {
  display: block !important; position: relative; width: 100% !important;
  margin: 0 0 14px !important; padding: 6px 0 14px !important;
  border-bottom: 1px solid #e3e3e3; background: transparent !important;
  box-sizing: border-box; float: none !important;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon label {
  display: block; margin: 0 0 9px !important; color: #303030 !important;
  font-size: 13px !important; line-height: 1.35; font-weight: 750 !important;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon .mty-cart-coupon-controls {
  display: flex; align-items: stretch; gap: 8px; width: 100%; min-width: 0;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon input.input-text {
  flex: 1 1 auto; width: 0 !important; min-width: 0 !important; max-width: none !important;
  height: 46px !important; min-height: 46px !important; padding: 9px 12px !important;
  border: 1px solid #bcbcbc !important; border-radius: 9px !important;
  background: #fff !important; color: #202020 !important;
  font-size: 14px !important; font-weight: 600 !important; box-shadow: none !important;
  box-sizing: border-box;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon button.button {
  display: inline-flex !important; align-items: center; justify-content: center;
  flex: 0 0 auto; min-height: 46px !important; padding: 10px 15px !important;
  border: 1px solid #202020 !important; border-radius: 9px !important;
  background: #202020 !important; color: #fff !important;
  font-size: 14px !important; font-weight: 750 !important; line-height: 1.3 !important;
  text-transform: none !important; cursor: pointer;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon button.button:hover,
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon button.button:focus-visible {
  background: #050505 !important; border-color: #050505 !important;
}
/* Tablet: avoid squeezing quantities or cart totals. */
@media (max-width: 980px) {
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form,
  body.mty-cart-modern.woocommerce-cart .cart-collaterals {
    flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important;
    margin-left: 0 !important; float: none !important;
  }
  body.mty-cart-modern.woocommerce-cart .cart-collaterals {margin-top: 22px !important;}
}
@media (min-width: 768px) and (max-width: 980px) {
  body.mty-cart-modern.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) {
    display: flex !important; flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form {
    padding: 12px 14px 15px !important;
  }
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals,
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells {
    padding: 20px 17px !important;
  }
  body.mty-cart-modern.woocommerce-cart { --mty-cart-photo-size: 68px; }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form .product-thumbnail img {
    width: 68px !important; height: 68px !important;
  }
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon {
    width: 100%; float: none; margin: 0 0 10px; display: flex; gap: 8px;
  }
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon input#coupon_code {
    flex: 1 1 170px !important; width: auto !important; min-width: 0;
  }
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon button {flex: 0 0 auto;}
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"] {
    display: flex !important; margin: 0 0 0 auto !important;
  }
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products {gap: 15px 10px;}
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .order-total td,
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .order-total th {font-size: 18px !important;}
}
@media (max-width: 390px) {
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon {flex-wrap: wrap;}
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon input#coupon_code,
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form td.actions .coupon .button {
    width: 100% !important; flex: 1 1 100% !important;
  }
}
/* Compact, readable classic-cart item cards on phones rather than six stacked rows. */
@media (max-width: 767px) {
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item {
    display: grid !important; position: relative;
    grid-template-columns: 76px minmax(0, 1fr);
    grid-template-areas: "thumb name" "thumb price" "qty subtotal";
    column-gap: 13px; row-gap: 0; padding: 11px 0 15px !important;
    margin: 0 !important; width: 100% !important; box-sizing: border-box;
    border-bottom: 1px solid #ececec !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td {
    display: block !important; float: none !important; box-sizing: border-box;
    width: auto !important; min-width: 0 !important; height: auto !important;
    border: 0 !important; margin: 0 !important; padding: 6px 0 !important;
    text-align: left !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td:before {
    content: none !important; display: none !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-remove {
    position: absolute !important; z-index: 2; right: -4px; top: 3px; padding: 0 !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-thumbnail {
    grid-area: thumb; align-self: start; padding-top: 9px !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-name {
    grid-area: name; padding-right: 28px !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-price {
    grid-area: price; font-size: 13px !important; color: #5e5e5e !important;
    padding-top: 2px !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-quantity {
    grid-area: qty; align-self: center; padding-top: 16px !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-subtotal {
    grid-area: subtotal; align-self: center; padding-top: 16px !important;
    text-align: right !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-name a {
    font-size: 14px !important; line-height: 1.45 !important;
  }
}
@media (max-width: 767px) {
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr:last-child:not(.cart_item) {
    border: 0 !important; background: transparent !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.actions,
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.actions:after {
    border: 0 !important; box-shadow: none !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.actions > button[name="update_cart"] {
    float: none !important; clear: both !important; margin: 0 0 0 auto !important;
  }
}

/* Compact cart suggestions on narrow screens, still two well-aligned cards. */
@media (max-width: 767px) {
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells {padding: 17px 15px !important;}
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products {gap: 12px 9px !important;}
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product img {
    width: min(100%, 74px) !important; height: 74px !important;
  }
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product .woocommerce-loop-product__title {
    font-size: 12px !important; min-height: 50px; max-height: 50px;
  }
}
@media (max-width: 400px) {
  body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon .mty-cart-coupon-controls {flex-wrap: wrap;}
  body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon input.input-text,
  body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon button.button {
    flex: 1 1 100% !important; width: 100% !important;
  }
}

/* ===== v0.3.0 — BeTheme desktop/mobile alignment fixes ===== */
/* Larger cart image: override nested links and BeTheme's default thumbnail caps. */
@media (min-width: 981px) {
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-thumbnail,
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form th.product-thumbnail {
    width: calc(var(--mty-cart-photo-size) + 12px) !important;
    min-width: calc(var(--mty-cart-photo-size) + 12px) !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-thumbnail > a {
    display: block !important; width: var(--mty-cart-photo-size) !important;
    max-width: none !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-thumbnail img {
    width: var(--mty-cart-photo-size) !important;
    min-width: var(--mty-cart-photo-size) !important;
    height: var(--mty-cart-photo-size) !important;
    max-width: none !important;
  }
  /* Use table columns rather than letting theme's product-name min-width win. */
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-name {min-width: 115px !important;}
}
/* BeTheme quantity input may otherwise be visually hidden between plus/minus. */
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-quantity .quantity {
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; width: auto !important;
  max-width: none !important; min-width: 104px !important;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-quantity .quantity input.qty:not([type="hidden"]) {
  display: inline-block !important; visibility: visible !important; opacity: 1 !important;
  position: static !important; float: none !important;
  flex: 0 0 38px !important; width: 38px !important; min-width: 38px !important;
  max-width: 38px !important; box-sizing: border-box !important;
  padding: 0 !important; margin: 0 !important;
  color: #202020 !important; -webkit-text-fill-color: #202020 !important;
  background: #fff !important; font-size: 16px !important;
  font-weight: 750 !important; text-indent: 0 !important; line-height: 42px !important;
  text-align: center !important; appearance: textfield !important;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-quantity .quantity input.qty::-webkit-inner-spin-button,
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-quantity .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none; margin: 0;
}
/* Force two recommendations on ONE row, regardless of BeTheme float, nth-child,
   clear, grid offsets or default card widths. Card content stretches evenly. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products {
  display: flex !important; flex-flow: row wrap !important;
  align-items: stretch !important; justify-content: flex-start !important;
  gap: 12px !important; width: 100% !important;
  max-width: 100% !important; box-sizing: border-box !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product {
  display: flex !important; flex-direction: column !important;
  align-items: stretch !important; justify-content: flex-start !important;
  flex: 0 0 calc((100% - 12px) / 2) !important;
  width: calc((100% - 12px) / 2) !important;
  max-width: calc((100% - 12px) / 2) !important; min-width: 0 !important;
  height: auto !important; margin: 0 !important;
  padding: 0 !important; float: none !important; clear: none !important;
  grid-area: auto !important; grid-column: auto !important; grid-row: auto !important;
  transform: none !important; left: auto !important; right: auto !important;
  top: auto !important; box-sizing: border-box !important;
  text-align: left !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product img {
  width: 80px !important; height: 80px !important;
  max-width: 100% !important; min-width: 0 !important;
  object-fit: contain !important; margin: 0 0 8px !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product :is(
  .woocommerce-loop-product__title, h2.woocommerce-loop-product__title,
  h3, h4, .desc .title, .product-title
) {
  color: #202020 !important; text-align: left !important;
  font-size: 12.5px !important; line-height: 1.35 !important;
  font-weight: 700 !important; letter-spacing: 0 !important;
  text-transform: none !important; word-break: normal !important;
  overflow-wrap: anywhere !important; padding: 0 !important;
  margin: 4px 0 7px !important;
  display: -webkit-box !important; -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden !important;
  min-height: 0 !important; max-height: calc(1.35em * 4) !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product > a.button,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product .button:not(.added_to_cart) {
  margin-top: auto !important; width: 100% !important;
  max-width: 100% !important;
}
/* Coupon is mounted as sibling of the native payment/checkout wrapper, never
   inside a theme hook; AJAX rerender of cart totals is covered by JS. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals > .mty-cart-summary-coupon {
  clear: both !important; width: 100% !important;
  margin: 0 0 18px !important; padding: 3px 0 17px !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals > .mty-cart-summary-coupon .mty-cart-coupon-controls {
  width: 100% !important; display: flex !important;
}
/* Mobile: all panels share exactly the same container width, border box and
   horizontal edge alignment; Woo's responsive table may be wider otherwise. */
@media (max-width: 767px) {
  body.mty-cart-modern.woocommerce-cart .woocommerce:not(.mfn-cart-tmpl-builder),
  body.mty-cart-modern.woocommerce-cart .woocommerce-cart-form,
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form,
  body.mty-cart-modern.woocommerce-cart .cart-collaterals,
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals,
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells {
    width: 100% !important; min-width: 0 !important; max-width: 100% !important;
    margin-left: 0 !important; margin-right: 0 !important;
    box-sizing: border-box !important; float: none !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form {
    padding: 13px 13px 14px !important; overflow: visible !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table {
    width: 100% !important; max-width: 100% !important;
    min-width: 0 !important; display: block !important;
    box-sizing: border-box !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table thead {display: none !important;}
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody {
    display: block !important; width: 100% !important; max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item {
    width: 100% !important; min-width: 0 !important;
    grid-template-columns: 78px minmax(0,1fr) !important;
    grid-template-areas: "thumb name" "thumb price" "qty subtotal" !important;
    gap: 0 11px !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-quantity {
    grid-column: 1 / 3 !important; grid-row: 3 !important;
    justify-self: start !important; padding-top: 13px !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr.cart_item > td.product-subtotal {
    grid-column: 2 !important; grid-row: 3 !important;
    justify-self: end !important; text-align: right !important;
    padding-top: 22px !important; white-space: nowrap !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr:not(.cart_item) {
    width: 100% !important; max-width: 100% !important;
    display: block !important; box-sizing: border-box !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.actions {
    display: block !important; width: 100% !important;
    max-width: 100% !important; box-sizing: border-box !important;
  }
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product img {
    width: 68px !important; height: 68px !important;
  }
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product :is(
    .woocommerce-loop-product__title, h2.woocommerce-loop-product__title, h3, h4,
    .desc .title, .product-title
  ) {font-size: 12px !important;}
}

/* Match title heights so prices and action buttons line up in both cards. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product :is(
  .woocommerce-loop-product__title, h2.woocommerce-loop-product__title,
  h3, h4, .desc .title, .product-title
) {
  min-height: calc(1.35em * 4) !important;
  max-height: calc(1.35em * 4) !important;
}
@media (max-width: 767px) {
  /* Use almost the entire phone width instead of inheriting BeTheme's 20+px sides. */
  body.mty-cart-modern.woocommerce-cart .woocommerce:not(.mfn-cart-tmpl-builder):has(> form.woocommerce-cart-form) {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw + 12px) !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  /* When the theme floats Update Cart, its button may extend past the box. */
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.actions {
    display: flex !important; flex-flow: row wrap !important;
    align-items: center !important; justify-content: flex-end !important;
    min-height: 64px !important; padding: 12px 0 7px !important;
  }
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.actions > button.update-cart,
  body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody td.actions > button[name="update_cart"] {
    float: none !important; position: static !important;
    clear: both !important; margin: 0 0 0 auto !important;
    width: auto !important; max-width: 100% !important;
  }
}


/* === v0.3.1: stable two-up recommendations and truly centered quantity ===
   WooCommerce/BeTheme generate :before and :after clearing elements on
   ul.products. As flex/grid items these can steal a column or force wrapping.
   Restrict the reset to recommended products on the MATERYA cart only. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products::before,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products::after {
  content: none !important; display: none !important; position: static !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products.mty-cart-suggestions-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: auto !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  align-content: start !important;
  column-gap: 12px !important;
  row-gap: 13px !important;
  list-style: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.mty-cart-suggestion {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  grid-area: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: stretch !important;
  flex: none !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
  float: none !important;
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}
/* BeTheme often nests card contents in .desc rather than Woo's standard link. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product > :is(.desc, .product-desc, .product-wrapper, .desc-wrapper),
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product > a.woocommerce-LoopProduct-link,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product > a.woocommerce-loop-product__link {
  display: flex !important; flex-direction: column !important;
  align-items: stretch !important; flex: 1 1 auto !important;
  min-width: 0 !important; width: 100% !important;
  text-align: left !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product .desc :is(.price, .product-price),
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product .price {
  margin-top: auto !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product :is(.button, a.button, .add_to_cart_button) {
  margin-top: auto !important;
  align-self: stretch !important;
}
/* Hide rating stars and review counts ONLY inside cart recommendations. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells li.product :is(
  .star-rating, .star-rating-wrap, .star-rating-wrapper,
  .woocommerce-product-rating, .woocommerce-review-link,
  .product-rating, .rating, .ratings, .rating-wrapper,
  .review-count, .reviews-count, .review-link, .reviews-link,
  .mfn-rating, .mfn-star-rating, .mfn-stars, .mfn-woo-rating,
  .stars, .product-reviews
) { display: none !important; }
/* Equal footprint for different product title lengths (max four lines). */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product :is(
  .woocommerce-loop-product__title, h2.woocommerce-loop-product__title,
  h3, h4, .desc .title, .product-title
) {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  min-height: calc(4 * 1.35em) !important;
  max-height: calc(4 * 1.35em) !important;
  box-sizing: border-box !important;
}
/* Equalize plus, input and minus by centering them within three fixed cells.
   Avoid previous line-height:42px, which raised input text in BeTheme. */
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-quantity .quantity {
  display: inline-grid !important;
  grid-template-columns: 34px 38px 34px !important;
  grid-auto-flow: column !important;
  align-items: center !important;
  justify-items: center !important;
  justify-content: center !important;
  min-width: 106px !important;
  width: 106px !important;
  min-height: 44px !important;
  height: 44px !important;
  line-height: normal !important;
  padding: 0 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-quantity .quantity > :is(.minus,.plus) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  justify-self: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  font-size: 17px !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
}
body.mty-cart-modern.woocommerce-cart form.woocommerce-cart-form td.product-quantity .quantity > input.qty:not([type="hidden"]) {
  display: block !important;
  align-self: center !important;
  justify-self: center !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  line-height: normal !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: middle !important;
  text-align: center !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
}
@media (max-width: 767px) {
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products {
    column-gap: 10px !important; row-gap: 12px !important;
  }
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cross-sells ul.products > li.product :is(
    .woocommerce-loop-product__title, h2.woocommerce-loop-product__title,
    h3, h4, .desc .title, .product-title
  ) { font-size: 11.5px !important; }
}


/* v0.3.2: coupon alignment + express area OR divider */
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon .mty-cart-coupon-controls {
  align-items: stretch !important;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon input.input-text,
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon button.button {
  margin: 0 !important;
  vertical-align: top !important;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon button.button {
  align-self: stretch !important;
  height: 46px !important;
  min-height: 46px !important;
  line-height: 1 !important;
  min-width: 96px !important;
  white-space: nowrap !important;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-or-divider {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 16px 0 14px !important;
  color: #696969 !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-sizing: border-box !important;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-or-divider::before,
body.mty-cart-modern.woocommerce-cart .mty-cart-or-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #d8d8d8;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-or-divider > span {
  flex: 0 0 auto;
  display: inline-block;
}
body.mty-cart-modern.woocommerce-cart .mty-cart-express-heading,
body.mty-cart-modern.woocommerce-cart .mty-cart-express-area .mty-cart-express-heading {
  display: none !important;
}
@media (max-width: 767px) {
  body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon .mty-cart-coupon-controls {
    align-items: stretch !important;
  }
  body.mty-cart-modern.woocommerce-cart .mty-cart-summary-coupon button.button {
    width: 100% !important;
    min-width: 0 !important;
  }
  body.mty-cart-modern.woocommerce-cart .mty-cart-or-divider {
    margin: 14px 0 12px !important;
  }
}


/* v0.3.3 — Hide the redundant tax-included breakdown below cart TOTAL only.
   The VAT itself stays included in WooCommerce totals, tax records, invoices,
   and on the checkout. Do not hide the subtotal price or VAT elsewhere. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td small.includes_tax,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td .includes_tax,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .order-total .includes_tax {
  display: none !important;
}

/* The existing Express heading becomes the OR separator, with no interference
   with payment buttons or gateway-injected payment UIs. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .mty-cart-or-divider {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 18px 0 14px !important;
  padding: 0 !important;
  color: #727272 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .075em !important;
  text-align: center !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .mty-cart-or-divider:before,
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals .mty-cart-or-divider:after {
  content: "" !important;
  display: block !important;
  flex: 1 1 auto;
  height: 1px;
  background-color: #d5d5d5;
}


/* v0.3.4 — Prevent coupon compression in narrow desktop windows and on phones.
   CSS-only fix. Preserve the native WooCommerce coupon POST and checkout gateways.
   The grid explicitly gives the input the flexible cell and Apply a fixed cell,
   instead of relying on theme-overridden flex basis/width rules. */
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals form.mty-cart-summary-coupon .mty-cart-coupon-controls {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 100px !important;
  align-items: stretch !important;
  column-gap: 8px !important;
  row-gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals form.mty-cart-summary-coupon .mty-cart-coupon-controls > input.input-text {
  display: block !important;
  grid-column: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  box-sizing: border-box !important;
  flex: none !important;
}
body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals form.mty-cart-summary-coupon .mty-cart-coupon-controls > button[name="apply_coupon"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  grid-column: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  flex: none !important;
}
/* When the screen truly cannot fit both useful controls, stack them instead
   of collapsing the coupon input to a few pixels. Applies regardless of device. */
@media (max-width: 420px) {
  body.mty-cart-modern.woocommerce-cart .cart-collaterals .cart_totals form.mty-cart-summary-coupon .mty-cart-coupon-controls {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
