/*
 * Digitnet Store Core - Safe Mobile Product Cards v3.0.4.2.51.4-safe
 * Purpose: mobile product-card readability and speed without image truncation.
 * Scope: CSS only. No WooCommerce forms, cart, checkout, payment, pricing, review or product logic is changed here.
 */

@media (max-width: 767px){
  :root{
    --dn-mobile-card-gap: 10px;
    --dn-mobile-card-radius: 14px;
    --dn-mobile-card-media-radius: 12px;
    --dn-mobile-card-title-size: 12px;
    --dn-mobile-card-price-size: 15px;
    --dn-mobile-card-chip-size: 9.5px;
  }

  /* Mobile grids: 2 cards on normal phones. This does not touch product queries or markup. */
  body:not(.wp-admin) :is(
    .product-row,
    .compact-row,
    .dn-managed-product-grid,
    .dn-managed-products-grid,
    .dn-featured-grid,
    .dn-showcase-grid,
    .dn-na-grid,
    .woocommerce ul.products,
    ul.products
  ){
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:var(--dn-mobile-card-gap) !important;
    align-items:stretch !important;
  }

  /* Recently Added may be a carousel/track. Keep it horizontal if already horizontal. */
  body:not(.wp-admin) :is(.dn-recent-track, .dn-recent-slider, .dn-recent-carousel){
    gap:var(--dn-mobile-card-gap) !important;
  }

  body:not(.wp-admin) :is(
    .product-card,
    .dn-wc-product-card,
    .dn-product-card,
    .dn-managed-product-card,
    .dn-na-card,
    .dn-recent-card,
    .dn-featured-card,
    .dn-showcase-card,
    .dn-showcase-feature,
    .woocommerce ul.products li.product,
    .woocommerce .products .product
  ){
    border-radius:var(--dn-mobile-card-radius) !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    box-shadow:0 6px 16px rgba(15,23,42,.045) !important;
    transform:none !important;
  }

  /* Image-safe media wrappers: no hard crop, no fixed mobile height, no cover. */
  body:not(.wp-admin) :is(
    .product-card .img,
    .product-card .dn-image-box,
    .dn-wc-product-card .dn-image-box,
    .dn-wc-product-card .dn-wc-product-media-link,
    .dn-product-card .dn-image-box,
    .dn-product-card .dn-product-card-media,
    .dn-managed-product-card .dn-managed-product-img,
    .dn-managed-product-card .dn-managed-product-media,
    .dn-na-card .dn-na-img,
    .dn-recent-card .dn-recent-img,
    .dn-featured-card .dn-featured-img,
    .dn-showcase-card .dn-showcase-img,
    .dn-showcase-feature .dn-feature-visual,
    .woocommerce ul.products li.product a img,
    .woocommerce .products .product a img
  ){
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:4 / 3 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:var(--dn-mobile-card-media-radius) !important;
    overflow:hidden !important;
    background:#f8fafc !important;
  }

  body:not(.wp-admin) :is(
    .product-card .img img,
    .product-card .dn-image-box img,
    .dn-wc-product-card .dn-image-box img,
    .dn-wc-product-card .dn-wc-product-media-link img,
    .dn-product-card .dn-image-box img,
    .dn-product-card .dn-product-card-media img,
    .dn-managed-product-card .dn-managed-product-img img,
    .dn-managed-product-card .dn-managed-product-media img,
    .dn-na-card .dn-na-img img,
    .dn-recent-card .dn-recent-img img,
    .dn-featured-card .dn-featured-img img,
    .dn-showcase-card .dn-showcase-img img,
    .dn-showcase-feature .dn-feature-visual img,
    .woocommerce ul.products li.product img,
    .woocommerce .products .product img
  ){
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    padding:6px !important;
    box-sizing:border-box !important;
    display:block !important;
  }

  /* Text and pricing: smaller, readable, and consistent. */
  body:not(.wp-admin) :is(
    .product-card h2,
    .product-card h3,
    .product-card h4,
    .dn-wc-product-card h2,
    .dn-wc-product-card h3,
    .dn-wc-product-card h4,
    .dn-product-card h2,
    .dn-product-card h3,
    .dn-product-card h4,
    .dn-managed-product-card h3,
    .dn-managed-product-title,
    .dn-na-card h3,
    .dn-recent-card h3,
    .dn-featured-card h4,
    .dn-showcase-card h3,
    .dn-showcase-feature h3,
    .woocommerce-loop-product__title
  ){
    font-size:var(--dn-mobile-card-title-size) !important;
    line-height:1.3 !important;
    min-height:calc(1.3em * 2) !important;
    max-height:calc(1.3em * 2) !important;
    margin-bottom:7px !important;
  }

  body:not(.wp-admin) :is(
    .product-card .price,
    .dn-wc-product-card .price,
    .dn-product-card .price,
    .dn-managed-price,
    .dn-na-price,
    .dn-recent-price,
    .dn-featured-price,
    .dn-showcase-price,
    .dn-current-price,
    .woocommerce-Price-amount,
    .price .amount
  ){
    font-size:var(--dn-mobile-card-price-size) !important;
    line-height:1.1 !important;
    font-weight:650 !important;
    letter-spacing:-.1px !important;
  }

  body:not(.wp-admin) :is(.dn-chip, .chip, .dn-meta-chip, .dn-card-chip){
    font-size:var(--dn-mobile-card-chip-size) !important;
    min-height:20px !important;
    padding:0 6px !important;
    line-height:1 !important;
  }

  body:not(.wp-admin) :is(
    .dn-icon-cart-btn,
    .dn-cart-bubble,
    .dn-recent-cart,
    .dn-full-cart-btn,
    .dn-feature-add,
    .add,
    .mini-btn.add
  ){
    min-width:38px !important;
    min-height:38px !important;
    touch-action:manipulation !important;
  }

  body:not(.wp-admin) :is(.dn-footer-note, .dn-warranty, .dn-card-warranty){
    font-size:10px !important;
    line-height:1.25 !important;
  }
}

@media (max-width: 360px){
  body:not(.wp-admin) :is(
    .product-row,
    .compact-row,
    .dn-managed-product-grid,
    .dn-managed-products-grid,
    .dn-featured-grid,
    .dn-showcase-grid,
    .dn-na-grid,
    .woocommerce ul.products,
    ul.products
  ){
    grid-template-columns:1fr !important;
  }

  body:not(.wp-admin) :is(
    .product-card .img,
    .product-card .dn-image-box,
    .dn-wc-product-card .dn-image-box,
    .dn-wc-product-card .dn-wc-product-media-link,
    .dn-product-card .dn-image-box,
    .dn-managed-product-card .dn-managed-product-img,
    .dn-na-card .dn-na-img,
    .dn-recent-card .dn-recent-img,
    .dn-featured-card .dn-featured-img,
    .dn-showcase-card .dn-showcase-img,
    .dn-showcase-feature .dn-feature-visual
  ){
    aspect-ratio:16 / 11 !important;
  }
}
