/* v3.8.8: Horizontal product cards — actual WC loop DOM (img OR picture).
 * The old grid made the image/price span rows 1–5/1–3. Those large
 * intrinsic sizes were distributed among the title and description tracks;
 * picture replacements from an optimizer were left completely unassigned.
 * Keep both side columns out of grid track sizing, while text is in content rows.
 */
@media (min-width:721px) {
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product {
    position:relative!important;
    display:grid!important;
    grid-template-rows:repeat(4,max-content)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    align-items:start!important;
    row-gap:8px!important;
    height:auto!important;
    min-height:270px!important;
    overflow:hidden!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product > a.woocommerce-LoopProduct-link,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product > a.woocommerce-LoopProduct-link {
    display:contents!important;
  }
  /* Images no longer contribute their height to text grid tracks. */
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product > a.woocommerce-LoopProduct-link > :is(img,picture),
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product > a.woocommerce-LoopProduct-link > :is(img,picture) {
    position:absolute!important;
    left:12px!important;top:12px!important;
    width:var(--itdnapx-card-image-width,205px)!important;
    height:225px!important;min-height:0!important;max-height:225px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    overflow:hidden!important;box-sizing:border-box!important;
    padding:8px!important;margin:0!important;
    border:1px solid #e7edf5!important;border-radius:12px!important;
    background:#f8fafc!important;
    grid-column:auto!important;grid-row:auto!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product > a.woocommerce-LoopProduct-link > picture > img,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product > a.woocommerce-LoopProduct-link > picture > img {
    position:static!important;display:block!important;width:100%!important;
    height:100%!important;min-height:0!important;max-height:100%!important;
    object-fit:contain!important;aspect-ratio:auto!important;
    margin:0!important;padding:0!important;border:0!important;background:transparent!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .itdna-loop-badges,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .itdna-loop-badges,
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .itdnapx-loop-badges,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .itdnapx-loop-badges {
    grid-column:2!important;grid-row:1!important;align-self:start!important;
    margin:0!important;min-height:24px!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .woocommerce-loop-product__title,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .woocommerce-loop-product__title {
    grid-column:2!important;grid-row:2!important;align-self:start!important;
    margin:0!important;min-height:0!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .itdnapx-list-description,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .itdnapx-list-description {
    grid-column:2!important;grid-row:3!important;align-self:start!important;
    margin:0!important;padding:0!important;min-height:0!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .itdnapx-list-features,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .itdnapx-list-features {
    grid-column:2!important;grid-row:4!important;align-self:start!important;
    margin:2px 0 0!important;min-height:0!important;
  }
  /* Prevent the large price panel from expanding the title/description rows. */
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .price,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .price {
    position:absolute!important;
    right:12px!important;top:12px!important;
    width:var(--itdnapx-card-price-width,205px)!important;
    min-height:0!important;height:auto!important;
    max-height:none!important;
    align-self:start!important;justify-self:stretch!important;
    grid-column:auto!important;grid-row:auto!important;
    margin:0!important;
    justify-content:flex-start!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product > a.button,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product > a.button {
    position:absolute!important;right:12px!important;bottom:42px!important;
    width:var(--itdnapx-card-price-width,205px)!important;
    grid-column:auto!important;grid-row:auto!important;margin:0!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .itdnapx-list-details,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .itdnapx-list-details {
    position:absolute!important;right:12px!important;bottom:14px!important;
    width:var(--itdnapx-card-price-width,205px)!important;text-align:center!important;
    grid-column:auto!important;grid-row:auto!important;
    margin:0!important;
  }
}
@media (min-width:1181px) {
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product {
    --itdnapx-card-image-width:240px;
    --itdnapx-card-price-width:225px;
  }
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product {
    --itdnapx-card-image-width:205px;
    --itdnapx-card-price-width:205px;
  }
}
@media (min-width:981px) and (max-width:1180px) {
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product {
    --itdnapx-card-image-width:190px;--itdnapx-card-price-width:200px;
  }
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product {
    --itdnapx-card-image-width:165px;--itdnapx-card-price-width:180px;
  }
}
@media (min-width:901px) and (max-width:980px) {
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product {
    --itdnapx-card-image-width:165px;--itdnapx-card-price-width:180px;
  }
}
@media (min-width:721px) and (max-width:900px) {
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product {
    --itdnapx-card-image-width:155px;--itdnapx-card-price-width:175px;
  }
}
/* Ordinary shortcode/product loops use a two-column tablet layout; keep the
 * price and actions in normal content flow so they cannot overlap text. */
@media (min-width:721px) and (max-width:980px) {
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product {
    grid-template-rows:repeat(7,max-content)!important;
    --itdnapx-card-image-width:170px;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .price {
    position:static!important;grid-column:2!important;grid-row:5!important;
    width:100%!important;max-width:100%!important;
    margin:0!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product > a.button {
    position:static!important;grid-column:2!important;grid-row:6!important;
    width:100%!important;margin:0!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product .itdnapx-list-details {
    position:static!important;grid-column:2!important;grid-row:7!important;
    width:100%!important;margin:0!important;
  }
  /* Dedicated shop pages retain their 3-column price-side layout. */
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product {
    grid-template-rows:repeat(4,max-content)!important;
  }
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .price {
    position:absolute!important;grid-column:auto!important;grid-row:auto!important;
    width:var(--itdnapx-card-price-width,175px)!important;
  }
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product > a.button,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product .itdnapx-list-details {
    position:absolute!important;grid-column:auto!important;grid-row:auto!important;
    width:var(--itdnapx-card-price-width,175px)!important;
  }
}
/* On phones the theme uses flex columns; fix the optimizer's <picture> wrapper
 * to be the same aspect-ratio and order as an unwrapped product image. */
@media (max-width:720px) {
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product > a.woocommerce-LoopProduct-link > picture,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product > a.woocommerce-LoopProduct-link > picture {
    position:relative!important;display:flex!important;order:1!important;
    width:100%!important;height:auto!important;max-height:280px!important;
    min-height:0!important;aspect-ratio:4/3!important;
    align-items:center!important;justify-content:center!important;overflow:hidden!important;
    margin:0!important;padding:8px!important;box-sizing:border-box!important;
    border:1px solid #e7edf5!important;border-radius:12px!important;background:#f8fafc!important;
  }
  body.itdnapx-apex .woocommerce ul.products.itdnapx-horizontal-products > li.product > a.woocommerce-LoopProduct-link > picture > img,
  body.itdnapx-force-shop .itdnapx-shop-results ul.products > li.product > a.woocommerce-LoopProduct-link > picture > img {
    position:static!important;display:block!important;
    width:100%!important;height:100%!important;max-height:100%!important;
    min-height:0!important;object-fit:contain!important;aspect-ratio:auto!important;
    margin:0!important;padding:0!important;border:0!important;background:transparent!important;
  }
}
