body {
  background: #f9f9f9 !important;
}
.container {
  max-width: 1200px;
  margin: auto;
}
.loader-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top: 3px solid #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-left: 10px;
  vertical-align: middle;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* نمایش لودینگ روی کل لیست محصولات */
.product-grid.loading {
  position: relative;
}
.row .side-page .widget .input-group p {
  margin: 0;
}
.row .side-page .widget .input-group {
  display: flex;
  gap: 8px;
  font-size: 14px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.row .side-page .widget .input-group input {
  border: none;
  text-align: center;
  outline: none;
  border-bottom: 1px solid #ddd;
}
.product-grid.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  border: 5px solid rgba(0, 0, 0, 0.1);
  border-top: 5px solid #000;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  transform: translate(-50%, -50%);
  z-index: 10;
}
.ui-slider .ui-slider-handle {
  background: #500c59 !important;
}
.row {
  display: flex;
  gap: 16px;
  flex-direction: row;
  padding: 16px 0;
}
.row .side-page {
  width: 20%;
  display: flex;
  gap: 16px;
  flex-direction: column;
  background-color: #ffffff !important;
  margin: 0px 0px 10px 0px;
  padding: 16px 16px 16px 16px;
  border-radius: 8px 8px 8px 8px;
  box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.05);
  height: fit-content;
  z-index: 111;
}
/* Sort */
.shop-header form.woocommerce-ordering {
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    width: fi-content;
    height: 0;
    margin: 0;
    background-color: #fff;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 0 8px 64px rgba(0,0,0,.1);
}
.shop-header form.woocommerce-ordering.active {
  opacity: 1;
  height: auto;
}
ul.catelog-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  align-items: start;
  padding: 0;
}
ul.catelog-list span {
  font-size: 14px;
}

.row .main-page {
  width: 80%;
}
.shop-header {
  position: relative;
  margin-bottom: 0px;
  display: flex;
  flex-direction: row-reverse;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  background: #ffffff;
  box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.05);
  padding: 14px 24px;
  border-radius: 999px;
}
.shop-header nav.woocommerce-breadcrumb {
  margin: 0 !important;
}
h1.woocommerce-products-header__title.page-title {
  font-size: 24px;
  margin-top: 40px;
}
.shop-header li.list-inline-item a {
  color: #000000 !important;
  font-size: 14px;
}

.product-grid {
  display: flex;
  flex-wrap: wrap;
}

.product-grid .col-md-4 {
  padding: 15px;
}

.pagination {
  margin-top: 20px;
  text-align: center;
}
.row .main-page h1.shop-title {
  font-size: 22px;
  margin: 0;
  margin-bottom: 16px;
  color: #000;
}
.product-grid.loading {
  opacity: 0.5; /* 🔹 کاهش شفافیت */
  pointer-events: none; /* 🔹 جلوگیری از کلیک هنگام لود شدن */
  transition: opacity 0.3s ease-in-out;
}

.product-grid .custom-product-box {
  width: 23.5%;
  background: #ffffff;
  border-radius: 15px;
  box-shadow: 0px 4px 99px 0px rgba(0, 0, 0, 0.09);
}
.product-grid .custom-product-box .product-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.product-grid .custom-product-box .product-meta .price {
  font-size: 13px;
  font-weight: 600;
  line-height: 20.14px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  color: #c342d2;
}
.product-grid
  .custom-product-box
  .product-meta
  .price
  span.woocommerce-Price-currencySymbol {
  color: #000;
}
.product-grid .custom-product-box .product-meta .price del {
  filter: blur(1px);
  opacity: 0.5;
}
.product-grid .custom-product-box .product-info h3 {
  font-size: 15px;
  font-weight: 600;
  line-height: 23.24px;
  text-align: center;
  color: #000;
}
.product-grid .custom-product-box .product-meta {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.product-grid .custom-product-box .product-meta .product-actions {
  background-color: #500c591a;
  font-size: 14px;
  font-weight: 700;
  fill: #500c59;
  color: #500c59;
  border-radius: 100px 100px 100px 100px;
  box-shadow: 0px 4px 120px 0px rgba(0, 0, 0, 0.07);
  padding: 8px;
  display: flex;
  align-items: center;
  transition: 0.3s all ease-in-out;
}
.product-grid .custom-product-box .product-meta .product-actions:hover {
  background: #500c59;
  color: #fff;
}
.product-grid .custom-product-box .product-meta .product-actions svg {
  stroke: #500c59;
}
.product-grid .custom-product-box .product-meta .product-actions:hover svg {
  stroke: #fff;
}
.product-grid .custom-product-box .product-meta .check-btn {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-direction: row;
  font-size: 14px;
  font-weight: 700;
}
.product-grid .custom-product-box .product-meta .check-btn span {
  display: flex;
  align-items: center;
  margin-top: -6px;
}
.product-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.product-grid .custom-product-box .product-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.product-grid .custom-product-box .product-info {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.product-grid .custom-product-box .product-image {
  padding: 23px;
  border: solid 1px #0000001a;
  border-radius: 20px;
  width: 187px !important;
}
.shop-header li.list-inline-item a.active {
  color: #500c59 !important;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .row .main-page {
    width: 100%;
    padding: 0 15px;
  }
  .product-grid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
  }
  .product-grid .product {
    width: 47.5%;
  }
  .row .side-page {
    width: 100%;
  }
  .row {
    display: flex;
    gap: 16px;
    flex-direction: column;
    padding: 16px 0;
  }
  .product-grid.row {
    display: flex;
    gap: 16px;
    flex-direction: row;
    padding: 16px 0;
    justify-content: space-between;
  }
  .product-grid .custom-product-box {
    width: 48%;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0px 4px 99px 0px rgba(0, 0, 0, 0.09);
  }
}
@media screen and (max-width: 426px) {
  .product-grid .custom-product-box {
    width: 100%;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0px 4px 99px 0px rgba(0, 0, 0, 0.09);
  }
}

/* Woocommerce container */
.woocommerce-container {
  width: 1370px;
  margin: 20px auto;
  border-radius: 5px;
}

/* Woocommerce breadcrumb start */
.wb-custom-breadcrumb {
  color: #767676;
  font-size: 12px;
  font-weight: 300;
  background: #fff;
  border-radius: 5px;
}
.wb-custom-breadcrumb a {
  color: #767676 !important;
}
.wb-custom-breadcrumb a:hover {
  color: var(--wb-secondary-color) !important;
}
.wb-custom-breadcrumb a:first-child::before {
  content: "\f015"; /* کد آیکن Home */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 5px;
  color: #333;
  display: inline-block;
  padding: 4px 12px;
  border-left: 1px solid #eee;
  margin-left: 10px;
}
/* Woocommerce breadcrumb end */

.woocommerce-product-metadata-container {
  padding: 20px;
  width: 1370px;
  margin: 20px auto;
  border-radius: 5px;
  background: #fff;
}
.woocommerce-product-gallery-price-title {
  padding: 20px;
  width: 1370px;
  margin: 20px auto;
  border-radius: 5px;
  background: #fff;
  display: flex;
  flex-direction: row;
}
.woocommerce-product-gallery-price-title > .woocommerce-product-gallery-prices {
  width: 70%;
  padding: 20px;
  display: flex;
  flex-direction: column;
}

.woocommerce-product-gallery-container {
  width: 30%;
}

.woocommerce-product-gallery-price-title .woocommerce-product-gallery-images {
  border-radius: 10px;
  border: 1px solid #eee;
  padding: 20px;
  width: 100%;
}

.woocommerce-product-gallery-price-title.zoomContainer {
  border-bottom: 1px solid #eee;
}
.woocommerce-product-gallery ol li {
  display: inline-block;
  list-style: none;
  padding: 5px;
}
.woocommerce-product-gallery ol li img {
  width: 50px;
  height: auto;
}
.woocommerce-product-gallery__wrapper img {
  width: 400px !important;
}

.wb-meta-button {
  padding: 10px 20px;
  background-color: #eee;
  color: #666;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  margin-right: 10px;
}

/***************************************************************************************************/

.wb-product-meta-container {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}
/*Single product price & add to cart container*/
.wb-product-price button,
.wb-add-to-cart button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
  width: 100%;
  background-color: var(--wb-primary-color);
  border-radius: 4px;
  padding: 15px 5px;
  box-shadow: 0 5px 15px rgba(66, 66, 66, 0.34);
}

.wb-product-price button:hover,
.wb-add-to-cart button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover {
  background-color: var(--wb-secondary-color);
  box-shadow: 0 5px 15px rgba(66, 66, 66, 0.34);
}
.wb-product-actions {
  width: 60%;
  margin-bottom: 20px;
}

.wb-product-actions > div {
  display: flex;
  justify-content: flex-end;
}
.wb_pc_card {
  background: #eaeaea;
  padding: 40px 20px;
  border-radius: 4px;
  text-align: center;
  width: 370px;
}
.wb_pc_price-box {
  background: white;
  padding: 25px 15px;
  border-radius: 4px;
  font-size: 20px;
  margin-bottom: 10px;
  position: relative;
}
.wb_pc_price-box p {
  margin: 0px !important;
}
.wb_pc_price-box::before,
.wb_pc_price-box::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  background: #eaeaea;
  border-radius: 20px;
  transform: translateY(-50%);
}
.wb_pc_price-box::before {
  left: -10px;
}
.wb_pc_price-box::after {
  right: -10px;
}
.wb_pc_button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #8000ff;
  color: white !important;
  padding: 10px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
}
.wb_pc_button svg {
  margin-left: 8px;
}

.wb-product-variations button {
  width: 100%;
}

/***************************************************************************************************/

.wb-cprd-carousel {
  position: relative;
  width: 100%;
  padding: 16px;
  overflow: hidden;
}

.wb-cprd-carousel .swiper-wrapper {
  display: flex;
  align-items: center;
}

.wb-cprd-carousel .swiper-slide {
  text-align: center;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  height: 500px;
  text-align: center;
  padding: 8px 16px;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
}

.wb-cprd-carousel .swiper-slide .product-image {
  height: 300px;
  width: 300px;
  text-align: center;
}

.wb-cprd-carousel .swiper-slide .product-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.wb-cprd-carousel .swiper-slide .product-title {
  font-size: 18px;
}
.wb-cprd-carousel .swiper-button-next,
.wb-cprd-carousel .swiper-button-prev {
  color: #000;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.wb-cprd-carousel .swiper-button-next::after,
.wb-cprd-carousel .swiper-button-prev::after {
  font-size: 20px;
  font-weight: bold;
}

.wb-cprd-carousel .swiper-button-next {
  left: 0px; /* فاصله از لبه راست */
}

.wb-cprd-carousel .swiper-button-prev {
  right: 0px; /* فاصله از لبه چپ */
}

/***************************************************************************************************/
