/* ==================================================
   دکمه شورت‌کد (qvp-trigger)
   ================================================== */
button.qvp-trigger,
a.qvp-trigger,
.qvp-trigger{
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;height:42px !important;
  min-width:42px !important;min-height:42px !important;
  max-width:42px !important;max-height:42px !important;
  padding:0 !important;margin:0 !important;
  background:#00606C !important;color:#fff !important;
  border:0 !important;border-radius:50% !important;
  box-shadow:0 2px 8px rgba(0,96,108,.25) !important;
  font-size:22px !important;font-weight:400 !important;
  line-height:1 !important;text-align:center !important;
  text-decoration:none !important;outline:none !important;
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease !important;
  box-sizing:border-box !important;vertical-align:middle !important;overflow:hidden !important;
}
/* ==================================================
   کانتینر قیمت + دکمه در پاپ‌آپ
   قیمت راست | دکمه چپ
   ================================================== */
.qvp-form .qvp-actions{
  grid-column:1 / -1;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  margin-top:6px;
}

/* قیمت — سمت راست */
.qvp-form .qvp-actions .qvp-price{
  flex:0 0 auto;
  margin:0;
  font-size:16px;
  font-weight:700;
  color:#00606C;
  text-align:right;
}

/* دکمه — سمت چپ */
.qvp-form .qvp-actions .qvp-add{
  flex:0 0 auto;
  width:auto !important;
  min-width:180px;
  max-width:60%;
  height:50px;
  padding:0 24px;
}

/* واکنش‌گرا: توی موبایل زیر هم بشن */
@media (max-width: 520px){
  .qvp-form .qvp-actions{
    flex-direction:column-reverse;
    align-items:stretch;
    gap:10px;
  }
  .qvp-form .qvp-actions .qvp-add{
    width:100% !important;
    max-width:100%;
    min-width:0;
  }
  .qvp-form .qvp-actions .qvp-price{
    text-align:center;
  }
}
button.qvp-trigger:hover,
a.qvp-trigger:hover,
.qvp-trigger:hover{
  background:#00808f !important;
  box-shadow:0 4px 14px rgba(0,96,108,.4) !important;
  transform:translateY(-2px) !important;
}
.qvp-trigger .qvp-trigger-icon{
  display:inline-flex !important;align-items:center !important;
  justify-content:center !important;width:100% !important;
  height:100% !important;line-height:1 !important;
  color:inherit !important;transition:transform .3s ease !important;
}
.qvp-trigger:hover .qvp-trigger-icon{transform:rotate(90deg) !important;}

/* مخفی کردن توضیحات پیش‌فرض ووکامرس */
.custom-wc-variable-form .woocommerce-variation-description,
.single_variation .woocommerce-variation-description{
  display:none !important;
}

/* ==================================================
   اورلی و پاپ‌آپ
   ================================================== */
.qvp-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  z-index:99999;display:none;align-items:center;justify-content:center;padding:16px;
}
.qvp-overlay.qvp-open{display:flex;}

.qvp-modal{
  background:#fff;max-width:520px;width:100%;max-height:90vh;
  overflow-y:auto;border-radius:18px;padding:22px;
  position:relative;direction:rtl;
  font-family:'ایران سنس','IRANSans',sans-serif;
  box-shadow:0 20px 50px rgba(0,0,0,.18);
  animation:qvp-fade-in .25s ease;
}
@keyframes qvp-fade-in{
  from{opacity:0;transform:translateY(8px) scale(.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

.qvp-close {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: #9ca3af !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color .2s ease !important;
  outline: none !important;
  text-decoration: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  font-family: Arial, sans-serif !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

.qvp-close:hover,
.qvp-close:focus,
.qvp-close:active {
  background: transparent !important;
  background-color: transparent !important;
  color: #8B0000 !important;
  transform: none !important;
  outline: none !important;
  box-shadow: none !important;
  border: 0 !important;
  text-decoration: none !important;
}

.qvp-title{
  margin:0 0 16px;font-size:16px;font-weight:700;
  color:#00606C;font-family:'ایران سنس','IRANSans',sans-serif;
}

/* ==================================================
   ⚡ استایل مشترک فرم متغیر
   ⚡ هم برای پاپ‌آپ (.qvp-form) هم صفحه محصول (.custom-wc-variable-form)
   ================================================== */

/* کانتینر اصلی فرم */
.qvp-form,
.custom-wc-variable-form{
  font-family:'ایران سنس','IRANSans',sans-serif;
  direction:rtl;
  background:#ffffff;
  border-radius:14px;
  padding:10px;
  max-width:700px;
  box-sizing:border-box;
}
.custom-wc-variable-form{
  box-shadow:0 12px 30px rgba(0,0,0,.05);
  padding:22px;
}

/* ---------- گرید دو ستونه برای فیلدها ---------- */

/* پاپ‌آپ: هر qvp-field مستقیم داخل فرم میاد */
.qvp-form > .qvp-field,
.qvp-form{
  /* گرید روی خود فرم */
}
.qvp-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:14px;
  row-gap:14px;
}
/* توضیحات، قیمت، دکمه و input های مخفی کل عرض بگیرن */
.qvp-form .qvp-desc,
.qvp-form .qvp-price,
.qvp-form .qvp-add,
.qvp-form input[type="hidden"]{
  grid-column:1 / -1;
}

/* صفحه محصول: table.variations داخل custom-wc-variable-form */
.custom-wc-variable-form table.variations{
  width:100%;
  border-collapse:separate;
  border-spacing:14px 14px;
  margin:0 -14px 16px -14px;
}
.custom-wc-variable-form table.variations tbody{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  width:calc(100% + 28px);
}
.custom-wc-variable-form table.variations tr{
  display:flex;
  flex-direction:column;
  width:100%;
  background:transparent;
}
.custom-wc-variable-form table.variations td{
  padding:0 !important;
  border:0;
  background:transparent !important;
  display:block;
  width:100%;
}
.custom-wc-variable-form table.variations td.label{
  width:100%;
  padding:0 !important;
  margin-bottom:6px;
}
.custom-wc-variable-form table.variations td.value{
  width:100%;
  padding:0 !important;
}
/* وقتی تعداد ویژگی فرد باشه، آخرین آیتم کل عرض رو بگیره */
.custom-wc-variable-form table.variations tr:last-child:nth-child(odd){
  grid-column:1 / -1;
}

/* حالت تک‌ویژگی: تک ستونه */
.custom-wc-variable-form.single-variation table.variations tbody{
  grid-template-columns:1fr;
}

/* ---------- لیبل ---------- */
.qvp-form .qvp-field label,
.custom-wc-variable-form table.variations td.label label{
  display:block;
  margin:0 0 6px !important;
  font-weight:600;
  font-size:14px;
  color:#00606C;
  padding:0 !important;
}

/* ---------- سلکت ---------- */
.qvp-form select,
.custom-wc-variable-form select{
  width:100%;
  height:44px;
  padding:0 36px 0 12px;
  font-size:14px;
  font-family:inherit;
  border-radius:10px;
  border:1px solid #d1d5db;
  background-color:#fff;
  color:#111827;
  transition:all .25s ease;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2300606C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;
  background-position:left 14px center;
  box-sizing:border-box;
}
.qvp-form select:focus,
.custom-wc-variable-form select:focus{
  outline:none;
  border-color:#F9C606;
  box-shadow:0 0 0 3px rgba(249,198,6,.15);
}

/* ---------- توضیحات واریانت ---------- */
.qvp-form .qvp-desc,
.custom-wc-variable-form .woocommerce-variation-description{
  padding:14px 15px;
  background:#fff;
  border:1px solid #d1d5db;
  border-radius:15px;
  margin:14px 0;
  font-size:13.5px;
  line-height:1.9;
  color:#00606C;
  transition:all .3s ease;
}
.qvp-form .qvp-desc:empty,
.custom-wc-variable-form .woocommerce-variation-description:empty{display:none;}
.qvp-form .qvp-desc p,
.custom-wc-variable-form .woocommerce-variation-description p{
  margin-bottom:0 !important;
}

/* ---------- قیمت ---------- */
.qvp-form .qvp-price,
.custom-wc-variable-form .woocommerce-variation-price{
  font-size:16px;
  font-weight:700;
  color:#00606C;
  margin:10px 0 14px;
}
.qvp-form .qvp-price:empty{display:none;}
.qvp-form .qvp-price .price,
.qvp-form .qvp-price .woocommerce-Price-amount,
.qvp-form .qvp-price .woocommerce-Price-amount bdi,
.custom-wc-variable-form .woocommerce-variation-price .price,
.custom-wc-variable-form .woocommerce-variation-price .woocommerce-Price-amount,
.custom-wc-variable-form .woocommerce-variation-price .woocommerce-Price-amount bdi{
  color:#00606C !important;
}
.qvp-form .qvp-price del,
.custom-wc-variable-form .woocommerce-variation-price del{
  font-size:.85em;opacity:.7;text-decoration:line-through;color:#9ca3af;
}
.qvp-form .qvp-price ins,
.custom-wc-variable-form .woocommerce-variation-price ins{
  text-decoration:none;color:#00606C;font-weight:700;
}
.custom-wc-variable-form .woocommerce-variation-price{
  font-size:14px !important;
  font-weight:400 !important;
  margin-top:0 !important;
}
.custom-wc-variable-form .woocommerce-variation-price .price{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}

/* ---------- دکمه افزودن ---------- */
.qvp-form .qvp-add,
.custom-wc-variable-form .single_add_to_cart_button{
  width:100%;
  height:50px;
  border-radius:10px !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:600 !important;
  font-family:'ایران سنس','IRANSans',sans-serif;
  border:none;
  cursor:pointer;
  background-color:#00606C !important;
  transition:all .3s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  box-sizing:border-box;
}
.qvp-form .qvp-add:hover:not(:disabled),
.custom-wc-variable-form .single_add_to_cart_button:hover:not(:disabled){
  transform:translateY(-3px);
  box-shadow:0 10px 22px rgba(0,96,108,.25);
}
.qvp-form .qvp-add:disabled,
.custom-wc-variable-form .single_add_to_cart_button:disabled{
  background:#9ca3af !important;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
  opacity:1;
}

/* ---------- single_variation_wrap در صفحه محصول ---------- */
.custom-wc-variable-form .single_variation_wrap{
  border-top:1px dashed #e5e7eb;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:15px;
  margin-top:16px;
  clear:both;
}
.custom-wc-variable-form .woocommerce-variation-availability{
  font-size:13px;
  color:#374151;
}

/* ---------- حذف پس‌زمینه پیش‌فرض جدول ووکامرس ---------- */
.woocommerce table.variations tbody tr:nth-child(odd) td,
.woocommerce table.variations tbody tr:nth-child(odd) th,
.woocommerce table.variations tbody tr:hover td,
.woocommerce table.variations tbody tr:hover th{
  background-color:transparent !important;
}
.woocommerce div.product form.cart{margin-bottom:0 !important;}

/* ==================================================
   اسپینر و پیام
   ================================================== */
.qvp-spinner{
  display:inline-block;width:16px;height:16px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;border-radius:50%;
  animation:qvp-spin .7s linear infinite;vertical-align:middle;
}
@keyframes qvp-spin{to{transform:rotate(360deg);}}

.qvp-msg{margin:8px 0;font-size:13px;color:#d63638;text-align:center;}
.no-description{font-size:13px;color:#9ca3b9;text-align:center;}

/* اسکرول‌بار پاپ‌آپ */
.qvp-modal::-webkit-scrollbar{width:6px;}
.qvp-modal::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px;}
.qvp-modal::-webkit-scrollbar-thumb:hover{background:#00606C;}

/* ==================================================
   باکس توضیحات خودکار (variation_description_auto)
   ================================================== */
.variation-description-title{
  font-family:'ایران سنس','IRANSans',sans-serif;
  font-size:14px;font-weight:600 !important;color:#00606c;
}
.my-variation-description-box{
  padding:15px;background:#fff;
  font-family:'ایران سنس','IRANSans',sans-serif;
  border:1px solid #d1d5db;border-radius:15px;
  transition:all .3s ease;font-size:14px;
}
.my-variation-description-box .my-variation-description-content p{margin-bottom:0 !important;}
.my-variation-description-box .my-variation-description-content{color:#00606c;}

/* ==================================================
   موبایل: تک ستونه
   ================================================== */
@media (max-width: 600px){
  .qvp-form{
    grid-template-columns:1fr;
  }
  .custom-wc-variable-form table.variations tbody{
    grid-template-columns:1fr;
  }
  .custom-wc-variable-form table.variations tr:last-child:nth-child(odd){
    grid-column:auto;
  }
}