/* ==========================================================
   PRODUCTOS MÓVIL — CORRECCIÓN FINAL DE ANCHO
   El grid reparte el espacio. La tarjeta interna nunca vuelve
   a recibir 50% ni 25% dentro de su celda.
   ========================================================== */
@media screen and (max-width: 849px) {
  body.woocommerce-shop .shop-container .products.row,
  body.tax-product_cat .shop-container .products.row,
  body.post-type-archive-product .shop-container .products.row,
  body.woocommerce-shop .category-page-row .products.row,
  body.tax-product_cat .category-page-row .products.row,
  body.post-type-archive-product .category-page-row .products.row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: initial !important;
    align-content: start !important;
    align-items: stretch !important;
    column-gap: 10px !important;
    row-gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Columna exterior real de cada producto. */
  body.woocommerce-shop .products.row > .product,
  body.tax-product_cat .products.row > .product,
  body.post-type-archive-product .products.row > .product,
  body.woocommerce-shop .products.row > .product-small.col,
  body.tax-product_cat .products.row > .product-small.col,
  body.post-type-archive-product .products.row > .product-small.col {
    display: block !important;
    grid-column: auto !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    float: none !important;
    flex: none !important;
    flex-basis: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  /* Todos los wrappers internos ocupan la celda completa. */
  body.woocommerce-shop .products.row > .product > .col-inner,
  body.tax-product_cat .products.row > .product > .col-inner,
  body.post-type-archive-product .products.row > .product > .col-inner,
  body.woocommerce-shop .products.row > .product .product-small,
  body.tax-product_cat .products.row > .product .product-small,
  body.post-type-archive-product .products.row > .product .product-small,
  body.woocommerce-shop .products.row > .product .box,
  body.tax-product_cat .products.row > .product .box,
  body.post-type-archive-product .products.row > .product .box {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-basis: auto !important;
  }

  body.woocommerce-shop .products.row > .product .box,
  body.tax-product_cat .products.row > .product .box,
  body.post-type-archive-product .products.row > .product .box {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  body.woocommerce-shop .products.row > .product .box-image,
  body.tax-product_cat .products.row > .product .box-image,
  body.post-type-archive-product .products.row > .product .box-image,
  body.woocommerce-shop .products.row > .product .image-cover,
  body.tax-product_cat .products.row > .product .image-cover,
  body.post-type-archive-product .products.row > .product .image-cover {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }

  body.woocommerce-shop .products.row > .product .box-image img,
  body.tax-product_cat .products.row > .product .box-image img,
  body.post-type-archive-product .products.row > .product .box-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.woocommerce-shop .products.row > .product .box-text,
  body.tax-product_cat .products.row > .product .box-text,
  body.post-type-archive-product .products.row > .product .box-text {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 128px !important;
    padding: 12px 11px 7px !important;
    overflow: visible !important;
  }

  body.woocommerce-shop .products.row > .product .product-title,
  body.tax-product_cat .products.row > .product .product-title,
  body.post-type-archive-product .products.row > .product .product-title,
  body.woocommerce-shop .products.row > .product .product-title a,
  body.tax-product_cat .products.row > .product .product-title a,
  body.post-type-archive-product .products.row > .product .product-title a {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(14px, 4.2vw, 18px) !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  body.woocommerce-shop .products.row > .product .price,
  body.tax-product_cat .products.row > .product .price,
  body.post-type-archive-product .products.row > .product .price {
    font-size: clamp(20px, 6vw, 28px) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }

  body.woocommerce-shop .products.row > .product .emz-quick-cart,
  body.tax-product_cat .products.row > .product .emz-quick-cart,
  body.post-type-archive-product .products.row > .product .emz-quick-cart {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    min-width: 0 !important;
    margin: 3px 8px 9px !important;
    padding: 9px 5px !important;
    font-size: clamp(8px, 2.5vw, 11px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}
