/* Digital Market Single Product 3.0 */
:root{
  --dmsp-blue:#159fe5;
  --dmsp-blue-2:#078bd3;
  --dmsp-blue-soft:#eefaff;
  --dmsp-ink:#152b3b;
  --dmsp-muted:#6f8290;
  --dmsp-border:#dcecf4;
  --dmsp-white:#fff;
}

/* Hide only the original WooCommerce summary wrapper on the single product page.
   Tabs, description, reviews and related products remain available below. */
.single-product div.product > .summary.entry-summary{
  display:none!important;
}

.single-product div.product{
  width:100%;
  max-width:1320px;
  margin-inline:auto;
}

.dmsp-product-hero,
.dmsp-product-hero *{
  box-sizing:border-box;
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif;
}

.dmsp-product-hero{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  gap:clamp(30px,5vw,74px);
  align-items:start;
  padding:22px 0 44px;
}

.dmsp-gallery-column{min-width:0}
.dmsp-buy-column{min-width:0}

.dmsp-gallery-main{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  min-height:520px;
  overflow:hidden;
  border:1px solid var(--dmsp-border);
  border-radius:28px;
  background:linear-gradient(145deg,#fff 0%,#f3fbff 100%);
  box-shadow:0 18px 50px rgba(20,155,215,.08);
  isolation:isolate;
}

.dmsp-gallery-slide{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 58px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease;
}

.dmsp-gallery-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:2;
}

.dmsp-lightbox-link{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}

.dmsp-gallery-slide img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
}

.dmsp-gallery-arrow{
  all:unset;
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:10!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  border:1px solid rgba(205,231,242,.95)!important;
  background:rgba(255,255,255,.97)!important;
  color:var(--dmsp-blue-2)!important;
  box-shadow:0 8px 24px rgba(21,159,229,.16)!important;
  cursor:pointer!important;
  text-align:center!important;
  line-height:1!important;
  font-family:Arial,sans-serif!important;
  font-size:36px!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}

.dmsp-gallery-arrow:hover{
  background:var(--dmsp-blue)!important;
  color:#fff!important;
}

.dmsp-gallery-arrow:focus-visible{
  outline:3px solid rgba(21,159,229,.25)!important;
  outline-offset:3px!important;
}

.dmsp-gallery-prev{inset-inline-end:16px!important;inset-inline-start:auto!important}
.dmsp-gallery-next{inset-inline-start:16px!important;inset-inline-end:auto!important}

.dmsp-gallery-arrow span{
  display:block;
  transform:translateY(-1px);
}

.dmsp-gallery-counter{
  position:absolute;
  inset-inline-start:18px;
  bottom:17px;
  z-index:11;
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  border:1px solid var(--dmsp-border);
  color:#667c89;
  font-size:12px;
  direction:ltr;
}

.dmsp-thumbs{
  display:flex;
  flex-direction:row;
  gap:12px;
  overflow-x:auto;
  padding:14px 2px 4px;
  scrollbar-width:thin;
  direction:rtl;
}

.dmsp-thumb{
  flex:0 0 88px;
  width:88px;
  height:88px;
  padding:4px;
  border-radius:14px;
  border:1px solid var(--dmsp-border);
  background:#fff;
  cursor:pointer;
  overflow:hidden;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.dmsp-thumb:hover{transform:translateY(-2px)}
.dmsp-thumb.is-active{
  border:2px solid var(--dmsp-blue);
  box-shadow:0 0 0 3px #e7f7fd;
}

.dmsp-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.dmsp-buybox{
  position:relative;
  padding:clamp(18px,2.6vw,34px) clamp(18px,2.8vw,38px);
  background:#fff;
  border:1px solid var(--dmsp-border);
  border-radius:26px;
  box-shadow:0 18px 50px rgba(20,155,215,.06);
}

.dmsp-category{
  margin:0 0 11px;
  color:var(--dmsp-blue-2);
  font-size:13px;
  font-weight:600;
}

.dmsp-category a{
  color:inherit;
  text-decoration:none;
}

.dmsp-title{
  margin:0 0 14px;
  color:var(--dmsp-ink);
  font-family:'Lalezar','Vazirmatn',Tahoma,sans-serif!important;
  font-size:clamp(30px,3.4vw,47px);
  font-weight:400;
  line-height:1.35;
  letter-spacing:-.2px;
}

.dmsp-rating{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 17px;
}

.dmsp-stars .star-rating{
  margin:0;
  color:#f1b522;
}

.dmsp-review-link{
  color:#758996;
  text-decoration:none;
  font-size:13px;
}

.dmsp-short-description{
  color:#5f7280;
  font-size:15px;
  line-height:2;
  margin:0 0 22px;
}

.dmsp-short-description p{margin:0 0 7px}
.dmsp-short-description ul,
.dmsp-short-description ol{margin:8px 0;padding-inline-start:22px}

.dmsp-price-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:15px;
  padding:17px 0;
  margin-bottom:4px;
  border-top:1px solid #edf4f7;
  border-bottom:1px solid #edf4f7;
}

.dmsp-price{
  color:var(--dmsp-blue-2);
  font-family:'Lalezar','Vazirmatn',Tahoma,sans-serif!important;
  font-size:31px;
  line-height:1.35;
  font-weight:400;
}

.dmsp-price del{
  color:#9aaab4;
  font-family:'Vazirmatn',Tahoma,sans-serif!important;
  font-size:14px;
  margin-inline-end:8px;
}

.dmsp-price ins{text-decoration:none}

.dmsp-stock{
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  font-size:12px;
  font-weight:700;
}

.dmsp-stock span{
  width:8px;
  height:8px;
  display:inline-block;
  border-radius:50%;
}

.dmsp-instock{color:#24945f}
.dmsp-instock span{background:#34b87a}
.dmsp-backorder{color:#a97719}
.dmsp-backorder span{background:#e0a32b}
.dmsp-outstock{color:#c84f55}
.dmsp-outstock span{background:#d85b61}

.dmsp-purchase-box{
  margin-top:20px;
  padding:16px;
  border-radius:18px;
  background:var(--dmsp-blue-soft);
  border:1px solid #d8f1fb;
}

.dmsp-purchase-box form.cart{
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}

.dmsp-purchase-box .quantity{
  float:none!important;
  margin:0!important;
}

.dmsp-purchase-box .quantity .qty{
  width:76px!important;
  min-height:50px!important;
  margin:0!important;
  border:1px solid #cde9f5!important;
  border-radius:13px!important;
  background:#fff!important;
  color:var(--dmsp-ink)!important;
  font-size:16px!important;
  text-align:center!important;
  box-shadow:none!important;
}

.dmsp-purchase-box .single_add_to_cart_button{
  flex:1 1 220px!important;
  min-height:50px!important;
  margin:0!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,var(--dmsp-blue),var(--dmsp-blue-2))!important;
  color:#fff!important;
  font-family:'Lalezar','Vazirmatn',Tahoma,sans-serif!important;
  font-size:19px!important;
  font-weight:400!important;
  cursor:pointer!important;
  box-shadow:0 9px 24px rgba(21,159,229,.18)!important;
}

.dmsp-purchase-box .single_add_to_cart_button:hover{
  background:linear-gradient(135deg,#0795dc,#047fca)!important;
}

.dmsp-purchase-box .single_add_to_cart_button.disabled,
.dmsp-purchase-box .single_add_to_cart_button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
}

.dmsp-purchase-box .variations{
  width:100%!important;
  margin:0 0 12px!important;
  border:0!important;
  background:transparent!important;
}

.dmsp-purchase-box .variations td,
.dmsp-purchase-box .variations th{
  border:0!important;
  padding:5px!important;
  vertical-align:middle!important;
}

.dmsp-purchase-box .variations label{
  font-weight:700!important;
  color:var(--dmsp-ink)!important;
}

.dmsp-purchase-box .variations select{
  min-height:44px!important;
  border:1px solid #cde9f5!important;
  border-radius:11px!important;
  background:#fff!important;
  padding:7px 10px!important;
}

.dmsp-purchase-box .reset_variations{
  color:var(--dmsp-blue-2)!important;
  font-size:12px!important;
}

.dmsp-purchase-box .woocommerce-variation-description{
  color:#657984;
  font-size:13px;
  line-height:1.8;
  margin-bottom:10px;
}

.dmsp-wishlist{
  all:unset;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  margin-top:13px!important;
  padding:7px 0!important;
  color:var(--dmsp-blue-2)!important;
  font-family:'Vazirmatn',Tahoma,Arial,sans-serif!important;
  font-size:14px!important;
  cursor:pointer!important;
}

.dmsp-wishlist span{
  font-family:Arial,sans-serif;
  font-size:25px;
  line-height:1;
}

.dmsp-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid #edf4f7;
  color:#7b8e99;
  font-size:11px;
}

.dmsp-meta a{
  color:inherit;
  text-decoration:none;
}

/* Keep the rest of WooCommerce page visually compatible. */
.single-product .woocommerce-tabs{
  margin-top:6px;
  border-top:1px solid #edf4f7;
  padding-top:8px;
}

@media (max-width:980px){
  .dmsp-product-hero{
    grid-template-columns:1fr;
    gap:24px;
    padding-top:12px;
  }

  .dmsp-gallery-main{
    min-height:430px;
  }

  .dmsp-gallery-slide{
    padding:22px 52px;
  }

  .dmsp-buybox{
    padding:24px;
  }
}

@media (max-width:600px){
  .dmsp-product-hero{
    gap:18px;
    padding:6px 0 28px;
  }

  .dmsp-gallery-main{
    aspect-ratio:1/1;
    min-height:0;
    border-radius:20px;
  }

  .dmsp-gallery-slide{
    padding:18px 45px;
  }

  .dmsp-gallery-arrow{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    font-size:29px!important;
  }

  .dmsp-gallery-prev{inset-inline-end:10px!important}
  .dmsp-gallery-next{inset-inline-start:10px!important}

  .dmsp-gallery-counter{
    inset-inline-start:10px;
    bottom:10px;
  }

  .dmsp-thumb{
    flex-basis:68px;
    width:68px;
    height:68px;
  }

  .dmsp-buybox{
    border-radius:20px;
    padding:20px 16px;
  }

  .dmsp-title{
    font-size:32px;
  }

  .dmsp-price-row{
    align-items:center;
  }

  .dmsp-price{
    font-size:27px;
  }

  .dmsp-purchase-box{
    padding:12px;
  }

  .dmsp-purchase-box form.cart{
    align-items:stretch!important;
  }

  .dmsp-purchase-box .quantity{
    flex:0 0 76px;
  }

  .dmsp-purchase-box .single_add_to_cart_button{
    min-height:50px!important;
  }
}
