/* ==========================================================
   Digitnet Unified Product Block Styling - v47
   Purpose: one global visual layer for product blocks/cards across
   homepage, WooCommerce loops, managed blocks, recently added,
   featured products, related products and future product sections.
   Scope: CSS only. WooCommerce/data logic remains untouched.
   ========================================================== */
:root{
  --dn-card-brand:#ff3c20;
  --dn-card-brand-hover:#e7341b;
  --dn-card-ink:#07162d;
  --dn-card-text:#34445c;
  --dn-card-muted:#64748b;
  --dn-card-line:#e5ebf4;
  --dn-card-soft:#f8fafc;
  --dn-card-bg:#ffffff;
  --dn-card-radius:16px;
  --dn-card-media-radius:13px;
  --dn-card-title-size:13px;
  --dn-card-title-weight:760;
  --dn-card-price-size:16px;
  --dn-card-price-weight:560;
  --dn-card-chip-size:10.5px;
  --dn-card-shadow-hover:0 14px 30px rgba(15,23,42,.09);
}

/* Global section-title system for product/solution blocks */
body:not(.wp-admin) :is(
  .section-title,
  .dn-managed-section-title,
  .related.products > h2,
  .upsells.products > h2,
  .cross-sells > h2,
  .woocommerce-products-header
){
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  font-family:inherit!important;
}

body:not(.wp-admin) :is(
  .section-title h2,
  .dn-managed-section-title h2,
  .related.products > h2,
  .upsells.products > h2,
  .cross-sells > h2,
  .woocommerce-products-header__title
){
  margin:0!important;
  color:var(--dn-card-ink)!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
  font-family:inherit!important;
}

body:not(.wp-admin) :is(
  .section-title h2,
  .dn-managed-section-title h2,
  .related.products > h2,
  .upsells.products > h2,
  .cross-sells > h2,
  .woocommerce-products-header__title
)::after{
  content:""!important;
  display:block!important;
  width:44px!important;
  height:3px!important;
  margin-top:8px!important;
  border-radius:999px!important;
  background:var(--dn-card-brand)!important;
}

body:not(.wp-admin) :is(.section-title .view,.section-title a,.dn-managed-section-title a){
  color:#0b4aa2!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}

/* One product-card surface used by all theme and WooCommerce product blocks. */
body:not(.wp-admin) :is(
  .woocommerce ul.products li.product,
  .woocommerce .products .product,
  .dn-wc-product-card,
  .product-card,
  .dn-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact
){
  box-sizing:border-box!important;
  background:var(--dn-card-bg)!important;
  border:1px solid var(--dn-card-line)!important;
  border-radius:var(--dn-card-radius)!important;
  color:var(--dn-card-text)!important;
  font-family:inherit!important;
  overflow:hidden!important;
  padding:0!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  height:100%!important;
  box-shadow:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}

body:not(.wp-admin) :is(
  .woocommerce ul.products li.product,
  .woocommerce .products .product,
  .dn-wc-product-card,
  .product-card,
  .dn-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact
):hover{
  transform:translateY(-2px)!important;
  border-color:rgba(255,60,32,.26)!important;
  box-shadow:var(--dn-card-shadow-hover)!important;
}

/* Card media: same image box treatment across all product blocks. */
body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(
  .dn-media,
  .dn-product-card-media,
  .dn-managed-product-media,
  .dn-image-box,
  .img,
  .dn-na-image,
  .dn-recent-img,
  .dn-featured-img,
  .dn-showcase-img,
  .dn-home-img,
  .dn-child-img,
  .dn-v63-img
){
  box-sizing:border-box!important;
  order:1!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(
  .dn-media,
  .dn-product-card-media,
  .dn-managed-product-media
){
  width:100%!important;
  padding:10px!important;
  background:var(--dn-card-soft)!important;
  position:relative!important;
  display:block!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(
  .dn-image-box,
  .img,
  .dn-managed-product-img,
  .dn-na-image,
  .dn-recent-img,
  .dn-featured-img,
  .dn-showcase-img,
  .dn-home-img,
  .dn-child-img,
  .dn-v63-img
){
  width:100%!important;
  min-height:0!important;
  aspect-ratio:1/.78!important;
  border-radius:var(--dn-card-media-radius)!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  margin:0!important;
  color:inherit!important;
  text-decoration:none!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(
  .dn-image-box img,
  .img img,
  .dn-managed-product-img img,
  .dn-na-image img,
  .dn-recent-img img,
  .dn-featured-img img,
  .dn-showcase-img img,
  .dn-home-img img,
  .dn-child-img img,
  .dn-v63-img img,
  img
){
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  padding:8px!important;
  display:block!important;
  margin:0!important;
  box-sizing:border-box!important;
}

body:not(.wp-admin) :is(.dn-recent-img,.dn-featured-img,.dn-showcase-img,.dn-home-img,.dn-child-img,.dn-v63-img) span{
  font-size:46px!important;
  line-height:1!important;
}

/* Direct-child order for older JS/static cards that do not have a body wrapper. */
body:not(.wp-admin) :is(.dn-recent-card,.dn-featured-card,.dn-showcase-card,.dn-home-product-card,.dn-child-card,.dn-v63-card) > :is(.dn-recent-img,.dn-featured-img,.dn-showcase-img,.dn-home-img,.dn-child-img,.dn-v63-img){order:1!important;margin:10px 10px 0!important;}
body:not(.wp-admin) :is(.dn-recent-card,.dn-featured-card,.dn-showcase-card,.dn-home-product-card,.dn-child-card,.dn-v63-card) > :is(h2,h3,h4,.dn-title,.dn-product-title){order:2!important;margin:11px 12px 8px!important;}
body:not(.wp-admin) :is(.dn-recent-card,.dn-featured-card,.dn-showcase-card,.dn-home-product-card,.dn-child-card,.dn-v63-card) > :is(.dn-recent-price,.dn-featured-price,.dn-showcase-price,.dn-home-price,.dn-child-price,.dn-v63-price,.price){order:4!important;margin:0 12px 10px!important;}
body:not(.wp-admin) :is(.dn-recent-card,.dn-featured-card,.dn-showcase-card,.dn-home-product-card,.dn-child-card,.dn-v63-card) > :is(.dn-recent-actions,.dn-featured-actions,.dn-showcase-actions,.dn-home-actions,.dn-child-actions,.dn-v63-actions){order:6!important;margin:8px 12px 12px!important;}

/* Card content and typography. */
body:not(.wp-admin) :is(
  .dn-product-card-content,
  .dn-wc-product-content,
  .dn-card-body,
  .dn-managed-product-body,
  .dn-na-info,
  .dn-child-info,
  .dn-home-info,
  .dn-v63-info,
  .compact > div
){
  order:2!important;
  padding:11px 12px 13px!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  color:var(--dn-card-text)!important;
  font-family:inherit!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(
  h2,
  h3,
  h4,
  .dn-title,
  .dn-product-title,
  .woocommerce-loop-product__title
){
  color:var(--dn-card-ink)!important;
  font-size:var(--dn-card-title-size)!important;
  line-height:1.35!important;
  font-weight:var(--dn-card-title-weight)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  min-height:36px!important;
  margin:0 0 9px!important;
  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;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  font-family:inherit!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(h2 a,h3 a,h4 a,.dn-title a,.dn-product-title a,.woocommerce-loop-product__title a,.dn-wc-product-content-link){
  color:inherit!important;
  text-decoration:none!important;
  font-family:inherit!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact
) :is(h2 a,h3 a,h4 a,.dn-title a,.dn-product-title a):hover{color:var(--dn-card-brand)!important;}

/* Meta chips stay identical across all product cards. */
body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact
) :is(.dn-meta,.info,.dn-na-meta){
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin:0 0 10px!important;
  min-height:0!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact
) :is(.dn-chip,.chip,.dn-na-meta span){
  min-height:22px!important;
  padding:0 7px!important;
  border:0!important;
  border-radius:999px!important;
  font-size:var(--dn-card-chip-size)!important;
  line-height:1!important;
  font-weight:800!important;
  display:inline-flex!important;
  align-items:center!important;
  color:#536985!important;
  background:#f3f6fb!important;
  white-space:nowrap!important;
  font-family:inherit!important;
}
body:not(.wp-admin) :is(.dn-chip.moq,.chip.moq){background:#fff3eb!important;color:#c2410c!important;}
body:not(.wp-admin) :is(.dn-chip.standard,.chip.standard){background:#edf4ff!important;color:#1d5ee9!important;}

/* Unified price row and cart action. */
body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(.dn-buy-row-icon,.dn-card-buy-row,.dn-product-buy-row){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  gap:9px!important;
  align-items:center!important;
  margin-top:auto!important;
  width:100%!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(
  .price,
  .dn-price-block,
  .dn-current-price,
  .dn-featured-price,
  .dn-recent-price,
  .dn-showcase-price,
  .dn-managed-price,
  .dn-na-price,
  .dn-home-price,
  .dn-child-price,
  .dn-v63-price,
  .woocommerce-Price-amount
){
  color:var(--dn-price-color,var(--dn-card-brand))!important;
  font-size:var(--dn-price-card-size,var(--dn-card-price-size))!important;
  line-height:1.12!important;
  font-weight:var(--dn-price-weight,var(--dn-card-price-weight))!important;
  letter-spacing:-.012em!important;
  font-family:inherit!important;
}

body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact,
  .woocommerce ul.products li.product,
  .woocommerce .products .product
) :is(.price *,.dn-price-block *,.dn-current-price *,.woocommerce-Price-amount *,.woocommerce-Price-currencySymbol){font-weight:inherit!important;}

body:not(.wp-admin) :is(.dn-old-price, .price del){
  color:#98a2b3!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:400!important;
  opacity:.78!important;
}

body:not(.wp-admin) :is(
  .dn-icon-cart-btn,
  .dn-cart-bubble,
  .dn-recent-cart,
  .dn-feature-add,
  .dn-na-add,
  .woocommerce ul.products li.product .button,
  .woocommerce .products .product .button
){
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  border:1px solid var(--dn-card-brand)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:var(--dn-card-brand)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  font-size:0!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease!important;
}
body:not(.wp-admin) :is(.dn-icon-cart-btn,.dn-cart-bubble,.dn-recent-cart,.dn-feature-add,.dn-na-add,.woocommerce ul.products li.product .button,.woocommerce .products .product .button):hover{
  background:var(--dn-card-brand)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
body:not(.wp-admin) :is(.dn-icon-cart-btn,.dn-cart-bubble,.dn-recent-cart,.dn-feature-add,.dn-na-add) svg{width:18px!important;height:18px!important;display:block!important;}

/* Footer/warranty/action notes match across every product card. */
body:not(.wp-admin) :is(
  .product-card,
  .dn-wc-product-card,
  .dn-managed-product-card,
  .dn-na-card,
  .dn-recent-card,
  .dn-featured-card,
  .dn-showcase-card,
  .dn-home-product-card,
  .dn-child-card,
  .dn-v63-card,
  .dn-sp-rel,
  .compact
) :is(.dn-footer-note,.dn-managed-product-actions,.dn-featured-actions,.dn-recent-actions,.dn-showcase-actions,.dn-home-actions,.dn-child-actions,.dn-v63-actions,.card-actions){
  color:var(--dn-card-muted)!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:700!important;
  font-family:inherit!important;
}
body:not(.wp-admin) :is(.dn-footer-note){
  margin-top:9px!important;
  padding-top:8px!important;
  border-top:1px solid var(--dn-card-line)!important;
}

/* Review rows: only style real rows; creation/removal remains handled by PHP/guard. */
body:not(.wp-admin) :is(.dn-review-row,.star-rating){
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}

@media(max-width:620px){
  :root{--dn-card-title-size:12.5px;--dn-card-price-size:15px;}
  body:not(.wp-admin) :is(.section-title h2,.dn-managed-section-title h2){font-size:16px!important;}
  body:not(.wp-admin) :is(.dn-icon-cart-btn,.dn-cart-bubble,.dn-recent-cart,.dn-feature-add,.dn-na-add,.woocommerce ul.products li.product .button){width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;}
}

/* ==========================================================
   v51 Safe Recently Added title structure match
   Purpose: use the same heading row as other homepage product blocks
   without broad archive/WooCommerce heading selectors.
   ========================================================== */
body:not(.wp-admin) #dnRecentlyAdded.dn-recently-added{
  position:relative!important;
  background:transparent!important;
  border-top:0!important;
  border-bottom:0!important;
  padding:0 0 18px!important;
  overflow:visible!important;
}

body:not(.wp-admin) #dnRecentlyAdded > .dn-recent-section-title.section-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:0!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:inherit!important;
}

body:not(.wp-admin) #dnRecentlyAdded > .dn-recent-section-title.section-title h2{
  margin:0!important;
  padding:0!important;
  color:var(--dn-card-ink,#07162d)!important;
  font-family:inherit!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
}

body:not(.wp-admin) #dnRecentlyAdded > .dn-recent-section-title.section-title h2::after{
  content:""!important;
  display:block!important;
  width:44px!important;
  height:3px!important;
  margin-top:8px!important;
  border-radius:999px!important;
  background:var(--dn-card-brand,#ff3c20)!important;
}

body:not(.wp-admin) #dnRecentlyAdded > .dn-recent-section-title.section-title .view{
  color:#0b4aa2!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}

/* Keep carousel controls functional, but remove them from the heading style. */
body:not(.wp-admin) #dnRecentlyAdded > .dn-recent-carousel-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  position:absolute!important;
  right:8px!important;
  top:52px!important;
  z-index:5!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body:not(.wp-admin) #dnRecentlyAdded > .dn-recent-carousel-nav button{
  appearance:none!important;
  border:0!important;
  background:rgba(255,255,255,.82)!important;
  color:#aeb8c6!important;
  width:26px!important;
  height:26px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  font-family:inherit!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:700!important;
  padding:0!important;
  box-shadow:0 4px 12px rgba(15,23,42,.06)!important;
  cursor:pointer!important;
}

body:not(.wp-admin) #dnRecentlyAdded > .dn-recent-carousel-nav button:hover,
body:not(.wp-admin) #dnRecentlyAdded > .dn-recent-carousel-nav button:focus-visible{
  color:var(--dn-card-brand,#ff3c20)!important;
  outline:none!important;
}
