/* ACSD - Mobile fixes: menu add-to-cart + checkout */
@media (max-width: 767px) {
  /* ACSD - Menu: size + qty on one row, add-to-cart button full width below */
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart form.cart { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart .single_variation_wrap,
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart .woocommerce-variation-add-to-cart { display: contents !important; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart table.variations { flex: 1 1 0; min-width: 0; max-width: none !important; width: auto !important; display: block; margin: 0 !important; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart table.variations tbody,
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart table.variations tr,
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart table.variations td.value { display: block; width: 100%; padding: 0 !important; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart table.variations select { width: 100% !important; height: 44px; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart .quantity { margin: 0 !important; flex: 0 0 auto; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart .quantity .qty { width: 64px !important; height: 44px !important; max-height: none !important; border-radius: 200px !important; text-align: center; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart .single_variation { order: 1; flex: 1 1 100%; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart .single_variation:empty { display: none; }
  .jet-listing-grid .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button { order: 2; flex: 1 1 100%; width: 100%; margin: 0 !important; }

  /* ACSD - Checkout: order review */
  .woocommerce-checkout table.shop_table { border: 1px solid #E6E6E6 !important; border-radius: 16px; border-collapse: separate !important; border-spacing: 0; overflow: hidden !important; }
  .woocommerce-checkout table.shop_table thead th { background: #F6F6F6; font-size: 13px !important; text-transform: uppercase; letter-spacing: .04em; color: #7D7D7D; }
  .woocommerce-checkout table.shop_table tbody .cart_item td { border-bottom: 1px solid #EFEFEF !important; vertical-align: top; }
  .woocommerce-checkout table.shop_table .product-name { line-height: 1.35; }
  .woocommerce-checkout table.shop_table .product-name .product-quantity { color: #7D7D7D; font-weight: 400; }
  .woocommerce-checkout table.shop_table .product-name dl,
  .woocommerce-checkout table.shop_table .product-name .tc-epo-metadata,
  .woocommerce-checkout table.shop_table .product-name .tm-cart-edit-options { font-size: 13px !important; color: #7D7D7D; margin: 4px 0 0; }
  .woocommerce-checkout table.shop_table tfoot th,
  .woocommerce-checkout table.shop_table tfoot td { padding-top: 8px !important; padding-bottom: 8px !important; font-size: 15px !important; }
  .woocommerce-checkout table.shop_table tfoot tr.woocommerce-shipping-totals td { white-space: normal !important; font-size: 13px !important; color: #7D7D7D; line-height: 1.35; }
  .woocommerce-checkout table.shop_table tfoot tr.order-total th,
  .woocommerce-checkout table.shop_table tfoot tr.order-total td { border-top: 1px solid #E6E6E6 !important; padding-top: 14px !important; padding-bottom: 14px !important; font-size: 18px !important; font-weight: 700 !important; color: #020000; }

  /* ACSD - Checkout: payment methods as cards */
  #payment ul.payment_methods { padding: 0 !important; margin: 24px 0 16px !important; border: 0 !important; }
  #payment ul.payment_methods li.wc_payment_method { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 14px 16px !important; margin: 0 0 10px !important; border: 1px solid #E6E6E6; border-radius: 16px; list-style: none; }
  #payment ul.payment_methods li.wc_payment_method:has(> input:checked) { border-color: #E21210; }
  #payment ul.payment_methods li.wc_payment_method > input { margin: 0 !important; flex: 0 0 auto; width: 18px; height: 18px; accent-color: #E21210; }
  #payment ul.payment_methods li.wc_payment_method > label { flex: 1 1 0; min-width: 0; width: auto !important; margin: 0 !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; line-height: 1.3; }
  #payment ul.payment_methods li.wc_payment_method > label img { margin: 0 !important; max-height: 24px; width: auto; }
  #payment ul.payment_methods li.wc_payment_method > .payment_box { flex: 1 1 100%; margin: 4px 0 0 !important; border-radius: 12px; }
  #payment ul.payment_methods li.wc_payment_method > .payment_box::before { display: none !important; }
}
