/*
 * Digitnet Store Core v5.1.0.13
 * Single Product Adaptive Width Fix
 * Purpose: use available viewport width on desktop/large screens and remove excessive side whitespace.
 * Scope: single product presentation only. No WooCommerce product, price, cart, checkout, payment, stock, shipping, tab, Product Extra Data, or tracking logic is changed.
 */

@media (min-width: 1024px){
  body.single-product #dnProductPage.wrap,
  body.single-product #dnProductPage.dn-product-preview-page,
  body.single-product main#dnProductPage{
    width:100% !important;
    max-width:min(1800px, calc(100vw - clamp(24px, 3vw, 64px))) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:clamp(12px, 1.15vw, 22px) !important;
    padding-right:clamp(12px, 1.15vw, 22px) !important;
    box-sizing:border-box !important;
  }

  body.single-product #dnProductPage .dn-product-sidebar-layout,
  body.single-product #dnProductPage .dn-product-main,
  body.single-product #dnProductPage article.dn-single-product-ui-lock,
  body.single-product #dnProductPage .product{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body.single-product #dnProductPage .dn-backline,
  body.single-product #dnProductPage .dn-sp-shell,
  body.single-product #dnProductPage .dn-sp-tabs,
  body.single-product #dnProductPage .dn-single-product-tabs,
  body.single-product #dnProductPage .section-title,
  body.single-product #dnProductPage .dn-sp-related{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  body.single-product #dnProductPage .dn-sp-shell{
    display:grid !important;
    grid-template-columns:minmax(420px, 34%) minmax(0, 1fr) minmax(280px, 320px) !important;
    gap:clamp(22px, 1.65vw, 34px) !important;
    align-items:start !important;
    padding:clamp(22px, 1.55vw, 30px) !important;
    overflow:visible !important;
  }

  body.single-product #dnProductPage .dn-sp-gallery,
  body.single-product #dnProductPage .dn-sp-summary,
  body.single-product #dnProductPage .dn-sp-side{
    min-width:0 !important;
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
  }

  body.single-product #dnProductPage .dn-sp-gallery,
  body.single-product #dnProductPage .dn-sp-side{
    position:sticky !important;
    top:clamp(14px, 1.4vw, 22px) !important;
    align-self:start !important;
  }

  body.single-product #dnProductPage .dn-sp-main-img{
    width:100% !important;
    height:clamp(420px, 31vw, 560px) !important;
    min-height:0 !important;
    display:grid !important;
    place-items:center !important;
  }

  body.single-product #dnProductPage .dn-sp-main-img img,
  body.single-product #dnProductPage #dnSPImg{
    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-summary h1,
  body.single-product #dnProductPage #dnSPTitle{
    max-width:100% !important;
    overflow-wrap:break-word !important;
    text-wrap:balance;
  }

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

@media (min-width: 1500px){
  body.single-product #dnProductPage.wrap,
  body.single-product #dnProductPage.dn-product-preview-page,
  body.single-product main#dnProductPage{
    max-width:min(1840px, calc(100vw - 32px)) !important;
  }

  body.single-product #dnProductPage .dn-sp-shell{
    grid-template-columns:minmax(500px, 35%) minmax(460px, 1fr) minmax(292px, 330px) !important;
  }
}

@media (min-width: 1181px) and (max-width: 1359px){
  body.single-product #dnProductPage.wrap,
  body.single-product #dnProductPage.dn-product-preview-page,
  body.single-product main#dnProductPage{
    max-width:calc(100vw - 24px) !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body.single-product #dnProductPage .dn-sp-shell{
    grid-template-columns:minmax(340px, 0.9fr) minmax(0, 1.1fr) minmax(250px, 292px) !important;
    gap:20px !important;
    padding:22px !important;
  }

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

  body.single-product #dnProductPage .dn-sp-summary h1,
  body.single-product #dnProductPage #dnSPTitle{
    font-size:clamp(23px, 2vw, 27px) !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px){
  body.single-product #dnProductPage.wrap,
  body.single-product #dnProductPage.dn-product-preview-page,
  body.single-product main#dnProductPage{
    width:100% !important;
    max-width:calc(100vw - 20px) !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
  }

  body.single-product #dnProductPage .dn-sp-shell{
    grid-template-columns:minmax(320px, 0.95fr) minmax(0, 1.05fr) !important;
    gap:20px !important;
    padding:20px !important;
  }

  body.single-product #dnProductPage .dn-sp-side{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:14px !important;
    position:static !important;
    top:auto !important;
  }

  body.single-product #dnProductPage .dn-sp-gallery{
    position:sticky !important;
    top:14px !important;
  }

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

@media (max-width: 900px){
  body.single-product #dnProductPage.wrap,
  body.single-product #dnProductPage.dn-product-preview-page,
  body.single-product main#dnProductPage{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:clamp(8px, 3vw, 14px) !important;
    padding-right:clamp(8px, 3vw, 14px) !important;
    box-sizing:border-box !important;
  }

  body.single-product #dnProductPage .dn-backline{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:10px !important;
  }

  body.single-product #dnProductPage .dn-sp-breadcrumb{
    width:100% !important;
    overflow-wrap:anywhere !important;
  }

  body.single-product #dnProductPage .dn-sp-shell{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr !important;
    gap:clamp(14px, 3.6vw, 20px) !important;
    padding:clamp(12px, 4vw, 18px) !important;
  }

  body.single-product #dnProductPage .dn-sp-gallery,
  body.single-product #dnProductPage .dn-sp-summary,
  body.single-product #dnProductPage .dn-sp-side{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    position:static !important;
    top:auto !important;
  }
}
