/**
 * Digitnet product-card image-first global layout patch.
 * Scope: product card ordering only. No cart, checkout or WooCommerce logic changes.
 */
.product-card,
.dn-wc-product-card,
.dn-product-card,
.dn-na-card,
.dn-home-product-card,
.dn-v63-card {
  position: relative;
}

.product-card.dn-product-card-image-first,
.dn-wc-product-card.dn-product-card-image-first {
  display: flex;
  flex-direction: column;
}

.product-card > .dn-product-card-media,
.dn-wc-product-card > .dn-product-card-media,
.dn-product-card > img,
.dn-product-card > .img,
.dn-na-card > .dn-na-image,
.dn-home-product-card > .dn-home-product-img,
.dn-v63-card > .dn-v63-img {
  order: 1;
}

.product-card > .dn-product-card-content,
.dn-wc-product-card > .dn-product-card-content,
.dn-na-card > .dn-na-info,
.dn-v63-card > .dn-v63-info {
  order: 2;
}

.product-card .dn-product-card-media,
.dn-wc-product-card .dn-product-card-media {
  position: relative;
  width: 100%;
  display: block;
}

.product-card .dn-product-card-media .img,
.dn-wc-product-card .dn-product-card-media .img,
.product-card .dn-wc-product-image,
.dn-wc-product-card .dn-wc-product-image {
  margin-bottom: 11px;
}

.product-card .dn-product-card-content,
.dn-wc-product-card .dn-product-card-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}

.product-card .dn-wc-product-content-link,
.dn-wc-product-card .dn-wc-product-content-link {
  color: inherit;
  text-decoration: none;
}

.product-card .dn-wc-product-media-link,
.dn-wc-product-card .dn-wc-product-media-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.product-card .label,
.dn-wc-product-card .label,
.dn-product-card > .dn-badge,
.dn-product-card > .dn-wishlist {
  z-index: 5;
}

/* Static/mock department cards have badges/buttons before the image in markup;
   these rules keep the image visually first while preserving overlay controls. */
.dn-product-card {
  display: flex;
  flex-direction: column;
}
.dn-product-card > img { order: 1; }
.dn-product-card > h3 { order: 2; }
.dn-product-card > .dn-price { order: 3; }
.dn-product-card > .dn-cart-btn { order: 4; }
.dn-product-card > .dn-actions { order: 5; }

@media (max-width: 640px) {
  .product-card .dn-product-card-media .img,
  .dn-wc-product-card .dn-product-card-media .img {
    margin-bottom: 10px;
  }
}

/**
 * V3.0.4.2 safe extension: enforce image/media-first ordering for every
 * known homepage/shop product-card family, including JS-rendered carousels.
 * This is presentation-only and does not alter WooCommerce cart/checkout logic.
 */
.dn-recent-card,
.dn-featured-card,
.dn-showcase-card,
.dn-showcase-feature,
.dn-home-product-card,
.dn-child-card,
.dn-managed-product-card {
  display: flex;
  flex-direction: column;
}

.dn-recent-card > .dn-recent-img,
.dn-featured-card > .dn-featured-img,
.dn-showcase-card > .dn-showcase-img,
.dn-showcase-feature > .dn-feature-visual,
.dn-home-product-card > .dn-home-product-img,
.dn-child-card > .dn-child-img,
.dn-managed-product-card > .dn-managed-product-img,
.dn-managed-product-card > .dn-managed-product-image {
  order: 1;
}

.dn-recent-card > h3,
.dn-featured-card > h4,
.dn-showcase-card > h3,
.dn-showcase-feature > h3,
.dn-showcase-feature > p,
.dn-home-product-card > h3,
.dn-home-product-card > .dn-home-meta,
.dn-child-card > .dn-child-info,
.dn-managed-product-card > h3,
.dn-managed-product-card > .dn-managed-product-info,
.dn-managed-product-card > .dn-managed-product-content {
  order: 2;
}

.dn-recent-card > .dn-recent-price,
.dn-featured-card > .dn-featured-price,
.dn-showcase-card > .dn-showcase-price,
.dn-showcase-feature > .dn-feature-thumbs,
.dn-showcase-feature > .dn-showcase-price,
.dn-home-product-card > .dn-home-price,
.dn-child-card > .dn-child-price,
.dn-managed-product-card > .price,
.dn-managed-product-card > .dn-managed-product-price {
  order: 3;
}

.dn-recent-card > .dn-recent-actions,
.dn-featured-card > .dn-featured-actions,
.dn-showcase-card > .dn-showcase-actions,
.dn-showcase-feature > .dn-feature-add,
.dn-showcase-feature > .dn-showcase-actions,
.dn-home-product-card > .dn-home-actions,
.dn-child-card > .dn-child-actions,
.dn-managed-product-card > .dn-managed-product-actions {
  order: 4;
}

.dn-recent-card > .dn-recent-cart,
.dn-featured-card > .dn-cart-bubble,
.dn-showcase-card > .dn-cart-bubble,
.dn-showcase-feature > .dn-feature-add {
  z-index: 6;
}

.dn-recent-card > .dn-recent-img,
.dn-featured-card > .dn-featured-img,
.dn-showcase-card > .dn-showcase-img,
.dn-showcase-feature > .dn-feature-visual {
  margin-bottom: 10px;
}

.dn-recent-card > h3,
.dn-featured-card > h4,
.dn-showcase-card > h3,
.dn-showcase-feature > h3 {
  margin-top: 0;
}

/* Recently Added carousel originally had title before media in markup. Keep
   it visually consistent with Featured Products: image first, then content. */
.dn-recent-card {
  min-height: 250px;
}
.dn-recent-card > .dn-recent-img {
  order: 1;
}
.dn-recent-card > h3 {
  order: 2;
}
.dn-recent-card > .dn-recent-price {
  order: 3;
}
.dn-recent-card > .dn-recent-actions {
  order: 4;
}

/**
 * V3.0.4.2 safe extension: product-card title clamp.
 * Scope: visual title length only. Product names/data remain unchanged.
 */
.product-card h2,
.product-card h3,
.product-card h4,
.product-card .dn-product-title,
.dn-wc-product-card h2,
.dn-wc-product-card h3,
.dn-wc-product-card h4,
.dn-wc-product-card .woocommerce-loop-product__title,
.dn-product-card h2,
.dn-product-card h3,
.dn-product-card h4,
.dn-product-card .dn-product-title,
.compact h3,
.dn-recent-card h3,
.dn-featured-card h4,
.dn-showcase-card h3,
.dn-showcase-feature h3,
.dn-home-product-card h3,
.dn-child-card h3,
.dn-v63-card h3,
.dn-managed-product-card h3,
.dn-managed-product-title,
.dn-sp-rel h3,
.dn-special-offer .dn-offer-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-height: calc(1.35em * 2) !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.product-card h2 a,
.product-card h3 a,
.product-card h4 a,
.dn-wc-product-card h2 a,
.dn-wc-product-card h3 a,
.dn-wc-product-card h4 a,
.dn-product-card h2 a,
.dn-product-card h3 a,
.dn-product-card h4 a,
.compact h3 a,
.dn-recent-card h3 a,
.dn-featured-card h4 a,
.dn-showcase-card h3 a,
.dn-showcase-feature h3 a,
.dn-home-product-card h3 a,
.dn-child-card h3 a,
.dn-v63-card h3 a,
.dn-managed-product-card h3 a,
.dn-sp-rel h3 a {
  color: inherit;
  display: inline !important;
  text-decoration: none;
}

/**
 * V3.0.4.2.2 future-safe global product-card title clamp.
 * Purpose: any current or newly-created product block that uses the theme,
 * WooCommerce, data-product-title, or product/card naming convention will
 * inherit the same 2-line title behavior automatically.
 * Scope: card titles/headings only. Product names, URLs, cart and checkout
 * logic are not changed.
 */
.product-card h2,
.product-card h3,
.product-card h4,
.product-card .title,
.product-card .product-title,
.product-card .product-heading,
.product-card [class$="-title"],
.product-card [class$="-heading"],
.dn-wc-product-card h2,
.dn-wc-product-card h3,
.dn-wc-product-card h4,
.dn-wc-product-card .title,
.dn-wc-product-card .product-title,
.dn-wc-product-card .product-heading,
.dn-wc-product-card [class$="-title"],
.dn-wc-product-card [class$="-heading"],
.dn-product-card h2,
.dn-product-card h3,
.dn-product-card h4,
.dn-product-card .title,
.dn-product-card .product-title,
.dn-product-card .product-heading,
.dn-product-card [class$="-title"],
.dn-product-card [class$="-heading"],
[class*="product-card"] h2,
[class*="product-card"] h3,
[class*="product-card"] h4,
[class*="product-card"] .title,
[class*="product-card"] .product-title,
[class*="product-card"] .product-heading,
[class*="product-card"] [class$="-title"],
[class*="product-card"] [class$="-heading"],
[class*="product"][class*="card"] h2,
[class*="product"][class*="card"] h3,
[class*="product"][class*="card"] h4,
[class*="product"][class*="card"] .title,
[class*="product"][class*="card"] .product-title,
[class*="product"][class*="card"] .product-heading,
[class*="product"][class*="card"] [class$="-title"],
[class*="product"][class*="card"] [class$="-heading"],
[data-product-title] h2,
[data-product-title] h3,
[data-product-title] h4,
[data-product-title] .title,
[data-product-title] .product-title,
[data-product-title] .product-heading,
[data-product-title] [class$="-title"],
[data-product-title] [class$="-heading"],
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2,
ul.products li.product h3,
.products .product .woocommerce-loop-product__title,
.products .product h2,
.products .product h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-height: calc(1.35em * 2) !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.product-card h2 a,
.product-card h3 a,
.product-card h4 a,
.product-card .title a,
.product-card .product-title a,
.product-card .product-heading a,
.dn-wc-product-card h2 a,
.dn-wc-product-card h3 a,
.dn-wc-product-card h4 a,
.dn-wc-product-card .title a,
.dn-wc-product-card .product-title a,
.dn-wc-product-card .product-heading a,
.dn-product-card h2 a,
.dn-product-card h3 a,
.dn-product-card h4 a,
.dn-product-card .title a,
.dn-product-card .product-title a,
.dn-product-card .product-heading a,
[class*="product-card"] h2 a,
[class*="product-card"] h3 a,
[class*="product-card"] h4 a,
[class*="product-card"] .title a,
[class*="product-card"] .product-title a,
[class*="product-card"] .product-heading a,
[class*="product"][class*="card"] h2 a,
[class*="product"][class*="card"] h3 a,
[class*="product"][class*="card"] h4 a,
[class*="product"][class*="card"] .title a,
[class*="product"][class*="card"] .product-title a,
[class*="product"][class*="card"] .product-heading a,
[data-product-title] h2 a,
[data-product-title] h3 a,
[data-product-title] h4 a,
[data-product-title] .title a,
[data-product-title] .product-title a,
[data-product-title] .product-heading a,
ul.products li.product .woocommerce-loop-product__title a,
ul.products li.product h2 a,
ul.products li.product h3 a,
.products .product .woocommerce-loop-product__title a,
.products .product h2 a,
.products .product h3 a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product h2 a,
.woocommerce ul.products li.product h3 a {
  color: inherit;
  display: inline !important;
  text-decoration: none;
}

