/**
 * PumpkinDP mobile cart layout v7
 * Clean vertical hierarchy for cart page and cart drawer.
 */

@media (max-width: 767px) {
  /* Cart page: remove WooCommerce's internal grid placement completely. */
  body.woocommerce-cart .wc-block-cart-items__row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    padding: 16px !important;
  }

  body.woocommerce-cart .wc-block-cart-items__row > td,
  body.woocommerce-cart .wc-block-cart-item__image,
  body.woocommerce-cart .wc-block-cart-item__product,
  body.woocommerce-cart .wc-block-cart-item__total {
    position: static !important;
    grid-area: auto !important;
    grid-row: auto !important;
    grid-column: auto !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    inset: auto !important;
    transform: none !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image {
    order: 1 !important;
    padding: 0 0 16px !important;
    text-align: center !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image a {
    display: inline-flex !important;
    width: 140px !important;
    max-width: 52vw !important;
    margin: 0 auto !important;
  }

  body.woocommerce-cart .wc-block-cart-item__image img {
    display: block !important;
    width: 140px !important;
    max-width: 52vw !important;
    height: auto !important;
    margin: 0 auto !important;
    border-radius: 13px !important;
    object-fit: contain !important;
  }

  body.woocommerce-cart .wc-block-cart-item__product {
    order: 2 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    overflow-wrap: anywhere;
    color: #111318 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.42 !important;
    text-align: left !important;
  }

  body.woocommerce-cart .wc-block-cart-item__prices {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    width: 100% !important;
    margin: 0 0 12px !important;
    color: #f47a1f !important;
    text-align: left !important;
  }

  body.woocommerce-cart .wc-block-components-product-badge {
    position: static !important;
    display: inline-flex !important;
    margin: 6px 0 0 !important;
  }

  body.woocommerce-cart .wc-block-cart-item__quantity {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-cart .wc-block-components-quantity-selector {
    width: 126px !important;
    margin: 0 !important;
  }

  /* Total is already represented in the product price; hide the overlapping duplicate. */
  body.woocommerce-cart .wc-block-cart-item__total {
    display: none !important;
  }

  /* Cart drawer: image first, then title, then quantity and price. */
  body .astra-cart-drawer .woocommerce-mini-cart-item,
  body .ast-site-header-cart .woocommerce-mini-cart-item,
  body .widget_shopping_cart_content .woocommerce-mini-cart-item {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0;
    padding: 18px 8px 18px !important;
    text-align: left !important;
  }

  body .astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove),
  body .ast-site-header-cart .woocommerce-mini-cart-item > a:not(.remove),
  body .widget_shopping_cart_content .woocommerce-mini-cart-item > a:not(.remove) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    padding: 0 34px 0 0 !important;
    color: #111318 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.42 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  body .astra-cart-drawer .woocommerce-mini-cart-item img,
  body .ast-site-header-cart .woocommerce-mini-cart-item img,
  body .widget_shopping_cart_content .woocommerce-mini-cart-item img {
    position: static !important;
    float: none !important;
    order: -1;
    display: block !important;
    width: 118px !important;
    max-width: 48vw !important;
    height: auto !important;
    margin: 0 auto 14px !important;
    border-radius: 12px;
    background: #f7f8fa;
    object-fit: contain;
  }

  body .astra-cart-drawer .woocommerce-mini-cart-item .quantity,
  body .ast-site-header-cart .woocommerce-mini-cart-item .quantity,
  body .widget_shopping_cart_content .woocommerce-mini-cart-item .quantity {
    display: block !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    color: #3f4854 !important;
    font-size: 15px !important;
    line-height: 1.4;
    text-align: left !important;
  }

  body .astra-cart-drawer .woocommerce-mini-cart-item .remove,
  body .ast-site-header-cart .woocommerce-mini-cart-item .remove,
  body .widget_shopping_cart_content .woocommerce-mini-cart-item .remove {
    position: absolute !important;
    z-index: 3;
    top: 16px !important;
    right: 6px !important;
    left: auto !important;
    margin: 0 !important;
  }

  body .astra-cart-drawer .woocommerce-mini-cart,
  body .ast-site-header-cart .woocommerce-mini-cart,
  body .widget_shopping_cart_content .woocommerce-mini-cart {
    padding-inline: 16px !important;
  }
}
