/* NP Product Splide Builder */
.np-psb-section{
  margin:22px 0;
  direction:rtl;
}

.np-psb-title{
  margin:0 0 14px;
  font-size:20px;
  font-weight:900;
  line-height:1.4;
}

.np-psb-splide,
.np-psb-splide .splide__track,
.np-psb-splide .splide__list,
.np-psb-splide .splide__slide{
  cursor:pointer !important;
}

.np-psb-splide .splide__track{
  overflow:hidden !important;
}

.np-psb-splide ul.splide__list.products{
  display:flex !important;
  flex-flow:row nowrap !important;
  align-items:stretch !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.np-psb-splide .splide__slide{
  height:auto !important;
  display:flex !important;
}

.np-psb-card{
  float:none !important;
  clear:none !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:10px !important;
  padding:5px !important;
  cursor:pointer !important;
}


/* عکس */
.np-psb-thumb{
  position:relative !important;
  width:100% !important;
  overflow:hidden !important;
  border-radius:10px !important;
  z-index:30 !important;
}

.np-psb-image-link{
  display:block !important;
  position:relative !important;
  z-index:30 !important;
}

.np-psb-thumb img{
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:10px !important;
}

/* محتوای کارت */
.np-psb-content{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  margin-top:6px !important;
  position:relative !important;
  z-index:30 !important;
}

/* همه لینک‌های متنی ظاهر آبی نگیرند */
.np-psb-section .np-psb-card a,
.np-psb-section .np-psb-card a:hover,
.np-psb-section .np-psb-card a:focus,
.np-psb-section .np-psb-card a:active{
  color:inherit !important;
  text-decoration:none !important;
}

/* عنوان */
.np-psb-product-title{
  order:10 !important;
  margin:0 !important;
  padding:0 !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.8 !important;

  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

/* قیمت */
.np-psb-price{
  order:20 !important;
  margin-top:6px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* توضیح کوتاه */
.np-psb-description{
  order:30 !important;
  margin-top:8px !important;
  flex:1 1 auto !important;
  font-size:13px !important;
  line-height:1.9 !important;
  opacity:.85 !important;
}

.np-psb-description p{
  margin:0 !important;

  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

/* دکمه همیشه پایین کارت */
.np-psb-add-to-cart{
  order:40 !important;
  margin-top:auto !important;
  padding-top:12px !important;
  width:100% !important;
  position:relative !important;
  z-index:80 !important;
}

.np-psb-add-to-cart .np-psb-add-to-cart{
  margin:0 !important;
  padding:0 !important;
}

.np-psb-section .np-psb-add-to-cart a.button,
.np-psb-section .np-psb-add-to-cart button.button,
.woocommerce .np-psb-section .np-psb-add-to-cart a.button,
.woocommerce ul.products li.product .np-psb-add-to-cart a.button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:42px !important;
  border-radius:14px !important;
  text-align:center !important;
  margin:0 !important;
  line-height:1.5 !important;
  color:#fff !important;
  position:relative !important;
  z-index:90 !important;
}

.np-psb-section .np-psb-add-to-cart a.button:hover,
.np-psb-section .np-psb-add-to-cart button.button:hover{
  color:#fff !important;
}

/* حذف مشاهده سبد خرید بعد از افزودن */
.np-psb-hide-added-link .np-psb-add-to-cart .added_to_cart,
.np-psb-hide-added-link .np-psb-add-to-cart a.added_to_cart,
.np-psb-hide-added-link .np-psb-add-to-cart a.wc-forward{
  display:none !important;
}

/* مخفی‌کردن بخش‌ها */
.np-psb-hide-rating .star-rating,
.np-psb-hide-rating .review-rating,
.np-psb-hide-rating .woocommerce-product-rating{
  display:none !important;
}

.np-psb-hide-description .np-psb-description{
  display:none !important;
}

.np-psb-hide-price .np-psb-price{
  display:none !important;
}

.np-psb-hide-button .np-psb-add-to-cart{
  display:none !important;
}

/* قلب علاقه‌مندی */
.np-psb-wishlist{
  position:absolute !important;
  top:4px !important;
  left:4px !important;
  right:auto !important;
  z-index:100 !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(-4px) !important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  pointer-events:auto !important;
}

.np-psb-card:hover .np-psb-wishlist{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}

.np-psb-wishlist,
.np-psb-wishlist *,
.np-psb-wishlist a,
.np-psb-wishlist button,
.np-psb-wishlist .rmw-loop-wrap,
.np-psb-wishlist .rmw-btn,
.np-psb-wishlist .yith-wcwl-add-to-wishlist{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.np-psb-wishlist svg,
.np-psb-wishlist i{
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.35)) !important;
}

/* دکمه‌ها و قلب روی لینک کل کارت قابل کلیک بمانند */
.np-psb-add-to-cart,
.np-psb-add-to-cart *,
.np-psb-wishlist,
.np-psb-wishlist *{
  pointer-events:auto !important;
}

/* لینک تصویر هم واقعی بماند */
.np-psb-image-link{
  pointer-events:auto !important;
}

/* فلش‌ها */
.np-psb-splide .splide__arrow{
  z-index:120 !important;
  cursor:pointer !important;
}


/* ==================================================
   NP PSB - Clean Slider Cards Only
   فقط کارت‌های اسلایدر افزونه
   ================================================== */

.np-psb-section {
  margin: 22px 0;
}

.np-psb-title {
  margin: 0 0 14px;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.4;
}

.np-psb-splide .splide__track {
  overflow: hidden !important;
}

.np-psb-splide ul.splide__list.products {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.np-psb-splide .splide__slide {
  height: auto !important;
  float: none !important;
  clear: none !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.np-psb-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 6px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  background: #fff !important;
}


.np-psb-thumb {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  z-index: 30 !important;
}

.np-psb-image-link {
  display: block !important;
  position: relative !important;
  z-index: 30 !important;
}

.np-psb-thumb img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px !important;
}

.np-psb-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  margin-top: 6px !important;
  position: relative !important;
  z-index: 30 !important;
}

.np-psb-product-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.8 !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.np-psb-product-title a,
.np-psb-section .np-psb-card a,
.np-psb-section .np-psb-card a:hover,
.np-psb-section .np-psb-card a:focus,
.np-psb-section .np-psb-card a:active {
  color: inherit !important;
  text-decoration: none !important;
}

.np-psb-price {
  margin-top: 6px !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.np-psb-description {
  margin-top: 8px !important;
  flex: 1 1 auto !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
  opacity: .85 !important;
  overflow: hidden !important;
}

.np-psb-description p {
  margin: 0 !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.np-psb-add-to-cart {
  margin-top: auto !important;
  padding-top: 12px !important;
  width: 100% !important;
  position: relative !important;
  z-index: 80 !important;
  pointer-events: auto !important;
}

.np-psb-add-to-cart .np-psb-add-to-cart {
  margin: 0 !important;
  padding: 0 !important;
}

.np-psb-section .np-psb-add-to-cart a.button,
.np-psb-section .np-psb-add-to-cart button.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  border-radius: 14px !important;
  text-align: center !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  color: #fff !important;
  position: relative !important;
  z-index: 90 !important;
}

.np-psb-hide-added-link .np-psb-add-to-cart .added_to_cart,
.np-psb-hide-added-link .np-psb-add-to-cart a.added_to_cart,
.np-psb-hide-added-link .np-psb-add-to-cart a.wc-forward {
  display: none !important;
}

.np-psb-hide-rating .star-rating,
.np-psb-hide-rating .review-rating,
.np-psb-hide-rating .woocommerce-product-rating {
  display: none !important;
}

.np-psb-hide-description .np-psb-description {
  display: none !important;
}

.np-psb-hide-price .np-psb-price {
  display: none !important;
}

.np-psb-hide-button .np-psb-add-to-cart {
  display: none !important;
}

/* قلب داخل کارت اسلاید */
.np-psb-wishlist {
  position: absolute !important;
  top: 6px !important;
  left: 6px !important;
  right: auto !important;
  z-index: 120 !important;
  pointer-events: auto !important;
}

.np-psb-wishlist .rmw-loop-wrap {
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

.np-psb-wishlist,
.np-psb-wishlist *,
.np-psb-wishlist button {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

@media (min-width: 769px) {
  .np-psb-wishlist {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-4px) !important;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }

  .np-psb-card:hover .np-psb-wishlist {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
  }
}

@media (max-width: 768px) {
  .np-psb-wishlist {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

.np-psb-wishlist svg,
.np-psb-wishlist i {
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.35)) !important;
}

.np-psb-splide .splide__arrow {
  z-index: 120 !important;
  cursor: pointer !important;
}


/* ==================================================
   NP PSB - Safe real links without overlay
   لینک واقعی برای عکس/متن، بدون خراب کردن دکمه و قلب
   ================================================== */

/* کارت */
.np-psb-section .np-psb-card{
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  cursor: pointer !important;
}

/* لینک عکس، واقعی و قابل راست‌کلیک */
.np-psb-section .np-psb-image-link{
  display: block !important;
  position: relative !important;
  z-index: 30 !important;
  pointer-events: auto !important;
}

/* لینک محتوای کارت: عنوان + قیمت + توضیح */
.np-psb-section .np-psb-content-link{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
  position: relative !important;
  z-index: 30 !important;
  pointer-events: auto !important;
}

/* هاور/فوکوس لینک محتوا ظاهر کارت را عوض نکند */
.np-psb-section .np-psb-content-link:hover,
.np-psb-section .np-psb-content-link:focus,
.np-psb-section .np-psb-content-link:active{
  color: inherit !important;
  text-decoration: none !important;
}

/* عنوان داخل لینک جدید */
.np-psb-section .np-psb-product-title{
  margin: 0 !important;
  padding: 0 !important;
}

/* چون داخل h2 دیگر a نداریم و span داریم */
.np-psb-section .np-psb-product-title span{
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;

  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

/* توضیح کوتاه فضا را پر کند تا دکمه پایین بماند */
.np-psb-section .np-psb-content-link .np-psb-description{
  flex: 1 1 auto !important;
}

/* دکمه افزودن/انتخاب گزینه‌ها کاملاً مستقل و قابل کلیک بماند */
.np-psb-section .np-psb-add-to-cart,
.np-psb-section .np-psb-add-to-cart *,
.np-psb-section .np-psb-add-to-cart a.button,
.np-psb-section .np-psb-add-to-cart button.button{
  position: relative !important;
  z-index: 80 !important;
  pointer-events: auto !important;
}

/* قلب علاقه‌مندی مستقل بماند و جایش تغییر نکند */
.np-psb-section .np-psb-wishlist,
.np-psb-section .np-psb-wishlist *,
.np-psb-section .np-psb-wishlist a,
.np-psb-section .np-psb-wishlist button{
  pointer-events: auto !important;
}

/* اگر CSSهای قبلی لینک نامرئی را نگه داشته باشند، کلاً غیرفعالش کن */
.np-psb-section .np-psb-real-link,
.np-psb-section .np-psb-card-link{
  display: none !important;
}


/* NP Splide - fix variable button extra space caused by screen-reader span */
.np-psb-section .np-psb-add-to-cart{
  position: relative !important;
  margin-top: auto !important;
  padding-top: 12px !important;
  padding-bottom: 0 !important;

  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  flex-direction: column !important;

  min-height: 54px !important;
  height: 54px !important;
  line-height: 1 !important;
  overflow: visible !important;
}

/* خود دکمه، چه ساده چه متغیر */
.np-psb-section .np-psb-add-to-cart > a.button,
.np-psb-section .np-psb-add-to-cart > button.button{
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 14px !important;

  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

/* مهم‌ترین بخش: متن مخصوص screen reader نباید ارتفاع بسازد */
.np-psb-section .np-psb-add-to-cart > .screen-reader-text,
.np-psb-section .np-psb-add-to-cart > span[id^="woocommerce_loop_add_to_cart_link_describedby_"]{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;

  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;

  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;

  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
}

/* ==================================================
   NP PSB - Per Widget Elementor Styling
   هر اسلایدر فقط تنظیمات خودش را می‌گیرد
   ================================================== */

.np-psb-section .np-psb-card {
  background: var(--np-psb-card-bg, #fff) !important;
}

.np-psb-section .np-psb-add-to-cart a.button,
.np-psb-section .np-psb-add-to-cart button.button,
.woocommerce .np-psb-section .np-psb-add-to-cart a.button,
.woocommerce ul.products li.product .np-psb-add-to-cart a.button {
  background: var(--np-psb-button-bg, var(--ast-global-color-0, #111)) !important;
  background-color: var(--np-psb-button-bg, var(--ast-global-color-0, #111)) !important;
  color: var(--np-psb-button-color, #fff) !important;
}

.np-psb-section .np-psb-add-to-cart a.button:hover,
.np-psb-section .np-psb-add-to-cart button.button:hover {
  background: var(--np-psb-button-bg, var(--ast-global-color-0, #111)) !important;
  background-color: var(--np-psb-button-bg, var(--ast-global-color-0, #111)) !important;
  color: var(--np-psb-button-color, #fff) !important;
}

.np-psb-section .np-psb-thumb {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.np-psb-section .np-psb-image-link {
  width: var(--np-psb-image-width, 100%) !important;
  max-width: 100% !important;
}

.np-psb-section .np-psb-thumb img {
  width: 100% !important;
  height: var(--np-psb-image-height, 220px) !important;
  object-fit: var(--np-psb-image-fit, cover) !important;
}


/* ==================================================
   Remove WooCommerce added-to-cart tick/check everywhere
   ================================================== */

.woocommerce a.added_to_cart,
.woocommerce-page a.added_to_cart,
a.added_to_cart,
a.wc-forward.added_to_cart {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce a.button.added::before,
.woocommerce a.button.added::after,
.woocommerce button.button.added::before,
.woocommerce button.button.added::after,
.woocommerce-page a.button.added::before,
.woocommerce-page a.button.added::after,
a.button.added::before,
a.button.added::after,
button.button.added::before,
button.button.added::after {
  content: none !important;
  display: none !important;
}

.woocommerce a.button.added svg,
.woocommerce a.button.added i,
.woocommerce button.button.added svg,
.woocommerce button.button.added i,
a.button.added svg,
a.button.added i,
button.button.added svg,
button.button.added i {
  display: none !important;
}

/* ==================================================
   NP PSB - Hover Quantity Add To Cart
   ================================================== */

.np-psb-section .np-psb-buy-control {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 8px !important;

  position: relative !important;
  z-index: 200 !important;
  pointer-events: auto !important;
}

.np-psb-section .np-psb-buy-control > a.button.np-psb-ajax-add {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;

  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 14px !important;

  border-radius: 14px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;

  position: relative !important;
  z-index: 210 !important;
  pointer-events: auto !important;

  transition: all .18s ease !important;
}

.np-psb-section .np-psb-add-text-short,
.np-psb-section .np-psb-add-text-rest {
  display: inline-block !important;
  white-space: nowrap !important;
}

.np-psb-section .np-psb-qty-control {
  flex: 0 0 auto !important;

  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  direction: rtl !important;

  background: #fff !important;
  color: #111 !important;

  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14) !important;

  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  max-width: 0 !important;

  position: relative !important;
  z-index: 9999 !important;
  pointer-events: none !important;

  transition: opacity .18s ease, visibility .18s ease, width .18s ease, max-width .18s ease !important;
}

.np-psb-section .np-psb-card:hover .np-psb-add-text-rest,
.np-psb-section .np-psb-buy-control:hover .np-psb-add-text-rest {
  display: none !important;
}

.np-psb-section .np-psb-card:hover .np-psb-qty-control,
.np-psb-section .np-psb-buy-control:hover .np-psb-qty-control {
  opacity: 1 !important;
  visibility: visible !important;
  width: 108px !important;
  max-width: 108px !important;
  pointer-events: auto !important;
}

.np-psb-section .np-psb-qty-control *,
.np-psb-section .np-psb-qty-btn,
.np-psb-section .np-psb-qty-input {
  position: relative !important;
  z-index: 10000 !important;
  pointer-events: auto !important;
}

.np-psb-section .np-psb-qty-btn {
  width: 34px !important;
  height: 42px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  background: #fff !important;
  color: #111 !important;

  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  cursor: pointer !important;
  box-shadow: none !important;
}

.np-psb-section .np-psb-qty-btn:hover {
  background: #f2f2f2 !important;
  color: #111 !important;
}

.np-psb-section .np-psb-qty-input {
  width: 40px !important;
  height: 42px !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-left: 1px solid rgba(0,0,0,.12) !important;
  border-right: 1px solid rgba(0,0,0,.12) !important;

  background: #fff !important;
  color: #111 !important;

  text-align: center !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 42px !important;

  box-shadow: none !important;
  outline: none !important;

  user-select: text !important;
  -webkit-user-select: text !important;
  cursor: text !important;

  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

.np-psb-section .np-psb-qty-input::-webkit-outer-spin-button,
.np-psb-section .np-psb-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* موبایل: چون hover نداریم، کنترل تعداد همیشه دیده شود */
@media (max-width: 768px) {
  .np-psb-section .np-psb-add-text-rest {
    display: none !important;
  }

  .np-psb-section .np-psb-qty-control {
    opacity: 1 !important;
    visibility: visible !important;
    width: 108px !important;
    max-width: 108px !important;
    pointer-events: auto !important;
  }
}


/* ==================================================
   NP PSB - Light Glass Overlay on Product Image Hover
   کاور شیشه‌ای روشن روی عکس، بدون اختلال در لینک و قلب
   ================================================== */

.np-psb-section .np-psb-thumb {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* لینک عکس همچنان قابل کلیک و راست‌کلیک بماند */
.np-psb-section .np-psb-image-link {
  position: relative !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

/* خود عکس */
.np-psb-section .np-psb-thumb img {
  position: relative !important;
  z-index: 1 !important;
}

/* کاور شیشه‌ای روشن */
.np-psb-section .np-psb-thumb::after {
  content: "";
  position: absolute !important;
  inset: 0 !important;

  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.38),
      rgba(255, 255, 255, 0.12)
    );

  backdrop-filter: blur(3px) brightness(1.12);
  -webkit-backdrop-filter: blur(3px) brightness(1.12);

  opacity: 0 !important;
  visibility: hidden !important;

  border-radius: inherit !important;

  z-index: 2 !important;
  pointer-events: none !important;

  transition: opacity 0.22s ease, visibility 0.22s ease !important;
}

/* فقط روی هاور کارت یا خود عکس فعال شود */
.np-psb-section .np-psb-card:hover .np-psb-thumb::after,
.np-psb-section .np-psb-thumb:hover::after {
  opacity: 1 !important;
  visibility: visible !important;
}

/* قلب همیشه بالاتر از کاور بماند */
.np-psb-section .np-psb-wishlist {
  position: absolute !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}

.np-psb-section .np-psb-wishlist *,
.np-psb-section .np-psb-wishlist a,
.np-psb-section .np-psb-wishlist button {
  pointer-events: auto !important;
}

/* بعد از افزوده شدن هم روی هاور، کنترل تعداد دیده شود */
.np-psb-section .np-psb-card:hover .np-psb-buy-control:has(.np-psb-added-state) .np-psb-qty-control,
.np-psb-section .np-psb-buy-control:hover:has(.np-psb-added-state) .np-psb-qty-control {
  opacity: 1 !important;
  visibility: visible !important;
  width: 108px !important;
  max-width: 108px !important;
  pointer-events: auto !important;
}

/* متن دکمه بعد از افزودن همیشه افزوده شد بماند */
.np-psb-section .np-psb-buy-control > a.button.np-psb-added-state .np-psb-add-text-short {
  display: inline-block !important;
}

.np-psb-section .np-psb-buy-control > a.button.np-psb-added-state .np-psb-add-text-rest {
  display: none !important;
}

/* ==================================================
   NP PSB - Final Card Colors
   رنگ ثابت کارت‌های اسپلاید در همه جا
   ================================================== */

.np-psb-section .np-psb-card {
  background: #F4F4F4 !important;
  background-color: #F4F4F4 !important;
}

.np-psb-section .np-psb-price,
.np-psb-section .np-psb-price * {
  color: #686570 !important;
}

.np-psb-section .np-psb-buy-control > a.button,
.np-psb-section .np-psb-add-to-cart a.button {
  background: #0170B9 !important;
  background-color: #0170B9 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: #0170B9 !important;
}

.np-psb-section .np-psb-buy-control > a.button *,
.np-psb-section .np-psb-add-to-cart a.button * {
  color: #fff !important;
}

/* ==================================================
   NP PSB - Elementor Editor Preview Fix
   ================================================== */

body.elementor-editor-active .np-psb-section .np-psb-qty-control,
.elementor-editor-active .np-psb-section .np-psb-qty-control {
  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  max-width: 0 !important;
  pointer-events: none !important;
}

body.elementor-editor-active .np-psb-section .np-psb-card:hover .np-psb-qty-control,
body.elementor-editor-active .np-psb-section .np-psb-buy-control:hover .np-psb-qty-control,
.elementor-editor-active .np-psb-section .np-psb-card:hover .np-psb-qty-control,
.elementor-editor-active .np-psb-section .np-psb-buy-control:hover .np-psb-qty-control {
  opacity: 1 !important;
  visibility: visible !important;
  width: 108px !important;
  max-width: 108px !important;
  pointer-events: auto !important;
}

body.elementor-editor-active .np-psb-section .np-psb-buy-control,
.elementor-editor-active .np-psb-section .np-psb-buy-control {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.elementor-editor-active .np-psb-section .np-psb-buy-control > a.button,
.elementor-editor-active .np-psb-section .np-psb-buy-control > a.button {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}


/* ==================================================
   NP PSB - Better mobile vertical scroll
   اسکرول عمودی راحت‌تر در موبایل، بدون خراب شدن درگ افقی
   ================================================== */

.np-psb-section .np-psb-splide,
.np-psb-section .splide__track,
.np-psb-section .splide__list {
  touch-action: pan-y !important;
}

/* اجزای تعاملی مثل دکمه و تعداد، رفتار لمس معمولی داشته باشند */
.np-psb-section .np-psb-buy-control,
.np-psb-section .np-psb-buy-control *,
.np-psb-section .np-psb-wishlist,
.np-psb-section .np-psb-wishlist *,
.np-psb-section .np-psb-image-link {
  touch-action: manipulation !important;
}

/* ==================================================
   NP PSB - Image contain + 2 lines description
   کارت‌های اسپلاید
   ================================================== */

/* افزایش فضای عکس */
.np-psb-section .np-psb-thumb {
  height: 300px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}

/* نمایش کامل عکس بدون کراپ */
.np-psb-section .np-psb-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  border-radius: inherit !important;
}

/* لینک عکس هم گردی را نگه دارد */
.np-psb-section .np-psb-image-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit !important;
  overflow: hidden !important;
}

/* توضیح کوتاه فقط 2 خط */
.np-psb-section .np-psb-description,
.np-psb-section .np-psb-description p {
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;

  line-height: 1.7 !important;
  max-height: calc(1.7em * 2) !important;
  margin-bottom: 10px !important;
}

/* موبایل: عکس کمی جمع‌تر، ولی همچنان کامل دیده شود */
@media (max-width: 768px) {
  .np-psb-section .np-psb-thumb {
    height: 190px !important;
  }
}

@media (max-width: 480px) {
  .np-psb-section .np-psb-thumb {
    height: 175px !important;
  }
}


/* ==================================================
   NP PSB - Single Product Add To Cart Like Cards
   دکمه تک محصول شبیه کارت‌های محصول
   ================================================== */

body.single-product form.cart.np-psb-single-cart-ready {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-buy-control {
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 8px !important;

  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;

  flex: 1 1 auto !important;
  min-width: 240px !important;
  max-width: 420px !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-add-btn,
body.single-product form.cart.np-psb-single-cart-ready button.single_add_to_cart_button.np-psb-single-add-btn {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;

  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 18px !important;

  border: 0 !important;
  border-radius: 14px !important;

  background: #0170B9 !important;
  background-color: #0170B9 !important;
  background-image: none !important;
  color: #fff !important;

  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;

  box-shadow: 0 10px 22px rgba(1,112,185,.16) !important;

  position: relative !important;
  z-index: 21 !important;
  pointer-events: auto !important;

  transition: all .18s ease !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-add-btn:hover,
body.single-product form.cart.np-psb-single-cart-ready button.single_add_to_cart_button.np-psb-single-add-btn:hover {
  background: #2185D5 !important;
  background-color: #2185D5 !important;
  color: #fff !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-qty-control {
  flex: 0 0 auto !important;

  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  direction: rtl !important;

  background: #fff !important;
  color: #111 !important;

  border-radius: 14px !important;
  overflow: hidden !important;

  box-shadow: 0 6px 16px rgba(0,0,0,.14) !important;

  opacity: 0 !important;
  visibility: hidden !important;
  width: 0 !important;
  max-width: 0 !important;

  position: relative !important;
  z-index: 30 !important;
  pointer-events: none !important;

  transition:
    opacity .18s ease,
    visibility .18s ease,
    width .18s ease,
    max-width .18s ease !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-buy-control:hover .np-psb-single-qty-control {
  opacity: 1 !important;
  visibility: visible !important;
  width: 112px !important;
  max-width: 112px !important;
  pointer-events: auto !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-qty-btn {
  width: 36px !important;
  height: 46px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  background: #fff !important;
  color: #111 !important;

  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  cursor: pointer !important;
  box-shadow: none !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-qty-btn:hover {
  background: #f2f2f2 !important;
  color: #111 !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-qty-input {
  width: 40px !important;
  height: 46px !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-left: 1px solid rgba(0,0,0,.12) !important;
  border-right: 1px solid rgba(0,0,0,.12) !important;

  background: #fff !important;
  color: #111 !important;

  text-align: center !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 46px !important;

  box-shadow: none !important;
  outline: none !important;

  user-select: text !important;
  -webkit-user-select: text !important;
  cursor: text !important;

  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-qty-input::-webkit-outer-spin-button,
body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* موبایل: چون hover نداریم، کنترل تعداد همیشه دیده شود */
@media (max-width: 768px) {
  body.single-product form.cart.np-psb-single-cart-ready {
    align-items: stretch !important;
  }

  body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-buy-control {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }

  body.single-product form.cart.np-psb-single-cart-ready .np-psb-single-qty-control {
    opacity: 1 !important;
    visibility: visible !important;
    width: 112px !important;
    max-width: 112px !important;
    pointer-events: auto !important;
  }
}