/*
 * Digitnet Store Core - Mobile Single Product Layout v3.0.4.2.51.6
 * Purpose: adaptive single-product presentation only.
 * Scope: CSS only. No WooCommerce add-to-cart, cart, checkout, payment, pricing, variation or stock logic is changed here.
 */

@media (max-width: 1100px){
  body.single-product #dnProductPage .dn-sp-shell{
    grid-template-columns:1fr !important;
    gap:clamp(16px, 3vw, 22px) !important;
  }

  body.single-product #dnProductPage .dn-sp-gallery,
  body.single-product #dnProductPage .dn-sp-summary,
  body.single-product #dnProductPage .dn-sp-side{
    max-width:100% !important;
    width:100% !important;
  }

  body.single-product #dnProductPage .dn-sp-gallery{order:1 !important;}
  body.single-product #dnProductPage .dn-sp-summary{order:2 !important;}
  body.single-product #dnProductPage .dn-sp-side{order:3 !important;}

  body.single-product #dnProductPage .dn-sp-card.dn-sp-buybox-premium{
    max-width:100% !important;
  }
}

@media (max-width: 767px){
  body.single-product #dnProductPage,
  body.single-product .dn-wc-single-product,
  body.single-product .dn-product-preview-page{
    padding:14px 10px 36px !important;
  }

  body.single-product #dnProductPage .dn-backline{
    gap:9px !important;
    margin:8px 0 10px !important;
  }

  body.single-product #dnProductPage .dn-back{
    min-height:40px !important;
    padding:9px 12px !important;
    font-size:12px !important;
  }

  body.single-product #dnProductPage .dn-sp-shell{
    padding:clamp(14px, 4vw, 18px) !important;
    border-radius:clamp(16px, 5vw, 20px) !important;
    gap:16px !important;
    box-shadow:0 10px 26px rgba(15,23,42,.055) !important;
  }

  /* Gallery: image-safe, adaptive, no cropping. */
  body.single-product #dnProductPage .dn-sp-main-img{
    height:clamp(255px, 78vw, 380px) !important;
    min-height:0 !important;
    border-radius:14px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  body.single-product #dnProductPage .dn-sp-main-img img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  body.single-product #dnProductPage .dn-sp-note{
    margin-top:7px !important;
    font-size:11px !important;
  }

  body.single-product #dnProductPage .dn-sp-thumbs{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    margin-top:10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    scroll-snap-type:x proximity !important;
    padding-bottom:6px !important;
  }

  body.single-product #dnProductPage .dn-sp-thumb{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    border-radius:11px !important;
    padding:4px !important;
    scroll-snap-align:start !important;
  }

  /* Summary: compact, readable hierarchy. */
  body.single-product #dnProductPage .dn-sp-kicker{
    font-size:11px !important;
    margin-bottom:6px !important;
  }

  body.single-product #dnProductPage .dn-sp-summary h1,
  body.single-product #dnProductPage #dnSPTitle{
    font-size:clamp(20px, 5.7vw, 23px) !important;
    line-height:1.22 !important;
    font-weight:650 !important;
    margin-bottom:9px !important;
    letter-spacing:-.25px !important;
  }

  body.single-product #dnProductPage .dn-sp-price-row{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:6px 10px !important;
    margin:8px 0 10px !important;
  }

  body.single-product #dnProductPage .dn-sp-price,
  body.single-product #dnProductPage .dn-sp-price .amount,
  body.single-product #dnProductPage .dn-sp-price .woocommerce-Price-amount{
    font-size:clamp(21px, 6vw, 25px) !important;
    line-height:1.1 !important;
    font-weight:650 !important;
  }

  body.single-product #dnProductPage .dn-sp-stock{
    font-size:12px !important;
    line-height:1.3 !important;
  }

  body.single-product #dnProductPage .dn-sp-line{
    margin:12px 0 !important;
  }

  body.single-product #dnProductPage .dn-sp-copy{
    font-size:13px !important;
    line-height:1.6 !important;
    margin-top:10px !important;
  }

  /* Variant selector: same logic, larger mobile tap targets and adaptive fit. */
  body.single-product #dnProductPage .dn-product-option{
    margin-top:12px !important;
  }

  body.single-product #dnProductPage .dn-option-label{
    font-size:12px !important;
    line-height:1.35 !important;
    margin-bottom:8px !important;
  }

  body.single-product #dnProductPage .dn-variants,
  body.single-product #dnProductPage #dnVariants{
    display:grid !important;
    grid-template-columns:repeat(auto-fit, minmax(58px, 1fr)) !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.single-product #dnProductPage .dn-variant,
  body.single-product #dnProductPage #dnVariants .dn-variant{
    width:auto !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:5px !important;
    border-radius:13px !important;
  }

  body.single-product #dnProductPage .dn-variant .dn-variant-img,
  body.single-product #dnProductPage .dn-variant img,
  body.single-product #dnProductPage #dnVariants .dn-variant-img,
  body.single-product #dnProductPage #dnVariants img{
    width:44px !important;
    height:44px !important;
    object-fit:contain !important;
  }

  body.single-product #dnProductPage .dn-hover-label{
    font-size:9px !important;
  }

  /* Add-to-cart row: native form remains intact; only layout adapts. */
  body.single-product #dnProductPage .dn-sp-buy,
  body.single-product #dnProductPage .dn-sp-cart-form,
  body.single-product #dnProductPage form.cart{
    display:grid !important;
    grid-template-columns:minmax(86px, 104px) minmax(0, 1fr) !important;
    gap:10px !important;
    align-items:center !important;
    width:100% !important;
    margin-top:14px !important;
  }

  body.single-product #dnProductPage .dn-sp-qty,
  body.single-product #dnProductPage form.cart .quantity{
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
  }

  body.single-product #dnProductPage .dn-sp-qty button,
  body.single-product #dnProductPage .dn-sp-qty input,
  body.single-product #dnProductPage form.cart .quantity input{
    min-height:44px !important;
  }

  body.single-product #dnProductPage .dn-sp-cart,
  body.single-product #dnProductPage .single_add_to_cart_button,
  body.single-product #dnProductPage button.single_add_to_cart_button{
    width:100% !important;
    min-height:46px !important;
    height:46px !important;
    padding:0 16px !important;
    font-size:14px !important;
    touch-action:manipulation !important;
  }

  /* Buybox/sidebar: compact mobile block, no sticky behavior. */
  body.single-product #dnProductPage .dn-sp-side{
    display:grid !important;
    gap:12px !important;
    margin-top:2px !important;
  }

  body.single-product #dnProductPage .dn-sp-side,
  body.single-product #dnProductPage .dn-sp-card.dn-sp-buybox-premium{
    position:relative !important;
    top:auto !important;
    max-width:100% !important;
  }

  body.single-product #dnProductPage .dn-sp-card{
    border-radius:16px !important;
    padding:14px !important;
    box-shadow:0 6px 16px rgba(15,23,42,.045) !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-price,
  body.single-product #dnProductPage .dn-sp-buybox-premium #dnSPSidePrice{
    font-size:clamp(20px, 5.8vw, 24px) !important;
    font-weight:650 !important;
    margin-bottom:10px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-info-row{
    grid-template-columns:32px minmax(0, 1fr) !important;
    gap:9px !important;
    padding:10px 0 !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-icon,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-icon{
    width:30px !important;
    height:30px !important;
  }

  body.single-product #dnProductPage .dn-sp-delivery p,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-row-title{
    font-size:12px !important;
    line-height:1.45 !important;
  }

  body.single-product #dnProductPage .dn-sp-pay,
  body.single-product #dnProductPage .dn-buybox-actions{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:9px !important;
    margin-top:12px !important;
    padding-top:12px !important;
  }

  body.single-product #dnProductPage .dn-sp-view,
  body.single-product #dnProductPage .dn-sp-now{
    min-height:42px !important;
    height:42px !important;
    font-size:13px !important;
    padding:0 10px !important;
  }

  body.single-product #dnProductPage .dn-sp-safe,
  body.single-product #dnProductPage .dn-buybox-trust{
    font-size:10.5px !important;
    line-height:1.45 !important;
    margin-top:10px !important;
    padding-top:10px !important;
  }

  /* Tabs and related blocks: less vertical weight on mobile. */
  body.single-product #dnProductPage .dn-sp-tabs{
    margin-top:18px !important;
    border-radius:16px !important;
    box-shadow:0 6px 16px rgba(15,23,42,.045) !important;
  }

  body.single-product #dnProductPage .dn-sp-tabhead{
    gap:18px !important;
    padding:0 14px !important;
  }

  body.single-product #dnProductPage .dn-sp-tabhead button{
    height:46px !important;
    font-size:12px !important;
  }

  body.single-product #dnProductPage .dn-sp-tabbody{
    padding:16px !important;
    font-size:13px !important;
    line-height:1.6 !important;
  }

  body.single-product #dnProductPage .dn-sp-related{
    margin-top:18px !important;
  }

  body.single-product #dnProductPage .dn-sp-related .dn-sp-rel,
  body.single-product #dnProductPage .dn-sp-rel{
    border-radius:14px !important;
    box-shadow:0 6px 16px rgba(15,23,42,.045) !important;
  }

  body.single-product #dnProductPage .dn-sp-rel-img img{
    object-fit:contain !important;
  }
}

@media (max-width: 420px){
  body.single-product #dnProductPage,
  body.single-product .dn-wc-single-product,
  body.single-product .dn-product-preview-page{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  body.single-product #dnProductPage .dn-sp-shell{
    padding:12px !important;
    gap:14px !important;
  }

  body.single-product #dnProductPage .dn-sp-main-img{
    height:clamp(235px, 82vw, 330px) !important;
  }

  body.single-product #dnProductPage .dn-sp-buy,
  body.single-product #dnProductPage .dn-sp-cart-form,
  body.single-product #dnProductPage form.cart{
    grid-template-columns:1fr !important;
  }

  body.single-product #dnProductPage .dn-sp-pay,
  body.single-product #dnProductPage .dn-buybox-actions{
    grid-template-columns:1fr !important;
  }
}

@supports (content-visibility:auto){
  @media (max-width: 767px){
    body.single-product #dnProductPage .dn-sp-tabs,
    body.single-product #dnProductPage .dn-sp-related{
      content-visibility:auto;
      contain-intrinsic-size: 420px;
    }
  }
}

/* ==========================================================
   Digitnet Store Core v3.0.4.2.51.6.4
   Mobile Sidebar Adaptive Layout
   CSS-only presentation layer. Preserves all WooCommerce,
   Sidebar Core, support-link, stock, price and add-to-cart logic.
   ========================================================== */

@media (max-width: 1100px){
  body.single-product #dnProductPage .dn-sp-side,
  body.single-product #dnProductPage .dn-sidebar-product{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    position:static !important;
    top:auto !important;
    align-self:stretch !important;
    transform:none !important;
  }

  body.single-product #dnProductPage .dn-sp-card.dn-sp-buybox-premium,
  body.single-product #dnProductPage .digitnet-sidebar-core-panel,
  body.single-product #dnProductPage .right_details{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px){
  body.single-product #dnProductPage .dn-sp-card.dn-sp-buybox-premium{
    padding:clamp(16px, 2.4vw, 20px) !important;
    border-radius:18px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-delivery{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    column-gap:16px !important;
    row-gap:0 !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-delivery::before{
    display:none !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-info-row{
    border-bottom:1px solid #eef2f7 !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-pay,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-actions{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px){
  body.single-product #dnProductPage .dn-sp-side{
    display:block !important;
    margin-top:4px !important;
  }

  body.single-product #dnProductPage .dn-sp-card.dn-sp-buybox-premium,
  body.single-product #dnProductPage .digitnet-sidebar-core-panel,
  body.single-product #dnProductPage .right_details{
    border-radius:16px !important;
    padding:14px !important;
    box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
    overflow:hidden !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-price,
  body.single-product #dnProductPage .dn-sp-buybox-premium #dnSPSidePrice{
    margin-bottom:10px !important;
    font-size:clamp(20px, 5.6vw, 23px) !important;
    line-height:1.14 !important;
    text-align:left !important;
    overflow-wrap:anywhere !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-delivery{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-delivery::before{
    left:14px !important;
    top:14px !important;
    bottom:14px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-info-row{
    grid-template-columns:30px minmax(0, 1fr) !important;
    gap:9px !important;
    padding:9px 0 !important;
    min-width:0 !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-info-row p,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-row-title,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-delivery p{
    min-width:0 !important;
    max-width:100% !important;
    font-size:12px !important;
    line-height:1.45 !important;
    overflow-wrap:anywhere !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-icon,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-icon{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    font-size:12px !important;
    box-shadow:0 0 0 2px rgba(255,60,32,.052) !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-icon svg,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-icon svg{
    width:15px !important;
    height:15px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-pay,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-actions{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
    margin-top:11px !important;
    padding-top:12px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-view,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-now,
  body.single-product #dnProductPage .digitnet-sidebar-core-panel .vc,
  body.single-product #dnProductPage .digitnet-sidebar-core-panel .pn,
  body.single-product #dnProductPage .right_details .vc,
  body.single-product #dnProductPage .right_details .pn{
    width:100% !important;
    min-height:44px !important;
    height:auto !important;
    padding:10px 12px !important;
    border-radius:999px !important;
    font-size:13px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    text-align:center !important;
    touch-action:manipulation !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-safe{
    margin-top:11px !important;
    padding-top:11px !important;
    font-size:10.5px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:6px !important;
    margin-bottom:9px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid span,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid a{
    min-width:0 !important;
    gap:3px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid i{
    width:26px !important;
    height:26px !important;
    font-size:11px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid b,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid small{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-support-note{
    margin-top:10px !important;
    padding-top:10px !important;
    font-size:11.5px !important;
    line-height:1.45 !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-support-note a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:0 4px !important;
  }

  body.single-product #dnProductPage .digitnet-sidebar-core-panel .location,
  body.single-product #dnProductPage .right_details .location,
  body.single-product #dnProductPage .digitnet-sidebar-core-panel .lock1,
  body.single-product #dnProductPage .digitnet-sidebar-core-panel .lock2,
  body.single-product #dnProductPage .right_details .lock1,
  body.single-product #dnProductPage .right_details .lock2{
    border-radius:12px !important;
    padding:10px !important;
    font-size:12px !important;
    line-height:1.45 !important;
  }
}

@media (max-width: 420px){
  body.single-product #dnProductPage .dn-sp-card.dn-sp-buybox-premium,
  body.single-product #dnProductPage .digitnet-sidebar-core-panel,
  body.single-product #dnProductPage .right_details{
    padding:12px !important;
    border-radius:15px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-sp-pay,
  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-actions{
    grid-template-columns:1fr !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:5px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid b{
    font-size:10px !important;
  }

  body.single-product #dnProductPage .dn-sp-buybox-premium .dn-buybox-trust-grid small{
    font-size:9.5px !important;
  }
}
