/* ========================================================================== */
/* Pezhinal Product — Canonical V40                                            */
/* One owner. No refinement generations, no state-specific alternate layout.  */
/* ========================================================================== */

body.single-product.pz-product-template-v40 {
  --pz-product-ink: #171717;
  --pz-product-muted: #766f66;
  --pz-product-line: #e8e0d4;
  --pz-product-soft: #fbf8f2;
  --pz-product-panel: #f3f2f6;
  --pz-product-gold: #bf8d2d;
  --pz-product-gold-dark: #8d651d;
  --pz-product-danger: #bd4a4a;
  --pz-product-radius: 20px;
}

/* Parent theme reset — product context only. */
body.single-product.pz-product-template-v40 .container_inner.default_template_holder {
  padding-top: 0 !important;
}
body.single-product.pz-product-template-v40 div.product.qode-product-with-gallery,
body.single-product.pz-product-template-v40 div.product.type-product {
  width: min(calc(100% - 32px), 1320px) !important;
  max-width: 1320px !important;
  margin: 26px auto 42px !important;
  padding: 0 !important;
  float: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.single-product.pz-product-template-v40 div.product > .product_meta,
body.single-product.pz-product-template-v40 .woocommerce-product-gallery__trigger,
body.single-product.pz-product-template-v40 .pp_overlay,
body.single-product.pz-product-template-v40 .pp_pic_holder,
body.single-product.pz-product-template-v40 .pswp {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* -------------------------------------------------------------------------- */
/* Unified hero                                                               */
/* -------------------------------------------------------------------------- */
body.single-product.pz-product-template-v40 .pz-product-hero-v40 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(370px, .9fr) minmax(0, 1.1fr) !important;
  grid-template-areas: "summary gallery" !important;
  align-items: stretch !important;
  direction: ltr !important;
  overflow: hidden !important;
  border: 1px solid var(--pz-product-line) !important;
  border-radius: var(--pz-product-radius) !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(31,24,12,.06) !important;
}
body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .woocommerce-product-gallery,
body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .qode-single-product-summary {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 560px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  direction: rtl !important;
}
body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .woocommerce-product-gallery {
  grid-area: gallery !important;
  position: relative !important;
  border-left: 1px solid var(--pz-product-line) !important;
}
body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .qode-single-product-summary {
  grid-area: summary !important;
  display: flex !important;
  padding: clamp(22px,2.1vw,32px) !important;
}
body.single-product.pz-product-template-v40 .qode-single-product-summary .summary,
body.single-product.pz-product-template-v40 .pz-product-summary-v40 {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--pz-product-ink) !important;
}
body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .clearfix {
  display: contents !important;
}

/* -------------------------------------------------------------------------- */
/* Gallery                                                                    */
/* -------------------------------------------------------------------------- */
body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40 {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 72px minmax(0,1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 14px !important;
  overflow: hidden !important;
  direction: ltr !important;
}
body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40.pz-gallery-single-image {
  grid-template-columns: minmax(0,1fr) !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-main-v40 {
  grid-column: 2 !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 15px !important;
  background: var(--pz-product-panel) !important;
  transition: opacity .16s ease, transform .16s ease !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-single-image .pz-gallery-main-v40 {
  grid-column: 1 !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-main-v40.is-changing {
  opacity: .72 !important;
  transform: scale(.995) !important;
}
body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40 .woocommerce-product-gallery__image {
  display: none !important;
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40 .woocommerce-product-gallery__image:first-child,
body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40 .woocommerce-product-gallery__image:first-child > a {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40 .woocommerce-product-gallery__image:first-child > a {
  cursor: zoom-in !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-main-v40 img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(8px,1.2vw,18px) !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  pointer-events: none !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-thumbs-v40 {
  grid-column: 1 !important;
  width: 72px !important;
  max-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 1px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
  direction: rtl !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-thumbs-v40::-webkit-scrollbar { display:none !important; }
body.single-product.pz-product-template-v40 .pz-gallery-thumb {
  width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  flex: 0 0 64px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto !important;
  padding: 3px !important;
  overflow: hidden !important;
  border: 1px solid #e5ddd1 !important;
  border-radius: 10px !important;
  background: #fff !important;
  cursor: pointer !important;
  opacity: .78 !important;
  transition: border-color .16s ease, opacity .16s ease, box-shadow .16s ease !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-thumb.is-active {
  border-color: var(--pz-product-gold) !important;
  box-shadow: 0 0 0 2px rgba(191,141,45,.13) !important;
  opacity: 1 !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
}

/* Wishlist heart — one control on the gallery. */
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 8 !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e7dfd3 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.96) !important;
  color: #2b2926 !important;
  box-shadow: 0 8px 22px rgba(28,23,15,.10) !important;
  text-indent: -9999px !important;
  cursor: pointer !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode::before {
  content: "♡" !important;
  display: block !important;
  text-indent: 0 !important;
  color: #24211e !important;
  font-size: 24px !important;
  line-height: 1 !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode.qwfw--added::before {
  content: "♥" !important;
  color: #d63f47 !important;
}

/* -------------------------------------------------------------------------- */
/* Summary                                                                    */
/* -------------------------------------------------------------------------- */
body.single-product.pz-product-template-v40 .pz-product-tags-v40 {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
}
body.single-product.pz-product-template-v40 .pz-product-tags-v40 a {
  min-height: 29px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  border: 1px solid #e6d6b7 !important;
  border-radius: 999px !important;
  background: #fffaf0 !important;
  color: #8b641c !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}
body.single-product.pz-product-template-v40 .pz-product-title-v40 {
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: var(--pz-product-ink) !important;
  font-size: clamp(21px,1.72vw,27px) !important;
  font-weight: 850 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-align: right !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}
body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price {
  width: 100% !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid #eadfca !important;
  border-radius: 12px !important;
  background: var(--pz-product-soft) !important;
  color: var(--pz-product-gold-dark) !important;
  font-size: clamp(19px,1.5vw,24px) !important;
  font-weight: 850 !important;
  line-height: 1.45 !important;
  text-align: right !important;
}
body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price :is(.amount,bdi) {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

body.single-product.pz-product-template-v40 .pz-product-details-v40 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product.pz-product-template-v40 .pz-product-details-list-v40 {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 7px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid #e8e1d7 !important;
  border-radius: 14px !important;
  background: #fcfbf8 !important;
  list-style: none !important;
}
body.single-product.pz-product-template-v40 .pz-product-details-list-v40 > li {
  position: relative !important;
  margin: 0 !important;
  padding: 6px 15px 6px 0 !important;
  border: 0 !important;
  color: #4f4a43 !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.78 !important;
  text-align: right !important;
  unicode-bidi: plaintext !important;
}
body.single-product.pz-product-template-v40 .pz-product-details-list-v40 > li::before {
  content: "" !important;
  position: absolute !important;
  top: 15px !important;
  right: 1px !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: var(--pz-product-gold) !important;
}
body.single-product.pz-product-template-v40 .pz-product-details-list-v40 > li:first-child {
  margin-bottom: 3px !important;
  padding-top: 8px !important;
  padding-bottom: 11px !important;
  border-bottom: 1px solid #eee6da !important;
  color: #2f2c28 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

/* Purchase zone — same place in both states. */
body.single-product.pz-product-template-v40 .pz-purchase-zone-v40 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 9px !important;
  margin: auto 0 0 !important;
  padding: 2px 0 0 !important;
  box-sizing: border-box !important;
}
body.single-product.pz-product-template-v40 .pz-stock-v40 {
  width: 100% !important;
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 8px 11px !important;
  box-sizing: border-box !important;
  border: 1px solid #d8ecdf !important;
  border-radius: 11px !important;
  background: #f4fbf6 !important;
  color: #287747 !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  line-height: 1.5 !important;
}
body.single-product.pz-product-template-v40 .pz-stock-v40::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  flex: 0 0 7px !important;
  border-radius: 50% !important;
  background: #3d9a61 !important;
  box-shadow: 0 0 0 3px rgba(61,154,97,.11) !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 118px minmax(0,1fr) !important;
  gap: 9px !important;
  align-items: stretch !important;
  direction: rtl !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 > * {
  min-width: 0 !important;
  max-width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity,
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity {
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;
  display: grid !important;
  grid-template-columns: 34px 50px 34px !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border: 1px solid var(--pz-product-line) !important;
  background: #fff !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity :is(.minus,.plus,.qty) {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--pz-product-ink) !important;
  text-align: center !important;
  line-height: 52px !important;
  box-shadow: none !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity :is(.minus,.plus) {
  font-size: 19px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity .qty {
  font-size: 14px !important;
  font-weight: 750 !important;
  box-shadow: inset 1px 0 0 #eee6da, inset -1px 0 0 #eee6da !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button {
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid #171717 !important;
  background: #171717 !important;
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40.pz-single-unit-v40 {
  grid-template-columns: minmax(0,1fr) !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40.pz-single-unit-v40 .quantity {
  display: none !important;
}

/* Sold state keeps the same summary skeleton; only purchase semantics change. */
body.single-product.pz-product-template-v40.pz-product-state-sold .pz-product-summary-v40 > .price,
body.single-product.pz-product-template-v40.pz-product-state-sold .pz-product-summary-v40 > .stock,
body.single-product.pz-product-template-v40.pz-product-state-sold .pz-product-summary-v40 form.cart {
  display: none !important;
}
body.single-product.pz-product-template-v40 .pz-sold-status-v40 {
  width: fit-content !important;
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  border: 1px solid #f0cccc !important;
  border-radius: 999px !important;
  background: #fff4f4 !important;
  color: var(--pz-product-danger) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
body.single-product.pz-product-template-v40 .pz-sold-alternatives {
  width: 100% !important;
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 11px 16px !important;
  box-sizing: border-box !important;
  border: 1px solid #171717 !important;
  border-radius: 12px !important;
  background: #171717 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
}
body.single-product.pz-product-template-v40.pz-product-state-sold .woocommerce-product-gallery img {
  opacity: 1 !important;
  filter: none !important;
}

/* -------------------------------------------------------------------------- */
/* Description and related products                                           */
/* -------------------------------------------------------------------------- */
body.single-product.pz-product-template-v40 .pz-product-description-v40 {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 34px auto 0 !important;
  padding: 22px 24px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--pz-product-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(28,24,18,.04) !important;
}
body.single-product.pz-product-template-v40 .pz-product-description-v40 :is(.tabs,.q_tabs-nav) {
  margin: 0 0 14px !important;
  padding: 0 0 11px !important;
  border-bottom: 1px solid #eee7dc !important;
}
body.single-product.pz-product-template-v40 .pz-product-description-v40 :is(.tabs,.q_tabs-nav) li,
body.single-product.pz-product-template-v40 .pz-product-description-v40 :is(.tabs,.q_tabs-nav) a {
  color: #1f1e1c !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
body.single-product.pz-product-template-v40 .pz-product-description-panel-v40,
body.single-product.pz-product-template-v40 .pz-product-description-panel-v40 p {
  color: #504b44 !important;
  font-size: 13px !important;
  line-height: 2.05 !important;
  text-align: right !important;
}

body.single-product.pz-product-template-v40 .related.products.pz-related-products-v40 {
  width: 100% !important;
  margin: 52px auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
}
body.single-product.pz-product-template-v40 .related.products :is(.qode-related-upsells-title,.pz-related-title-v40) {
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  color: #171717 !important;
  font-size: clamp(24px,2.1vw,31px) !important;
  font-weight: 850 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}
body.single-product.pz-product-template-v40 .related.products ul.products {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product.pz-product-template-v40 .related.products ul.products > li.product {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
}
body.single-product.pz-product-template-v40 .related.products ul.products > li:is(.outofstock,.pz-is-sold,.pz-product-card-sold) {
  display: none !important;
}
body.single-product.pz-product-template-v40 .related.products :is(.pz-product-card-title,h6),
body.single-product.pz-product-template-v40 .related.products :is(.pz-product-card-price,.price) {
  text-align: center !important;
}
body.single-product.pz-product-template-v40 .related.products :is(.pz-product-card-title,h6) {
  font-size: 13px !important;
  line-height: 1.75 !important;
  font-weight: 700 !important;
}
body.single-product.pz-product-template-v40 .related.products :is(.pz-product-card-price,.price) {
  font-size: 13px !important;
  line-height: 1.6 !important;
  font-weight: 750 !important;
}
body.single-product.pz-product-template-v40 .pz-related-shop-cta {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 20px auto 46px !important;
}
body.single-product.pz-product-template-v40 .pz-related-shop-cta__button {
  min-width: 176px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 24px !important;
  border: 1px solid var(--pz-product-gold) !important;
  border-radius: 12px !important;
  background: var(--pz-product-gold) !important;
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

/* -------------------------------------------------------------------------- */
/* Lightbox                                                                   */
/* -------------------------------------------------------------------------- */
html.pz-product-lightbox-open,
body.pz-product-lightbox-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000000 !important;
  display: grid !important;
  place-items: center !important;
  padding: 16px !important;
  overflow: hidden !important;
  background: rgba(9,9,9,.88) !important;
  backdrop-filter: blur(5px) !important;
  box-sizing: border-box !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 * { box-sizing:border-box !important; }
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__backdrop {
  position:absolute !important; inset:0 !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__dialog {
  position: relative !important;
  z-index: 2 !important;
  width: min(96vw,1100px) !important;
  height: min(94dvh,980px) !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: grid !important;
  grid-template-rows: minmax(0,1fr) 64px !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  overflow: hidden !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__stage {
  position: relative !important;
  width: min(84vmin,920px) !important;
  height: min(84vmin,920px) !important;
  max-width: calc(100vw - 48px) !important;
  max-height: calc(100dvh - 104px) !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.34) !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__stage > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 :is(.pz-product-lightbox__close,.pz-product-lightbox__nav) {
  position:absolute !important;
  z-index:5 !important;
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(211,200,182,.9) !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.96) !important;
  color:#181818 !important;
  box-shadow:0 7px 20px rgba(0,0,0,.14) !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 :is(.pz-product-lightbox__close,.pz-product-lightbox__nav) svg {
  width:22px !important; height:22px !important; fill:none !important; stroke:currentColor !important; stroke-width:2 !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__close { top:14px !important; right:14px !important; }
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__prev { top:50% !important; right:14px !important; transform:translateY(-50%) !important; }
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__next { top:50% !important; left:14px !important; transform:translateY(-50%) !important; }
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__counter {
  position:absolute !important;
  top:15px !important;
  left:15px !important;
  z-index:4 !important;
  min-height:30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  background:rgba(20,20,20,.72) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:750 !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__thumbs {
  width:min(84vmin,920px) !important;
  max-width:100% !important;
  height:64px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:safe center !important;
  gap:7px !important;
  margin:0 auto !important;
  padding:3px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none !important;
  direction:rtl !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__thumbs::-webkit-scrollbar { display:none !important; }
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__thumb {
  width:56px !important;
  height:56px !important;
  flex:0 0 56px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  padding:2px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.42) !important;
  border-radius:9px !important;
  background:rgba(255,255,255,.9) !important;
  opacity:.75 !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__thumb.is-active {
  border-color:var(--pz-product-gold) !important;
  opacity:1 !important;
  box-shadow:0 0 0 2px rgba(191,141,45,.22) !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__thumb img {
  width:100% !important; height:100% !important; object-fit:contain !important;
}
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40.pz-product-lightbox--single .pz-product-lightbox__nav,
body.single-product.pz-product-template-v40 .pz-product-lightbox-v40.pz-product-lightbox--single .pz-product-lightbox__thumbs { display:none !important; }

/* -------------------------------------------------------------------------- */
/* Responsive                                                                 */
/* -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  body.single-product.pz-product-template-v40 .pz-product-hero-v40 {
    grid-template-columns: minmax(330px,.92fr) minmax(0,1.08fr) !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .qode-single-product-summary {
    padding: 20px !important;
  }
}

@media (max-width: 767px) {
  body.single-product.pz-product-template-v40 div.product.qode-product-with-gallery,
  body.single-product.pz-product-template-v40 div.product.type-product {
    width: calc(100% - 20px) !important;
    margin: 14px auto 28px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-hero-v40 {
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-areas: "gallery" "summary" !important;
    border-radius: 16px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .woocommerce-product-gallery,
  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .qode-single-product-summary {
    min-height: 0 !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .woocommerce-product-gallery {
    border-left: 0 !important;
    border-bottom: 1px solid var(--pz-product-line) !important;
  }
  body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40 {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 9px !important;
    direction: rtl !important;
  }
  body.single-product.pz-product-template-v40 .pz-gallery-main-v40 {
    order:1 !important;
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    border-radius:13px !important;
  }
  body.single-product.pz-product-template-v40 .pz-gallery-thumbs-v40 {
    order:2 !important;
    width:100% !important;
    max-height:none !important;
    flex-direction:row !important;
    justify-content:flex-start !important;
    gap:7px !important;
    padding:1px 1px 2px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    direction:rtl !important;
  }
  body.single-product.pz-product-template-v40 .pz-gallery-thumb {
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    flex-basis:54px !important;
  }
  body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 {
    top:18px !important;
    right:18px !important;
    width:40px !important;
    height:40px !important;
  }
  body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode {
    width:40px !important;
    height:40px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .qode-single-product-summary {
    padding:15px 13px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-summary-v40 {
    gap:10px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-title-v40 {
    font-size:18px !important;
    line-height:1.58 !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price {
    min-height:48px !important;
    padding:10px 12px !important;
    font-size:19px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-details-list-v40 {
    padding:6px 11px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-details-list-v40 > li {
    padding:6px 13px 6px 0 !important;
    font-size:11.5px !important;
    line-height:1.75 !important;
  }
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 {
    grid-template-columns:104px minmax(0,1fr) !important;
    gap:7px !important;
  }
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity {
    width:104px !important;
    min-width:104px !important;
    max-width:104px !important;
    grid-template-columns:29px 46px 29px !important;
  }
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button {
    padding-inline:10px !important;
    font-size:11px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-description-v40 {
    width:calc(100% - 4px) !important;
    margin-top:24px !important;
    padding:17px 13px !important;
    border-radius:14px !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-products-v40 {
    margin-top:38px !important;
  }
  body.single-product.pz-product-template-v40 .related.products :is(.qode-related-upsells-title,.pz-related-title-v40) {
    margin-bottom:17px !important;
    font-size:23px !important;
  }
  body.single-product.pz-product-template-v40 .related.products ul.products {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  body.single-product.pz-product-template-v40 .related.products :is(.pz-product-card-title,h6),
  body.single-product.pz-product-template-v40 .related.products :is(.pz-product-card-price,.price) {
    font-size:11.5px !important;
  }
  body.single-product.pz-product-template-v40 .pz-related-shop-cta {
    margin-top:17px !important;
    margin-bottom:34px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 {
    padding:8px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__dialog {
    width:calc(100vw - 16px) !important;
    height:calc(100dvh - 16px) !important;
    grid-template-rows:minmax(0,1fr) 58px !important;
    overflow:hidden !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__stage {
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    min-height:0 !important;
    border-radius:14px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__thumbs {
    width:100% !important;
    max-width:100% !important;
    height:58px !important;
    justify-content:flex-start !important;
    padding:3px max(3px,calc((100% - min(100%,272px))/2)) !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 .pz-product-lightbox__thumb {
    width:50px !important;
    height:50px !important;
    flex-basis:50px !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-lightbox-v40 :is(.pz-product-lightbox__close,.pz-product-lightbox__nav) {
    width:40px !important;
    height:40px !important;
  }
}

/* ========================================================================== */
/* PRODUCT HARDENING V41 — single source corrections                          */
/* Root causes fixed here: Bridge quantity globals, QODE wishlist geometry,   */
/* non-list short descriptions, and related cards drifting from Shop cards.   */
/* ========================================================================== */

/* Wishlist: stable SVG geometry instead of a font glyph. */
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 {
  top: 16px !important;
  right: 16px !important;
  width: 40px !important;
  height: 40px !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode {
  position: relative !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e7dfd3 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.97) !important;
  color: #25221f !important;
  box-shadow: 0 7px 20px rgba(28,23,15,.10) !important;
  text-indent: 0 !important;
  line-height: 0 !important;
  transform: none !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode::before,
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode::after {
  content: none !important;
  display: none !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode > :is(.qwfw-m-spinner,.qwfw-m-icon,.qwfw-m-text,.qwfw-m-count,.qwfw-m-tooltip) {
  display: none !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .pz-wishlist-heart-icon {
  width: 21px !important;
  height: 21px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  transform: translateY(.25px) !important;
  transition: opacity .16s ease, transform .16s ease !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .pz-wishlist-heart-icon svg {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  overflow: visible !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .pz-wishlist-heart-icon path {
  fill: transparent !important;
  stroke: #292621 !important;
  stroke-width: 1.75 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
  transition: fill .16s ease, stroke .16s ease !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw--added .pz-wishlist-heart-icon path {
  fill: #d94850 !important;
  stroke: #d94850 !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw--loading .pz-wishlist-heart-icon {
  opacity: .48 !important;
  transform: translateY(.25px) scale(.92) !important;
}

/* Purchase row: Bridge globally adds 52px side padding and margin to quantity.
   Flex ownership here prevents the +/- control from escaping under the card. */
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 9px !important;
  direction: rtl !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 > * {
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity {
  position: relative !important;
  inset: auto !important;
  flex: 0 0 118px !important;
  width: 118px !important;
  min-width: 118px !important;
  max-width: 118px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  display: grid !important;
  grid-template-columns: 34px 50px 34px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--pz-product-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  vertical-align: top !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity :is(.minus,.plus,.qty) {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--pz-product-ink) !important;
  text-align: center !important;
  line-height: 52px !important;
  transform: none !important;
  box-shadow: none !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 0 16px !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40.pz-single-unit-v40 {
  display: block !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40.pz-single-unit-v40 .quantity {
  display: none !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40.pz-single-unit-v40 .single_add_to_cart_button {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
}

/* Related products = the same visual contract as the Shop grid. */
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products::before,
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products::after {
  content: none !important;
  display: none !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product {
  position: relative !important;
  isolation: isolate !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #e4ded4 !important;
  border-radius: 17px !important;
  outline: 0 !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(26,21,12,.045) !important;
  transform: translate3d(0,0,0) !important;
  transition: transform .28s cubic-bezier(.2,.75,.25,1), box-shadow .28s ease, border-color .2s ease !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product::before {
  content: none !important;
  display: none !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product::after {
  content: "" !important;
  position: absolute !important;
  inset: -1px !important;
  z-index: 30 !important;
  pointer-events: none !important;
  border: 2px solid var(--pz-product-gold) !important;
  border-radius: inherit !important;
  opacity: 0 !important;
  transform: scale(.994) !important;
  box-shadow: 0 0 0 0 rgba(189,138,49,0) !important;
  transition: opacity .22s ease, transform .28s cubic-bezier(.2,.75,.25,1), box-shadow .28s ease !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:hover,
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:focus-within {
  border-color: transparent !important;
  transform: translate3d(0,-4px,0) !important;
  box-shadow: 0 16px 38px rgba(61,43,12,.12) !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:hover::after,
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:focus-within::after {
  opacity: 1 !important;
  transform: scale(1) !important;
  box-shadow: 0 0 0 1px rgba(189,138,49,.08) !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product :is(.top-product-section,.top-product-section > a,.image-wrapper) {
  position: relative !important;
  width: 100% !important;
  display: block !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product .top-product-section {
  aspect-ratio: 1/1 !important;
  overflow: hidden !important;
  border-bottom: 1px solid #e5e0d7 !important;
  background: #f2f1f5 !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product :is(.top-product-section > a,.image-wrapper) {
  height: 100% !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product .top-product-section img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 19px !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 0 !important;
  background: #f2f1f5 !important;
  transform: scale(1.23) !important;
  transform-origin: 50% 50% !important;
  transition: transform .32s cubic-bezier(.2,.75,.25,1), opacity .22s ease, filter .22s ease !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold):hover .top-product-section img,
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold):focus-within .top-product-section img {
  transform: scale(1.285) !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product :is(.product-categories,.add-to-cart-button-outer) {
  display: none !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info {
  position: relative !important;
  width: 100% !important;
  min-height: 117px !important;
  height: 117px !important;
  padding: 14px 16px 13px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  text-decoration: none !important;
  text-align: right !important;
  box-sizing: border-box !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(h6.pz-product-card-title,h6) {
  position: static !important;
  width: 100% !important;
  min-height: 40.2px !important;
  max-height: 40.2px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  color: #181715 !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1.68 !important;
  text-align: right !important;
  transform: none !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(span.price.pz-product-card-price,span.price) {
  position: static !important;
  width: 100% !important;
  min-height: 25px !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  overflow: hidden !important;
  border-top: 1px solid #f0eadf !important;
  color: var(--pz-product-gold-dark) !important;
  font-size: 12.5px !important;
  font-weight: 760 !important;
  line-height: 1.5 !important;
  text-align: right !important;
  white-space: nowrap !important;
  transform: none !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > .price * {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

@media (max-width:1024px) {
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width:767px) {
  body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 {
    top: 14px !important;
    right: 14px !important;
  }
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 {
    gap: 7px !important;
  }
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity {
    flex-basis: 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    grid-template-columns: 29px 46px 29px !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product .top-product-section img {
    padding: 10px !important;
    transform: scale(1.19) !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold):hover .top-product-section img,
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold):focus-within .top-product-section img {
    transform: scale(1.19) !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info {
    min-height: 108px !important;
    height: 108px !important;
    padding: 10px 9px 9px !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(h6.pz-product-card-title,h6) {
    min-height: 37px !important;
    max-height: 37px !important;
    font-size: 10.7px !important;
    line-height: 1.72 !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(span.price.pz-product-card-price,span.price) {
    min-height: 22px !important;
    font-size: 9.8px !important;
    line-height: 1.5 !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:hover,
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:focus-within {
    transform: none !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:hover::after,
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:focus-within::after {
    opacity: 0 !important;
  }
}


/* V42 stability: QODE wishlist remains native; suppress only its relocated tooltip. */
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-m-tooltip,
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 [class*="tooltip"] {
  display: none !important;
}


/* ========================================================================== */
/* PRODUCT FINAL POLISH V45 — partial related rows + reliable 5s toast        */
/* ========================================================================== */

/* Center incomplete desktop rows without changing the approved card geometry. */
@media (min-width: 1025px) {
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41.pz-related-count-3 ul.products {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    width: min(100%, 972px) !important;
    max-width: 972px !important;
    margin-inline: auto !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41.pz-related-count-2 ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    width: min(100%, 640px) !important;
    max-width: 640px !important;
    margin-inline: auto !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41.pz-related-count-1 ul.products {
    grid-template-columns: minmax(0,1fr) !important;
    width: min(100%, 308px) !important;
    max-width: 308px !important;
    margin-inline: auto !important;
  }
}

/* Stable wishlist heart host: QODE keeps AJAX ownership, the wrapper owns visuals. */
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 {
  top: 16px !important;
  right: 16px !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  border: 1px solid #e7dfd3 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 7px 20px rgba(28,23,15,.10) !important;
  color: #292621 !important;
  cursor: pointer !important;
  isolation: isolate !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background-color .18s ease !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40::before {
  content: "♡" !important;
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  color: #292621 !important;
  font-family: Arial,"Helvetica Neue",sans-serif !important;
  font-size: 27px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  pointer-events: none !important;
  transform: translateY(-.5px) !important;
  transition: color .18s ease, transform .18s ease, opacity .18s ease !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40.pz-wishlist-is-added::before {
  content: "♥" !important;
  color: #d94c55 !important;
  font-size: 24px !important;
  transform: scale(1.02) !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40.pz-wishlist-is-loading::before {
  opacity: .46 !important;
  transform: scale(.91) !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40:hover,
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40:focus-within {
  border-color: rgba(190,145,53,.48) !important;
  background: #fffdf8 !important;
  box-shadow: 0 9px 24px rgba(28,23,15,.13) !important;
  transform: translateY(-1px) !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  opacity: .001 !important;
  cursor: pointer !important;
  transform: none !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode::before,
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode::after {
  content: none !important;
  display: none !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-add-to-wishlist.qwfw-shortcode > * {
  display: none !important;
}
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 .qwfw-m-tooltip,
body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 [class*="tooltip"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Pezhinal 5-second wishlist toast. Entire toast opens the wishlist page. */
body.single-product .pz-wishlist-toast-v45 {
  position: fixed !important;
  left: 50% !important;
  bottom: max(24px,env(safe-area-inset-bottom)) !important;
  z-index: 10050 !important;
  box-sizing: border-box !important;
  width: min(400px,calc(100vw - 28px)) !important;
  min-height: 68px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) 28px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px 12px 13px 14px !important;
  overflow: hidden !important;
  border: 1px solid rgba(190,145,53,.34) !important;
  border-radius: 16px !important;
  background: rgba(255,253,248,.99) !important;
  box-shadow: 0 18px 48px rgba(28,23,15,.16),0 3px 10px rgba(28,23,15,.06) !important;
  color: #29251f !important;
  direction: rtl !important;
  text-align: right !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  cursor: pointer !important;
  transform: translate(-50%,28px) scale(.985) !important;
  transition: opacity .22s ease,transform .32s cubic-bezier(.2,.72,.2,1),visibility 0s linear .32s !important;
}
body.single-product .pz-wishlist-toast-v45.pz-is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate(-50%,0) scale(1) !important;
  transition-delay: 0s !important;
}
body.single-product .pz-wishlist-toast-v45.pz-is-leaving {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate(-50%,24px) scale(.985) !important;
}
body.single-product .pz-wishlist-toast-v45__icon {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #f8efdc !important;
  color: #a97820 !important;
  font-family: Arial,"Helvetica Neue",sans-serif !important;
  font-size: 19px !important;
  line-height: 1 !important;
}
body.single-product .pz-wishlist-toast-v45.pz-is-added .pz-wishlist-toast-v45__icon {
  background: #fff0f1 !important;
  color: #d94c55 !important;
}
body.single-product .pz-wishlist-toast-v45__copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
body.single-product .pz-wishlist-toast-v45__title {
  color: #25211d !important;
  font: inherit !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  line-height: 1.65 !important;
}
body.single-product .pz-wishlist-toast-v45__meta {
  color: #82796d !important;
  font: inherit !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}
body.single-product .pz-wishlist-toast-v45__close {
  width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(190,145,53,.22) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #5f574c !important;
  font-family: Arial,sans-serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
body.single-product .pz-wishlist-toast-v45__progress {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 3px !important;
  overflow: hidden !important;
  background: rgba(190,145,53,.08) !important;
  pointer-events: none !important;
}
body.single-product .pz-wishlist-toast-v45__progress i {
  display: block !important;
  width: 0 !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,rgba(190,145,53,.36),rgba(190,145,53,.82)) !important;
}
body.single-product .pz-wishlist-toast-v45.pz-is-visible .pz-wishlist-toast-v45__progress i {
  animation: pz-wishlist-toast-progress-v45 5s linear forwards !important;
}
@keyframes pz-wishlist-toast-progress-v45 {
  from { width: 0; }
  to { width: 100%; }
}

@media (max-width: 767px) {
  body.single-product .pz-wishlist-toast-v45 {
    bottom: max(14px,env(safe-area-inset-bottom)) !important;
    width: calc(100vw - 20px) !important;
    min-height: 64px !important;
    grid-template-columns: 32px minmax(0,1fr) 26px !important;
    gap: 8px !important;
    padding: 10px 10px 12px 12px !important;
    border-radius: 14px !important;
  }
  body.single-product .pz-wishlist-toast-v45__icon {
    width: 32px !important;
    height: 32px !important;
    font-size: 18px !important;
  }
  body.single-product .pz-wishlist-toast-v45__title { font-size: 12.5px !important; }
  body.single-product .pz-wishlist-toast-v45__meta { font-size: 11px !important; }
  body.single-product .pz-wishlist-toast-v45__close {
    width: 26px !important;
    height: 26px !important;
    font-size: 17px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-product .pz-wishlist-toast-v45,
  body.single-product .pz-gallery-wishlist-v40,
  body.single-product .pz-gallery-wishlist-v40::before {
    transition: none !important;
  }
  body.single-product .pz-wishlist-toast-v45__progress i {
    animation-timing-function: steps(20,end) !important;
  }
}

/* ========================================================================== 
   RELATED PRODUCTS POLISH V51 — align with approved Shop card interaction
   ========================================================================== */
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product {
  border: 1px solid #e4ded4 !important;
  box-shadow: 0 8px 24px rgba(26,21,12,.045) !important;
  transition: transform .28s cubic-bezier(.2,.75,.25,1), box-shadow .28s ease, border-color .2s ease !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:hover,
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:focus-within {
  border-color: rgba(189,138,49,.62) !important;
  transform: translate3d(0,-4px,0) !important;
  box-shadow: 0 16px 38px rgba(61,43,12,.12) !important;
}
/* Remove the extra pseudo-border layer that caused the odd doubled/gold hover look. */
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product::after,
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:hover::after,
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:focus-within::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}
/* Available related products must never inherit sold/faded hover visuals. */
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold) .top-product-section img {
  opacity: 1 !important;
  filter: none !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold):hover .top-product-section img,
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold):focus-within .top-product-section img {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1.285) !important;
}
/* Text sizing now follows the shared Product Card hierarchy instead of the older tiny Product-page override. */
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(h6.pz-product-card-title,h6) {
  font-family: IRANYekan, Tahoma, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 780 !important;
  line-height: 1.62 !important;
  letter-spacing: 0 !important;
}
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(span.price.pz-product-card-price,span.price),
body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(span.price.pz-product-card-price,span.price) * {
  font-family: IRANYekan, Tahoma, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  line-height: 1.5 !important;
  font-variant-numeric: tabular-nums !important;
}

@media (max-width: 767px) {
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:hover,
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:focus-within {
    border-color: #e4ded4 !important;
    transform: none !important;
    box-shadow: 0 8px 24px rgba(26,21,12,.045) !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold):hover .top-product-section img,
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product:not(.outofstock):not(.pz-product-card-sold):not(.pz-is-sold):focus-within .top-product-section img {
    transform: scale(1.19) !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(h6.pz-product-card-title,h6) {
    font-size: 11.5px !important;
    line-height: 1.72 !important;
  }
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(span.price.pz-product-card-price,span.price),
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products > li.product > a.product-info > :is(span.price.pz-product-card-price,span.price) * {
    font-size: 10.5px !important;
  }
}

/* ========================================================================
   PRODUCT TYPOGRAPHY + TITLE BAR — V52
   Scope: single product only. Keep the approved product/gallery/related UI.
   ======================================================================== */

/* Bridge uses the Shop page title for WooCommerce singles by default. V52's
   PHP filter supplies the actual product title; this block owns presentation. */
body.single-product.pz-product-template-v40 .title_outer {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 2 !important;
  width: min(1320px, calc(100% - 48px)) !important;
  min-height: 0 !important;
  height: auto !important;
  display: block !important;
  margin: 22px auto 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e6ddd0 !important;
  border-radius: 17px !important;
  background:
    radial-gradient(circle at 12% 30%, rgba(200,155,60,.08), transparent 30%),
    linear-gradient(135deg, #fff, #fbfaf7) !important;
  box-shadow: 0 8px 26px rgba(22,17,7,.035) !important;
}
body.single-product.pz-product-template-v40 .title_outer .title,
body.single-product.pz-product-template-v40 .title_outer .title_holder,
body.single-product.pz-product-template-v40 .title_outer .title_holder > .container,
body.single-product.pz-product-template-v40 .title_outer .title_holder > .container > .container_inner {
  position: static !important;
  width: 100% !important;
  min-height: 92px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  transform: none !important;
}
body.single-product.pz-product-template-v40 .title_outer .title_subtitle_holder {
  width: 100% !important;
  min-height: 92px !important;
  margin: 0 !important;
  padding: 17px 30px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  direction: rtl !important;
  text-align: right !important;
  box-sizing: border-box !important;
}
body.single-product.pz-product-template-v40 .title_outer h1,
body.single-product.pz-product-template-v40 .title_outer h1 span {
  min-width: 0 !important;
  max-width: 900px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #171717 !important;
  background: transparent !important;
  font-family: IRANYekan, Tahoma, Arial, sans-serif !important;
  font-size: clamp(18px, 1.55vw, 25px) !important;
  font-weight: 800 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
  text-align: right !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}
body.single-product.pz-product-template-v40 .title_outer .breadcrumb,
body.single-product.pz-product-template-v40 .title_outer .breadcrumbs,
body.single-product.pz-product-template-v40 .title_outer .breadcrumbs_inner {
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #8b8376 !important;
  background: transparent !important;
  font-family: IRANYekan, Tahoma, Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  text-align: left !important;
  white-space: nowrap !important;
  transform: none !important;
}
body.single-product.pz-product-template-v40 .title_outer .breadcrumb a {
  color: #6d675e !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
body.single-product.pz-product-template-v40 .title_outer .breadcrumb a:hover {
  color: #9a6f21 !important;
}
/* The product name is now the real page H1, so don't repeat the same long text
   as the last breadcrumb item. Keep only Home / Shop beneath/beside the H1. */
body.single-product.pz-product-template-v40 .title_outer .breadcrumb .current,
body.single-product.pz-product-template-v40 .title_outer .breadcrumb .delimiter:has(+ .current) {
  display: none !important;
}

/* Price + purchase controls must use the site's canonical Persian font rather
   than Bridge/WooCommerce button/price font declarations. */
body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price,
body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price *,
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40,
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 button,
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 input,
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button,
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button * {
  font-family: IRANYekan, Tahoma, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price {
  direction: rtl !important;
  unicode-bidi: plaintext !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}
body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price :is(.woocommerce-Price-amount,.amount,bdi,.woocommerce-Price-currencySymbol) {
  font-family: IRANYekan, Tahoma, Arial, sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button {
  font-family: IRANYekan, Tahoma, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity :is(.minus,.plus,.qty) {
  font-family: IRANYekan, Tahoma, Arial, sans-serif !important;
}

@media (max-width: 767px) {
  body.single-product.pz-product-template-v40 .title_outer {
    width: calc(100% - 20px) !important;
    margin: 12px auto 14px !important;
    border-radius: 14px !important;
  }
  body.single-product.pz-product-template-v40 .title_outer .title,
  body.single-product.pz-product-template-v40 .title_outer .title_holder,
  body.single-product.pz-product-template-v40 .title_outer .title_holder > .container,
  body.single-product.pz-product-template-v40 .title_outer .title_holder > .container > .container_inner,
  body.single-product.pz-product-template-v40 .title_outer .title_subtitle_holder {
    min-height: 0 !important;
  }
  body.single-product.pz-product-template-v40 .title_outer .title_subtitle_holder {
    padding: 14px 16px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 5px !important;
  }
  body.single-product.pz-product-template-v40 .title_outer h1,
  body.single-product.pz-product-template-v40 .title_outer h1 span {
    max-width: 100% !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
  }
  body.single-product.pz-product-template-v40 .title_outer .breadcrumb,
  body.single-product.pz-product-template-v40 .title_outer .breadcrumbs,
  body.single-product.pz-product-template-v40 .title_outer .breadcrumbs_inner {
    width: 100% !important;
    font-size: 10.5px !important;
    text-align: right !important;
    white-space: normal !important;
  }
  body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price {
    font-size: 18px !important;
  }
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button {
    font-size: 12.5px !important;
  }
}


/* ========================================================================== 
   PRODUCT CART TOAST V53 — replace the native WooCommerce success banner
   with the same interaction language as the approved wishlist toast.
   ========================================================================== */
body.single-product .woocommerce-notices-wrapper > .woocommerce-message:has(.pz-added-message),
body.single-product > .woocommerce-message:has(.pz-added-message),
body.single-product .woocommerce-message.pz-added-message {
  display: none !important;
}

body.single-product .pz-cart-toast-v53 {
  position: fixed !important;
  left: 50% !important;
  bottom: max(24px,env(safe-area-inset-bottom)) !important;
  z-index: 10060 !important;
  box-sizing: border-box !important;
  width: min(400px,calc(100vw - 28px)) !important;
  min-height: 68px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) 28px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px 12px 13px 14px !important;
  overflow: hidden !important;
  border: 1px solid rgba(190,145,53,.34) !important;
  border-radius: 16px !important;
  background: rgba(255,253,248,.99) !important;
  box-shadow: 0 18px 48px rgba(28,23,15,.16),0 3px 10px rgba(28,23,15,.06) !important;
  color: #29251f !important;
  direction: rtl !important;
  text-align: right !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  cursor: pointer !important;
  transform: translate(-50%,28px) scale(.985) !important;
  transition: opacity .22s ease,transform .32s cubic-bezier(.2,.72,.2,1),visibility 0s linear .32s !important;
}
body.single-product .pz-cart-toast-v53.pz-is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate(-50%,0) scale(1) !important;
  transition-delay: 0s !important;
}
body.single-product .pz-cart-toast-v53.pz-is-leaving {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translate(-50%,24px) scale(.985) !important;
}
body.single-product .pz-cart-toast-v53__icon {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #eef8f1 !important;
  color: #218452 !important;
  font-family: Arial,"Helvetica Neue",sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
body.single-product .pz-cart-toast-v53__copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
body.single-product .pz-cart-toast-v53__title {
  color: #25211d !important;
  font-family: IRANYekan,YekanBakh,Tahoma,sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  line-height: 1.65 !important;
}
body.single-product .pz-cart-toast-v53__meta {
  color: #82796d !important;
  font-family: IRANYekan,YekanBakh,Tahoma,sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}
body.single-product .pz-cart-toast-v53__close {
  width: 28px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(190,145,53,.22) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #5f574c !important;
  font-family: Arial,sans-serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
body.single-product .pz-cart-toast-v53__progress {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 3px !important;
  overflow: hidden !important;
  background: rgba(190,145,53,.08) !important;
  pointer-events: none !important;
}
body.single-product .pz-cart-toast-v53__progress i {
  display: block !important;
  width: 0 !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,rgba(190,145,53,.36),rgba(190,145,53,.82)) !important;
}
body.single-product .pz-cart-toast-v53.pz-is-visible .pz-cart-toast-v53__progress i {
  animation: pz-cart-toast-progress-v53 5s linear forwards !important;
}
@keyframes pz-cart-toast-progress-v53 {
  from { width: 0; }
  to { width: 100%; }
}

@media (max-width: 767px) {
  body.single-product .pz-cart-toast-v53 {
    bottom: max(14px,env(safe-area-inset-bottom)) !important;
    width: calc(100vw - 20px) !important;
    min-height: 64px !important;
    grid-template-columns: 32px minmax(0,1fr) 26px !important;
    gap: 8px !important;
    padding: 10px 10px 12px 12px !important;
    border-radius: 14px !important;
  }
  body.single-product .pz-cart-toast-v53__icon {
    width: 32px !important;
    height: 32px !important;
    font-size: 17px !important;
  }
  body.single-product .pz-cart-toast-v53__title { font-size: 12.5px !important; }
  body.single-product .pz-cart-toast-v53__meta { font-size: 11px !important; }
  body.single-product .pz-cart-toast-v53__close {
    width: 26px !important;
    height: 26px !important;
    font-size: 17px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-product .pz-cart-toast-v53 { transition: none !important; }
  body.single-product .pz-cart-toast-v53__progress i { animation-timing-function: steps(20,end) !important; }
}


/* ==========================================================================
   PRODUCT AJAX ADD-TO-CART V54 — no reload, Woo fragments remain canonical.
   ========================================================================== */
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button.pz-is-loading {
  opacity: .68 !important;
  cursor: wait !important;
  pointer-events: none !important;
}
body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button.pz-is-loading::after {
  content: "" !important;
  display: inline-block !important;
  width: 13px !important;
  height: 13px !important;
  margin-inline-start: 8px !important;
  border: 2px solid rgba(255,255,255,.45) !important;
  border-top-color: #fff !important;
  border-radius: 50% !important;
  vertical-align: -2px !important;
  animation: pz-cart-button-spin-v54 .7s linear infinite !important;
}
@keyframes pz-cart-button-spin-v54 { to { transform: rotate(360deg); } }

/* Never reserve vertical space for an empty WooCommerce notice wrapper. */
body.single-product .woocommerce-notices-wrapper:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ================================================================
   AJAX CART V55 — no native success banner, canonical toast only
   ================================================================ */
body.single-product .woocommerce-notices-wrapper > .woocommerce-message,
body.single-product > .woocommerce-message {
  display: none !important;
}

body.single-product .pz-cart-toast-v53.pz-is-error {
  border-color: rgba(190, 72, 72, .28) !important;
}
body.single-product .pz-cart-toast-v53.pz-is-error .pz-cart-toast-v53__icon {
  color: #b84545 !important;
  border-color: rgba(190, 72, 72, .24) !important;
  background: rgba(190, 72, 72, .07) !important;
}
body.single-product .pz-cart-toast-v53.pz-is-error .pz-cart-toast-v53__progress i {
  background: #b84545 !important;
}

/* ================================================================
   AJAX CART V56 — deterministic pending/success toast
   ================================================================ */
body.single-product .pz-cart-toast-v53.pz-is-pending {
  cursor: default !important;
  pointer-events: none !important;
}
body.single-product .pz-cart-toast-v53.pz-is-pending .pz-cart-toast-v53__icon {
  position: relative !important;
  background: rgba(190,145,53,.08) !important;
  border: 1px solid rgba(190,145,53,.22) !important;
}
body.single-product .pz-cart-toast-v53.pz-is-pending .pz-cart-toast-v53__icon::before {
  content: "" !important;
  width: 14px !important;
  height: 14px !important;
  border: 2px solid rgba(190,145,53,.28) !important;
  border-top-color: #be9135 !important;
  border-radius: 50% !important;
  animation: pz-cart-toast-pending-v56 .72s linear infinite !important;
}
body.single-product .pz-cart-toast-v53.pz-is-pending .pz-cart-toast-v53__progress i {
  animation: none !important;
  opacity: .55 !important;
  transition: width .25s ease !important;
}
@keyframes pz-cart-toast-pending-v56 { to { transform: rotate(360deg); } }

/* ================================================================
   PRODUCT V58 — INLINE "VIEW CART" CLEANUP
   Cart navigation is owned by the Pezhinal toast. WooCommerce may
   append an .added_to_cart.wc-forward link beside the CTA after an
   AJAX success; keep it out of the single-product purchase area.
   ================================================================ */
body.single-product .summary a.added_to_cart.wc-forward,
body.single-product .pz-purchase-zone-v40 a.added_to_cart.wc-forward,
body.single-product form.cart a.added_to_cart.wc-forward {
  display: none !important;
}


/* ================================================================
   PRODUCT V59 — UNIFIED WOOCOMMERCE NOTICE TOAST
   Success / stock-limit / validation / info all use the same toast
   presentation. Legacy WooCommerce banners never occupy page layout.
   ================================================================ */
body.single-product .woocommerce-notices-wrapper > .woocommerce-message,
body.single-product .woocommerce-notices-wrapper > .woocommerce-error,
body.single-product .woocommerce-notices-wrapper > .woocommerce-info,
body.single-product > .woocommerce-message,
body.single-product > .woocommerce-error,
body.single-product > .woocommerce-info {
  display: none !important;
}

body.single-product .woocommerce-notices-wrapper {
  min-height: 0 !important;
}

body.single-product .pz-cart-toast-v53.pz-is-error[data-cart-url],
body.single-product .pz-cart-toast-v53.pz-is-info[data-cart-url] {
  cursor: pointer !important;
}

body.single-product .pz-cart-toast-v53.pz-is-info {
  border-color: rgba(190,145,53,.28) !important;
}
body.single-product .pz-cart-toast-v53.pz-is-info .pz-cart-toast-v53__icon {
  color: #9a6e16 !important;
  border-color: rgba(190,145,53,.24) !important;
  background: rgba(190,145,53,.08) !important;
  font-family: Arial, sans-serif !important;
  font-weight: 800 !important;
}
body.single-product .pz-cart-toast-v53.pz-is-info .pz-cart-toast-v53__progress i {
  background: #be9135 !important;
}


/* ==========================================================================
   PRODUCT MOBILE CANONICAL V65
   One mobile geometry owner. The actual Bridge content container is widened
   first; children then use percentage widths only. No vw/dvw, no left:50%,
   no translateX and therefore no horizontal drift.
   ========================================================================== */
@media (max-width: 767px) {
  html,
  body.single-product.pz-product-template-v40 {
    overflow-x: clip !important;
  }

  /* Root cause fix: Bridge's real product parent was still narrower than the
     viewport. Own the actual default_template_holder directly. */
  body.single-product.pz-product-template-v40 .content,
  body.single-product.pz-product-template-v40 .content_inner,
  body.single-product.pz-product-template-v40 .content > .container,
  body.single-product.pz-product-template-v40 .content .container,
  body.single-product.pz-product-template-v40 .content .container_inner,
  body.single-product.pz-product-template-v40 .container_inner.default_template_holder {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 .container_inner.default_template_holder {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.single-product.pz-product-template-v40 .title_outer {
    position: static !important;
    inset: auto !important;
    width: calc(100% - 4px) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 10px auto 18px !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 div.product.qode-product-with-gallery,
  body.single-product.pz-product-template-v40 div.product.type-product {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto 44px !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-hero-v40 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-areas: "gallery" "summary" !important;
    overflow: hidden !important;
    border-radius: 17px !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .woocommerce-product-gallery,
  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .qode-single-product-summary,
  body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40,
  body.single-product.pz-product-template-v40 .pz-gallery-main-v40,
  body.single-product.pz-product-template-v40 .pz-gallery-thumbs-v40,
  body.single-product.pz-product-template-v40 .pz-product-summary-v40 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .woocommerce-product-gallery {
    border-left: 0 !important;
    border-bottom: 1px solid var(--pz-product-line) !important;
  }

  body.single-product.pz-product-template-v40 .woocommerce-product-gallery.pz-gallery-v40 {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 10px !important;
    direction: rtl !important;
  }

  body.single-product.pz-product-template-v40 .pz-gallery-main-v40 {
    order: 1 !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
  }

  body.single-product.pz-product-template-v40 .pz-gallery-thumbs-v40 {
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 1px 0 3px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    direction: rtl !important;
  }
  body.single-product.pz-product-template-v40 .pz-gallery-thumbs-v40::-webkit-scrollbar {
    display: none !important;
  }

  body.single-product.pz-product-template-v40 .pz-gallery-thumb {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    flex: 0 0 56px !important;
  }

  body.single-product.pz-product-template-v40 .pz-gallery-wishlist-v40 {
    top: 17px !important;
    right: 17px !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-hero-v40 > .qode-single-product-summary {
    min-height: 0 !important;
    padding: 20px 15px 18px !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-summary-v40 {
    gap: 13px !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-title-v40 {
    margin: 1px 0 0 !important;
    font-size: 18px !important;
    line-height: 1.62 !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-summary-v40 > .price {
    min-height: 52px !important;
    padding: 12px 13px !important;
    font-size: 19px !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-details-list-v40 {
    padding: 9px 11px !important;
    border-radius: 13px !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-details-list-v40 > li {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    font-size: 11.5px !important;
    line-height: 1.78 !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-stock-v40,
  body.single-product.pz-product-template-v40 .stock {
    min-height: 38px !important;
  }

  /* Purchase row: CTA owns the available width; quantity remains readable. */
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin-top: 1px !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity {
    flex: 0 0 92px !important;
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    display: grid !important;
    grid-template-columns: 28px 36px 28px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity :is(.minus,.plus,.qty) {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity .qty {
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity .qty::-webkit-outer-spin-button,
  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity .qty::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
  }

  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40.pz-single-unit-v40 .single_add_to_cart_button {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  body.single-product.pz-product-template-v40 .pz-product-description-v40 {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 30px !important;
    padding: 18px 14px !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 .related.products.pz-related-products-v40,
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41,
  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products,
  body.single-product.pz-product-template-v40 .pz-related-shop-cta {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body.single-product.pz-product-template-v40 .related.products.pz-related-products-v40 {
    margin-top: 46px !important;
  }

  body.single-product.pz-product-template-v40 .related.products :is(.qode-related-upsells-title,.pz-related-title-v40) {
    margin-bottom: 20px !important;
    font-size: 22px !important;
  }

  body.single-product.pz-product-template-v40 .related.products.pz-related-shop-grid-v41 ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 11px !important;
  }

  body.single-product.pz-product-template-v40 .pz-related-shop-cta {
    margin-top: 22px !important;
    margin-bottom: 40px !important;
  }
}

body.single-product.pz-product-template-v40 form.cart.pz-product-cart-v40 .quantity :is(.plus,.minus).pz-qty-limit {
  opacity: .38 !important;
  cursor: default !important;
}
