/*
 * Digitnet Store Core - Mobile Adaptive Global + Footer v3.0.4.2.51.5
 * Purpose: safe CSS-only mobile/footer optimization.
 * Scope: presentation only. No WooCommerce, cart, checkout, add-to-cart, pricing, review, product query or settings logic is changed.
 */

:root{
  --dn-mobile-normal-card-cols: 2;
  --dn-mobile-small-card-cols: 1;
  --dn-mobile-grid-gap: 10px;
  --dn-mobile-footer-gap: 10px;
  --dn-mobile-footer-card-radius: 14px;
}

/*
 * Future-ready adaptive card/grid helpers.
 * Existing blocks can keep their markup. Future Digitnet blocks can opt in by using:
 * - data-dn-mobile-grid="cards"
 * - data-dn-mobile-grid="footer"
 * - class="dn-mobile-card-grid"
 */
@media (max-width: 767px){
  body:not(.wp-admin) :is(
    [data-dn-mobile-grid="cards"],
    .dn-mobile-card-grid,
    .dn-adaptive-card-grid,
    .dn-products-grid,
    .dn-product-grid,
    .dn-product-list-grid,
    .dn-card-grid,
    .dn-grid-products,
    .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(var(--dn-mobile-normal-card-cols), minmax(0, 1fr)) !important;
    gap:var(--dn-mobile-grid-gap) !important;
    align-items:stretch !important;
    min-width:0 !important;
  }

  body:not(.wp-admin) :is(
    [data-dn-mobile-card],
    .dn-mobile-card,
    .product-card,
    .dn-wc-product-card,
    .dn-product-card,
    .dn-managed-product-card,
    .dn-na-card,
    .dn-featured-card,
    .dn-showcase-card,
    .woocommerce ul.products li.product,
    .woocommerce .products .product
  ){
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Footer: compact, readable, and adaptive on phones without changing footer HTML or menu logic. */
  body:not(.wp-admin) .dn-footer .dn-footer-wrap{
    padding:24px 12px 18px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-footer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-brand-area{
    min-width:0 !important;
  }

  body:not(.wp-admin) .dn-footer .dn-support-card{
    border-radius:var(--dn-mobile-footer-card-radius) !important;
    padding:14px 14px !important;
    margin-bottom:12px !important;
    box-shadow:0 10px 22px rgba(0,0,0,.18) !important;
  }

  body:not(.wp-admin) .dn-footer .dn-support-card small{
    font-size:12px !important;
    margin-bottom:8px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-support-card h3{
    font-size:20px !important;
    line-height:1.15 !important;
    margin-bottom:7px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-support-card p,
  body:not(.wp-admin) .dn-footer .dn-contact,
  body:not(.wp-admin) .dn-footer .dn-email{
    font-size:12px !important;
    line-height:1.5 !important;
  }

  body:not(.wp-admin) .dn-footer .dn-contact br + br{
    display:none;
  }

  body:not(.wp-admin) .dn-footer .dn-socials{
    display:grid !important;
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
    gap:7px !important;
    margin-top:12px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-socials a{
    width:100% !important;
    height:34px !important;
    border-radius:12px !important;
    transform:none !important;
  }

  /* Normal phones: footer menu columns remain 2 per row. */
  body:not(.wp-admin) :is(
    .dn-footer .dn-links,
    .dn-footer .dn-why-grid,
    [data-dn-mobile-grid="footer"]
  ){
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:var(--dn-mobile-footer-gap) !important;
    align-items:start !important;
  }

  body:not(.wp-admin) .dn-footer .dn-col,
  body:not(.wp-admin) .dn-footer .dn-why-item{
    min-width:0 !important;
    border-radius:var(--dn-mobile-footer-card-radius) !important;
  }

  body:not(.wp-admin) .dn-footer .dn-col{
    background:rgba(255,255,255,.045) !important;
    border:1px solid rgba(255,255,255,.07) !important;
    padding:12px 10px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-col h4{
    font-size:12px !important;
    line-height:1.25 !important;
    margin-bottom:9px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-col h4::after{
    width:32px !important;
    height:2px !important;
    margin-top:6px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-col a{
    font-size:11.5px !important;
    line-height:1.35 !important;
    margin-bottom:7px !important;
    word-break:break-word !important;
  }

  body:not(.wp-admin) .dn-footer .dn-col a:hover{
    padding-left:0 !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-buy{
    margin-top:14px !important;
    padding:14px !important;
    border-radius:16px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-head{
    display:block !important;
    margin-bottom:12px !important;
    padding-bottom:12px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-head span{
    font-size:9.5px !important;
    padding:5px 8px !important;
    margin-bottom:7px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-head h3{
    font-size:16px !important;
    line-height:1.2 !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-head p{
    margin-top:7px !important;
    font-size:11.5px !important;
    line-height:1.45 !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-item{
    min-height:auto !important;
    padding:12px 10px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-item:hover{
    transform:none !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-item span{
    width:30px !important;
    height:30px !important;
    border-radius:10px !important;
    margin-bottom:8px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-item strong{
    font-size:12px !important;
    line-height:1.25 !important;
    margin-bottom:5px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-item small{
    font-size:10.5px !important;
    line-height:1.35 !important;
  }

  body:not(.wp-admin) .dn-footer .dn-global-bar{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
    padding:10px !important;
    border-radius:14px !important;
    margin-top:12px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-global-bar span{
    font-size:11px !important;
    line-height:1.35 !important;
  }

  body:not(.wp-admin) .dn-footer .dn-footer-bottom{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    text-align:center !important;
    margin-top:14px !important;
    padding-top:14px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-footer-bottom p{
    font-size:11px !important;
    line-height:1.45 !important;
  }

  body:not(.wp-admin) .dn-footer .dn-payments{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:7px !important;
    width:100% !important;
  }

  body:not(.wp-admin) .dn-footer .dn-payments span{
    text-align:center !important;
    padding:7px 5px !important;
    font-size:10px !important;
  }

  body:not(.wp-admin) .dn-global-newsletter .wrap{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:20px 12px !important;
  }

  body:not(.wp-admin) .dn-global-newsletter h2{
    font-size:18px !important;
    line-height:1.25 !important;
    margin:0 0 5px !important;
  }

  body:not(.wp-admin) .dn-global-newsletter form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    min-width:0 !important;
  }

  body:not(.wp-admin) .dn-global-newsletter input,
  body:not(.wp-admin) .dn-global-newsletter button{
    width:100% !important;
    min-height:44px !important;
  }
}

/* Very small phones: one card per row to prevent cramped/truncated content. */
@media (max-width: 360px){
  :root{
    --dn-mobile-normal-card-cols: var(--dn-mobile-small-card-cols);
  }

  body:not(.wp-admin) :is(
    [data-dn-mobile-grid="cards"],
    .dn-mobile-card-grid,
    .dn-adaptive-card-grid,
    .dn-products-grid,
    .dn-product-grid,
    .dn-product-list-grid,
    .dn-card-grid,
    .dn-grid-products,
    .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,
    .dn-footer .dn-links,
    .dn-footer .dn-why-grid,
    .dn-footer .dn-global-bar,
    [data-dn-mobile-grid="footer"]
  ){
    grid-template-columns:1fr !important;
  }

  body:not(.wp-admin) .dn-footer .dn-payments{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Larger phones / small tablets: still adaptive, with room for more content where it fits. */
@media (min-width: 768px) and (max-width: 1024px){
  body:not(.wp-admin) :is(
    [data-dn-mobile-grid="cards"],
    .dn-mobile-card-grid,
    .dn-adaptive-card-grid,
    .dn-products-grid,
    .dn-product-grid,
    .dn-card-grid
  ){
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:14px !important;
  }

  body:not(.wp-admin) .dn-footer .dn-links{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.wp-admin) .dn-footer .dn-why-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
