.product-body{
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.product-gallery {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.product-gallery a {
  display: block;
  width: 120px;
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
}
.product-gallery img {
  width: 100%;
  height: auto;
  display: block;
}


#myCarousel {
  --f-arrow-pos: 10px;
  --f-arrow-bg: rgba(255,255,255,0.75);
  --f-arrow-hover-bg: rgba(255,255,255,1);
  --f-arrow-color: #333;
  --f-arrow-width: 40px;
  --f-arrow-height: 40px;
  --f-arrow-svg-width: 20px;
  --f-arrow-svg-height: 20px;
  --f-arrow-svg-stroke-width: 2px;
  --f-arrow-border-radius: 50%;

  height: 400px;
}

#myCarousel .f-carousel__slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

#myCarousel img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
}

.summary-box {
  padding-top: 15px;
}
/* .gallery-box{*/
/*   background-color: #fff;*/
/*   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);*/
/*}*/

.assistant{
  padding: 0 !important;
  background-color: #fff;
  border-right: 10px solid #f5f5f5;
}

#myCarousel {
  position: relative;
  overflow: hidden; /* برای جلوگیری از فضای اضافی */
}

#myCarousel .f-carousel__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100% !important;
  height: auto; /* اگر بخوای ارتفاع اتوماتیک باشه */
}

#myCarousel img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* تصویر کل اسلاید رو پر کنه */
  display: block;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: var(--main-radius);
}
.f-thumbs__slide img{
  border: 1px solid rgba(0,0,0,.125);
  border-radius: var(--main-radius)!important;
}
.f-thumbs__slide button{
  border-radius: var(--main-radius)!important;
}
/* دکمه‌ها روی تصویر بیفتن */
#myCarousel .f-button.is-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  padding: 6px;
  transition: background 0.3s ease;
}

#myCarousel .f-button.is-prev {
  left: 10px;
}
#myCarousel .f-button.is-next {
  right: 10px;
}

#myCarousel .f-button.is-arrow:hover {
  background: rgba(255, 255, 255, 0.9);
}

.product_title{
  border-bottom: 1px solid #e7e7e7;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--main-color);
  padding: 15px;
  padding-right: 0;
}
#myCarousel{
  margin-top: 13px;
}
.first-row , .tabs-row{
  background-color: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  border-radius: var(--main-radius);
}
.tabs-row{
  margin-top: 25px;
}
.product_meta .sku_wrapper, .product_meta .posted_in , .tagged_as{
  /*display: block;*/
  font-size: 0.9rem;
  color: #81858b;
  margin-left: 10px;
}

.product_meta span , .posted_in a{
  font-size: 0.8rem;
  color: #3f4064;
}
.woocommerce-breadcrumb{
  background-color: #fff;
  box-shadow: 0 0px 4px rgba(0, 0, 0, 0.1);
  margin: 15px auto;
  padding: 10px;
  color: #767676;
  font-size: 0.8rem;
  border-radius: var(--main-radius)
}
.woocommerce-breadcrumb a{
  color: #767676;
  font-size: 0.7rem;
}
.ivpa-info-box span.ivpa_tooltip>span{
  background-color: #9f9f9f!important;
}

.property-desc li {
  color: #8f8f8f;
  padding-right: 0px;
  margin-left: 5px;
  white-space: normal;
  list-style: none;
  font-size: 0.8rem;
  line-height: 2;
  font-weight: 700;
  margin-right: 10px;}
.property-desc .fa-square-full {
  color: #8f8f8f;
  font-size: 9px;
  position: relative;
  left: 5px;
}
.property-desc{
  margin-top: 45px;
  padding: 0;
}
.single_add_to_cart_button{
  background-color: #5B5B5B;
  color: #fff;
  font-size: 0.9rem;
  padding: 10px 15px;
  border: unset;
  font-weight: 500;
  position: relative;
  top: -1px;
  transition: all 0.3s ease;
  cursor: pointer;
  box-shadow: 0 0 5px #000000;
  border: 1px solid gainsboro;
  margin-right: 2px;
}
.single_add_to_cart_button:hover{
  font-weight: 900;
  box-shadow: 0 0 5px #6F6F6F;
}

ul.wc-tabs li {
  font-size: 1rem;
  font-weight: 900;
  padding: 8px 13px !important;
  height: 45px !important;
  border: none !important;
  margin-left: 5%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #909090;
  white-space: nowrap;
  display: inline-block;
  width: 150px;
  text-align: center;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer;
  position: relative;
  border: none !important;

}

ul.wc-tabs li.active {
  border: none !important;
  border-top: 3px solid var(--main-color) !important;
  border-radius: 0px !important;
  width: 150px;
}
ul.wc-tabs li::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;                /* شروع از سمت راست */
  height: 3px;
  width: 100%;
  background: var(--main-color);
  transform: scaleX(0);    /* مخفی */
  transform-origin: right; /* انیمیشن از راست به چپ */
  transition: transform 0.3s ease;
}
ul.wc-tabs li.active::before {
  content: none;  /* کلاً از بین میره */
}
ul.wc-tabs li:hover::before {
  transform: scaleX(1);    /* ظاهر شدن خط */
}
.tabs.wc-tabs{
  text-align: center;
}
.sf-product-percent {
  position: absolute;
  right: 4%;
  top: 4%;
  width: 33px;
  height: 33px;
  text-align: justify;
  background-color: #5b5b5b;
  border-radius: 50%;
  font-size: 0.7rem;
  font-weight: 900;
  font-family: "Vazir FD";
  padding: 0px;
  padding-top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #5e5e5e;
  color: #ffffff;
  z-index: 9;
}
.first-row .sf-product-percent {
  position: relative;
  right: 4%;
  top: 7%;
  margin-bottom: -6.6%;
}
.upsell-highlight {
  animation: blink-border 0.8s ease-in-out 3;
}

@keyframes blink-border {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
  50% { box-shadow: 0 0 5px 4px rgb(199 199 199 / 60%); }
}

/*.woocommerce-message{*/
/*  display: none;*/
/*}*/

/* برای Chrome, Safari, Edge و سایر مرورگرهای Webkit */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* برای Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/* استایل کلی برای زیباتر شدن */
input[type=number] {
  appearance: textfield; /* استاندارد جدید */
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 15px;
}


/* مخفی کردن پیشفرض */
.woocommerce-notices-wrapper {
  position: fixed;
  top: 20px;
  right: 20px;
  width: auto;
  max-width: 300px;
  z-index: 9999;
  pointer-events: none; /* نوتیفیکیشن کلیک‌ناپذیر باشه */
}

/* استایل کلی پیام‌ها */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
  border-radius: 10px;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
  color: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
  opacity: 0;
  transform: translateX(50px);
  animation: toastIn 0.4s forwards;
}

/* رنگ‌بندی */
.woocommerce-notices-wrapper .woocommerce-message {
  background: #2ecc71; /* سبز موفقیت */
}
.woocommerce-notices-wrapper .woocommerce-error {
  background: #e74c3c; /* قرمز خطا */
}
.woocommerce-notices-wrapper .woocommerce-info {
  background: #3498db; /* آبی اطلاع‌رسانی */
}

/* دکمه‌ها */
.woocommerce-notices-wrapper a.button {
  background: rgba(255,255,255,0.2);
  color: #fff !important;
  border-radius: 6px;
  padding: 5px 10px;
  margin-left: 10px;
  font-size: 13px;
  transition: 0.3s;
}
.woocommerce-notices-wrapper a.button:hover {
  background: rgba(255,255,255,0.35);
}

/* انیمیشن ظاهر شدن */
@keyframes toastIn {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* انیمیشن محو شدن */
@keyframes toastOut {
  to {
    opacity: 0;
    transform: translateX(50px);
  }
}


.cmnt-title-box {
  font-size: 13px;
  text-align: right;
  max-width: 351px;
  width: auto;
  background: #fff;
  padding: 8px 40px 0 20px;
  border-radius: 40px 0 0 40px;
  line-height: 33px;
  position: relative;
  box-shadow: 0 0 9px 0 #80808040;
  margin: -25px 25px;
  display: block;
  min-height: 49px
}

.comment-text {
  color: #fff;
  margin: 0 15px 20px 0;
  border: none;
  border-radius: var(--main-radius);
  padding: 12px 15px 1px;
  box-shadow: 0 0 9px 0 #80808040;
  margin-bottom: 40px;
}


.cmnt-title-box img {
  position: absolute;
  margin-left: 7px;
  margin-bottom: 7px;
  width: 60px;
  height: 60px;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 0 10px 0 rgb(157 157 157 / 25%);
  right: -30px;
  top: -5.5px;
  background: #fff;
  padding: 15px;
  color: var(--main-color)
}

.stars-box {
  margin-top: 28px
}

p.meta {
  margin-top: -17px!important
}

li.review,li.comment {
  list-style-type: none
}

p.stars a {
  color: var(--main-color);
  font-size: 15px;
  border: 1px solid var(--main-color);
  border-radius: 50%;
  width: 23px;
  height: 23px;
  display: inline-block;
  text-align: center
}

p.stars a.active {
  background-color: var(--main-color);
  color: #fff!important;
}

p.comment-form-comment textarea {
  border: 1px solid var(--main-color);
  border-radius: var(--main-radius);
  min-width: 100%
}

p.boyamorSupport {
  margin-top: 0px!important
}
.comment-text .description {
  margin-top: 35px;
}
.comment-text p.meta {
  margin-top: -42px !important;
}
.quantity {
  display: inline-flex;
  align-items: center;

  border-radius: 0;
  overflow: hidden;
}
.quantity input.qty {
  width: 40px;
  text-align: center;
  border-radius: 0;
  font-size: 16px;
  padding: 8px;
  outline: none;
  border: 1px solid #ddd;
}
.quantity button {
  background: #f1f1f1;
  border: none;
  padding: 6px 11px;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  transition: 0.2s;
  border: 1px solid #ddd;
}
.quantity button:hover {
  background: #ddd;
}
.plus{
  font-size: 16px!important;
  padding: 8px 9px!important;
}


/* کانتینر */
.custom-toast-container {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px; /* فاصله بین توست‌ها */
}

/* خود توست */
.custom-toast {
  background: #2ecc71;
  color: #fff;
  padding: 12px 18px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  opacity: 0;
  transition: opacity 0.4s ease;
  font-size: 14px;
  min-width: 200px;
  flex-shrink: 0;
}
.custom-toast.error {
  background: #e74c3c;
}
.custom-toast.show {
  opacity: 1;
}



#ivpa-content .ivpa_attribute[data-attribute="pa_size"].ivpa_text.ivpa_border .ivpa_term.ivpa_active.ivpa_clicked{
  background-color: var(--main-color)!important;
  color: #fff!important;
  border: unset!important;
}
#ivpa-content .ivpa_custom_option.ivpa_text.ivpa_border .ivpa_term, #ivpa-content .ivpa_attribute.ivpa_text.ivpa_border .ivpa_term {
  padding: 4px 10px!important;
  font-family: "Vazir FD"!important;
}
.price{
  margin-top: 20px;

}
.price bdi , .count{
  font-family: "Vazir FD";
}
.price-box{
  box-shadow: 0 0 4px hsla(0,0%,74.9%,.35);
  padding: 15px;
}
.out-of-stock,.in-stock{
  font-size: 0.9rem;
}
.fa-star{
  color: #f5a623;
  font-size: 14px;
}
.woocommerce-product-rating{
  font-size: 14px;
}
.rate-box{
  display: inline-block;
}
.wc-tab h2{
  font-size: 1rem;
  font-weight: 900;
}
.wc-tab table{
  width: 75%;
  margin: 0 auto;
  border-collapse: collapse;

}

.wc-tab table th, table td {
  padding: 4px 12px;
  border-bottom: 1px solid #e5e7eb;
}
.wc-tab table tbody tr:hover {
  background: #e9eef6; /* رنگ هاور */
}
.wc-tab table tbody tr:nth-child(odd)  { background: #f7f7f7; }
.wc-tab table tbody tr:nth-child(even) { background: #ececec; }
.entry-content {
  counter-reset: footnotes;
  padding: 15px;
  text-align: justify;
  font-size: 0.9rem;}
.entry-content p{

}
.footsize{
  width: 100%;
  height: auto;
}
.info-box{
  background-color: #727272;
  box-shadow: 0 0 3px #6F6F6F;
  padding: 10px;
  text-align: center;
  font-size: 0.9rem;
  margin-top: 25px;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
}
.info-row > div:last-child .info-box {
  box-shadow: 0 0 5px #6F6F6F;
  border: 0.1px solid #fff;
}
#popupContent table{
  width: 100%!important;
}
.font-semibold{
  font-size: 1.2rem;
  font-weight: 900;
}
.text-gray-700{
  font-size: 0.9rem;
}

.info-box:hover {
  background-color: #5B5B5B;
  box-shadow: 0 0 3px #5B5B5B;

}
.info-box .fa-solid{
  color: #eee;
  position: relative;
  top: 2px;
  font-size: 1rem;
}
.gallery-box img{
  margin-bottom: 25px;
}
.related.products{
  margin-top: 25px;
  padding: 15px;
  background-color: #fff;
  box-shadow: 0 0 3px hsla(0, 0%, 74.9%, .35);
}
.related.products h2{
  font-size: 1.2rem;
  font-weight: 900;
  margin-bottom: 20px;
  padding-right: 5px;
}
.produc-card{
  padding: 0!important;
}
/*pop up*/

.ppup {
  background-color: rgb(0 0 0 / 0.4);
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;   /* وسط عمودی */
  justify-content: center; /* وسط افقی */
  z-index: 999;
  inset: 0px;
  position: fixed;
  z-index: 999;
}

.flex{
  display: flex;
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.popup-enter {
  animation: popupShow 0.3s forwards;
}
.max-w-sm {
  max-width: 35%;
  height: auto;
  max-height: 90vh;
  margin: 0 auto;
  padding: 55px;
  padding-bottom: 20px;
  margin-top: 4vh;
  overflow-y: auto;
}
.redclose {
  --tw-bg-opacity: 1;
  background-color: var(--main-color);
  margin-top: 1rem;
  color: #fff;
  padding: 5px 10px;
  font-size: 0.9rem;}
#popupContent{
  margin-bottom: 2vh;
}
.hidden {
  display: none;
}
.woocommerce-variation-price{
  margin-bottom: 15px;
}
.woocommerce-variation-availability p{
  font-size: 0.8rem;
}

.woocommerce-variation-price .price del bdi {
  font-size: 0.8rem;
}
.woocommerce-variation-price ins{
  text-decoration: none;
}
.woocommerce-variation-price .woocommerce-Price-amount bdi{
  color: #5b5b5b;
  font-size: 0.9rem;
  font-weight: 900;
}
.no_upsells{
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.5;
  filter: grayscale(100%);
  border: unset!important;
}



@media only screen and (max-width: 450px) {
  .max-w-sm {
    max-width: 95%;
  }
  .text-gray-700{
    font-size: 1.1rem;
  }
  .info-row {
    padding: 15px;
  }
  .first-row .sf-product-percent {
    position: relative;
    right: 4%;
    top: 7%;
    margin-bottom: -12.6%;
  }
  .summary.entry-summary {
    padding: 15px;
  }

  .single_variation_wrap {
    text-align: center;
  }

  .info-box {
    min-height: 100px;
    padding: 10px 3px;
  }

  .info-box i {
    display: block;
    margin: 0 auto;
    font-size: 22px;
    margin-bottom: 10px;
    color: #5b5b5b;
  }

  .tabs.wc-tabs {
    padding-right: 0;
  }

  ul.wc-tabs li, ul.wc-tabs li.active {
    width: auto;
  }

  .sf-product-percent {
    position: relative;
    right: 4%;
    top: 6%;
    margin-bottom: -10%;
    width: 40px;
    height: 40px;

  }
  .banners-box img {
    width: 100%;
    height: auto;
    display: block;
  }
  .banners-box {
    margin-right: 0 !important;
    margin-left: 0 !important;
    overflow-x: hidden; /* جلوگیری از اسکرول */
  }
  .center-banner {
    margin: 0 !important;
  }
}