/* ==========================================================================
   Arcopet v2 · صفحه‌ی محصول
   ساختار: templates/single-product.php و parts/product/*. فقط var(--v2-*).
   موبایل: گالری › مشخصات › خرید (+ نوار خرید چسبان). تبلت (۷۶۸): گالری | مشخصات و خرید.
   دسکتاپ (۱۲۰۰): گالری | مشخصات، و زیرشان بخش‌ها؛ کادر خرید در ستون کناری تا پایان بخش‌ها چسبان.
   ========================================================================== */

.v2-product-page{ padding-bottom:48px; }
.v2-pd{ margin-top:4px; }
.v2-pd-hooked:empty{ display:none; }

/* یک گرید برای بالای صفحه و بخش‌های پایین: در دسکتاپ کادر خرید در ستون کناری کنار محتوا هم چسبان می‌ماند. */
.v2-pd-top{ display:grid; gap:20px; grid-template-columns:minmax(0,1fr); grid-template-areas:"gallery" "info" "buy" "content"; }
.v2-pd-gallery{ grid-area:gallery; min-width:0; }
.v2-pd-info{ grid-area:info; min-width:0; }
.v2-pd-buy{ grid-area:buy; min-width:0; }
.v2-pd-top > .v2-pd-content{ grid-area:content; min-width:0; }
@media (min-width:768px){
  .v2-pd-top{ grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); grid-template-areas:"gallery info" "gallery buy" "content content"; column-gap:28px; align-items:start; }
}
@media (min-width:1200px){
  .v2-pd-top{ grid-template-columns:400px minmax(0,1fr) 340px; grid-template-areas:"gallery info buy" "content content buy"; }
  /* فقط کادر خرید چسبان است (تا پایان بخش‌ها). گالری چسبان نیست چون با محتوا در یک گرید است. */
  .v2-pd-buy{ position:sticky; top:calc(var(--v2-pd-stick, calc(var(--v2-bar-h) + 49px)) + 16px); transition:top .25s ease; }
  .v2-pd-top > .v2-pd-content{ margin-top:20px; }
}

/* ---------- گالری ---------- */
.v2-pd-stage{ position:relative; border-radius:var(--v2-radius-l); background:var(--v2-white); border:1px solid var(--v2-border); overflow:hidden; }
.v2-pd-slides{
  display:flex; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none;
}
.v2-pd-slides::-webkit-scrollbar{ display:none; }
.v2-pd-slide{ flex:0 0 100%; margin:0; scroll-snap-align:center; aspect-ratio:1; }
.v2-pd-zoom{ display:block; width:100%; height:100%; padding:16px; cursor:zoom-in; }
.v2-pd-zoom img, .v2-pd-slide > img{ width:100%; height:100%; object-fit:contain; }
.v2-pd-badges{ position:absolute; z-index:2; top:12px; inset-inline-end:12px; display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; max-width:70%; }
.v2-pd-badge{
  display:inline-flex; align-items:center; min-height:26px; padding:0 10px; border-radius:999px;
  font-size:12px; font-weight:700; background:var(--v2-brand); color:var(--v2-on-brand);
}
.v2-pd-badge.is-black{ background:var(--v2-text); color:var(--v2-page); }
.v2-pd-badge.is-pack{ background:var(--v2-pack); }
.v2-pd-badge.is-count{ background:var(--v2-pack-soft); color:var(--v2-pack); }
.v2-pd-actions{ position:absolute; z-index:2; top:8px; inset-inline-start:8px; display:grid; gap:4px; }
.v2-pd-action{
  display:inline-grid; place-items:center; width:var(--v2-tap); height:var(--v2-tap); border-radius:50%;
  background:var(--v2-surface); color:var(--v2-text); box-shadow:var(--v2-shadow-float);
}
.v2-pd-action:hover{ color:var(--v2-brand); }
.v2-pd-action .v2-icon{ width:20px; height:20px; }
.v2-pd-action.v2-fav-btn[aria-pressed="true"]{ color:var(--v2-brand); }
.v2-pd-action[aria-busy="true"]{ opacity:.5; }
.v2-pd-actions .v2-share-pop{
  position:absolute; top:0; inset-inline-start:calc(var(--v2-tap) + 8px); z-index:3; display:grid; gap:2px; min-width:150px; padding:6px;
  border-radius:var(--v2-radius-m); background:var(--v2-surface); box-shadow:var(--v2-shadow-raised);
}
.v2-share-pop a, .v2-share-pop button{ display:block; padding:8px 12px; border-radius:var(--v2-radius-s); font-size:var(--v2-fs-14); text-align:start; }
.v2-share-pop a:hover, .v2-share-pop button:hover{ background:var(--v2-surface-subtle); }
.v2-share-pop .v2-share-note{ font-size:12px; color:var(--v2-text-muted); padding:0 12px; }
.v2-share-pop .v2-share-note:empty{ display:none; }
.v2-pd-dots{ position:absolute; bottom:10px; inset-inline:0; display:flex; justify-content:center; gap:6px; }
.v2-pd-dot{ width:6px; height:6px; border-radius:999px; background:var(--v2-border-strong); opacity:.35; transition:width .2s, opacity .2s; }
.v2-pd-dot.is-active{ width:18px; opacity:1; background:var(--v2-brand); }
.v2-pd-thumbs{ display:none; }
@media (min-width:768px){
  .v2-pd-dots{ display:none; }
  .v2-pd-thumbs{ display:flex; gap:8px; margin-top:10px; overflow-x:auto; scrollbar-width:thin; padding-bottom:4px; }
  .v2-pd-thumb{
    flex:none; width:68px; height:68px; padding:4px; border-radius:var(--v2-radius-m); border:1px solid var(--v2-border); background:var(--v2-white);
    transition:border-color .15s;
  }
  .v2-pd-thumb img{ width:100%; height:100%; object-fit:contain; }
  .v2-pd-thumb:hover{ border-color:var(--v2-border-strong); }
  .v2-pd-thumb.is-active{ border-color:var(--v2-brand); box-shadow:0 0 0 1px var(--v2-brand); }
}

/* نمایش بزرگ */
.v2-lightbox{ position:fixed; inset:0; z-index:100003; background:var(--v2-overlay); backdrop-filter:blur(2px); display:flex; flex-direction:column; }
.v2-lightbox-track{ flex:1; display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.v2-lightbox-track::-webkit-scrollbar{ display:none; }
.v2-lightbox-slide{ flex:0 0 100%; margin:0; display:grid; place-items:center; padding:56px 16px 48px; scroll-snap-align:center; }
.v2-lightbox-slide img{ max-width:min(100%, 900px); max-height:100%; object-fit:contain; border-radius:var(--v2-radius-m); background:var(--v2-white); }
.v2-lightbox-close, .v2-lightbox-nav{
  position:absolute; display:inline-grid; place-items:center; width:var(--v2-tap); height:var(--v2-tap); border-radius:50%;
  background:var(--v2-surface); color:var(--v2-text); font-size:26px; line-height:1; box-shadow:var(--v2-shadow-float);
}
.v2-lightbox-close{ top:12px; inset-inline-start:12px; }
.v2-lightbox-nav{ top:50%; transform:translateY(-50%); }
.v2-lightbox-nav.is-prev{ inset-inline-start:12px; }
.v2-lightbox-nav.is-next{ inset-inline-end:12px; }
.v2-lightbox-count{ position:absolute; bottom:12px; inset-inline:0; margin:0; text-align:center; color:var(--v2-white); font-size:var(--v2-fs-14); }
@media (hover:none){ .v2-lightbox-nav{ display:none; } }

/* ---------- مشخصات ---------- */
.v2-pd-title{ margin:0; font-size:var(--v2-fs-22); font-weight:800; line-height:1.7; color:var(--v2-heading); text-wrap:pretty; }

/* برند و امتیاز در یک خط */
.v2-pd-brandline{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 14px; font-size:var(--v2-fs-14); color:var(--v2-text-muted); }
.v2-pd-brandline-title{ justify-content:flex-start; margin-bottom:6px; }
.v2-pd-brandline-buy{ padding:0 4px 8px; }
/* دسکتاپ: امتیاز سمت راست، برند همیشه سمت چپ (اگر امتیاز نباشد برند جابه‌جا نمی‌شود) */
.v2-pd-brandline-buy .v2-pd-rating{ order:-1; }
.v2-pd-brandline-buy .v2-pd-brand{ margin-inline-start:auto; }
/* یک جا در هر اندازه: دسکتاپ داخل کادر خرید، کوچک‌تر بالای عنوان */
.v2-pd-brandline-buy{ display:none; }
@media (min-width:1200px){
  .v2-pd-brandline-title{ display:none; }
  .v2-pd-brandline-buy{ display:flex; }
}
.v2-pd-brand{ display:inline-flex; align-items:center; gap:8px; min-height:36px; font-weight:700; color:var(--v2-link); }
.v2-pd-brand:hover .v2-pd-brand-name{ text-decoration:underline; text-underline-offset:4px; }
.v2-pd-brand-logo{ display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:var(--v2-radius-s); border:1px solid var(--v2-border); background:var(--v2-white); overflow:hidden; }
.v2-pd-brand-logo img{ display:block; width:100%; height:100%; object-fit:contain; }
.v2-pd-brand > .v2-icon{ width:16px; height:16px; margin-inline-start:-4px; }
.v2-pd-rating{ display:inline-flex; align-items:center; gap:4px; min-height:36px; }
.v2-pd-rating .v2-icon{ width:16px; height:16px; color:var(--v2-brand); }
.v2-pd-rating strong{ color:var(--v2-text); }

/* مشخصات کوتاه (tableforseo): فهرست فشرده «عنوان … مقدار» */
.v2-pd-specs{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:20px; margin:14px 0 0; padding:2px 14px; border-radius:var(--v2-radius-m); background:var(--v2-surface-subtle); }
.v2-pd-spec{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; min-width:0; padding:8px 0; border-bottom:1px solid var(--v2-border); }
.v2-pd-spec dt{ flex:none; font-size:12px; color:var(--v2-text-muted); }
.v2-pd-spec dd{ margin:0; min-width:0; font-size:var(--v2-fs-14); font-weight:500; line-height:1.7; text-align:end; color:var(--v2-text); }
.v2-pd-spec.is-accent dd{ font-weight:800; color:var(--v2-link); }
/* خط آخر هر ستون بدون خط زیر */
.v2-pd-spec:last-child, .v2-pd-spec:nth-last-child(2):nth-child(odd){ border-bottom:0; }
/* موبایل: عنوان بالای مقدار (دو ستون، کوتاه‌تر) */
@media (max-width:599px){
  .v2-pd-spec{ flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:0; }
  .v2-pd-spec dd{ text-align:start; }
}

/* نکته‌های کوتاه: فهرست تیک‌دار فشرده (متن کامل در «ویژگی‌های محصول» پایین صفحه) */
.v2-pd-highlights{ display:grid; gap:4px; margin:12px 0 0; padding:0; list-style:none; }
.v2-pd-highlights li{ display:flex; align-items:flex-start; gap:6px; font-size:var(--v2-fs-14); line-height:1.8; color:var(--v2-text); }
.v2-pd-highlights li > span{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; }
.v2-pd-highlights .v2-icon{ flex:none; width:16px; height:16px; margin-top:4px; color:var(--v2-brand); }
.v2-pd-short{ margin-top:14px; font-size:var(--v2-fs-14); }
.v2-pd-more-link{ display:inline-flex; align-items:center; gap:4px; margin-top:10px; font-size:var(--v2-fs-14); font-weight:700; color:var(--v2-link); }
.v2-pd-more-link .v2-icon{ width:18px; height:18px; }

/* وزن‌ها */
.v2-pd-weights{ margin-top:18px; }
.v2-pd-weights-title{ margin:0 0 8px; font-size:var(--v2-fs-14); font-weight:700; color:var(--v2-text); }
.v2-pd-weights ul{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.v2-pd-weight{
  display:grid; gap:1px; min-width:116px; padding:8px 12px; border-radius:var(--v2-radius-m);
  border:1px solid var(--v2-border); background:var(--v2-surface); transition:border-color .15s, box-shadow .15s;
}
a.v2-pd-weight:hover{ border-color:var(--v2-border-strong); box-shadow:var(--v2-shadow-form); }
.v2-pd-weight.is-current{ border-color:var(--v2-brand); background:var(--v2-tint); box-shadow:0 0 0 1px var(--v2-brand); }
.v2-pd-weight strong{ font-size:var(--v2-fs-14); color:var(--v2-text); }
.v2-pd-weight-price{ font-size:var(--v2-fs-14); font-weight:700; color:var(--v2-text); }
.v2-pd-weight-price small, .v2-pd-weight-unit{ font-size:11px; font-weight:400; color:var(--v2-text-muted); }

.v2-pd-extras{ display:grid; gap:10px; margin-top:18px; }

/* ---------- کادر خرید ---------- */
.v2-pd-buybox{
  display:grid; gap:14px; padding:16px; border-radius:var(--v2-radius-l);
  border:1px solid var(--v2-border); background:var(--v2-surface); box-shadow:var(--v2-shadow-form);
}
.v2-pd-stock{ display:flex; align-items:flex-start; gap:8px; font-size:var(--v2-fs-14); font-weight:700; color:var(--v2-text); }
.v2-pd-stock .v2-icon{ flex:none; width:20px; height:20px; color:var(--v2-brand); }
.v2-pd-stock p{ margin:0; }
.v2-pd-stock.is-out, .v2-pd-stock .out-of-stock{ color:var(--v2-error); }
.v2-pd-stock.is-out .v2-icon{ color:var(--v2-error); }
.v2-pd-delivery{ display:grid; gap:6px; margin:0; padding:0 0 12px; list-style:none; border-bottom:1px solid var(--v2-border); }
.v2-pd-delivery li{ display:flex; align-items:center; gap:8px; font-size:var(--v2-fs-14); color:var(--v2-text-subtle); }
.v2-pd-delivery .v2-icon{ flex:none; width:20px; height:20px; color:var(--v2-text-muted); }

.v2-pd-price{ display:grid; justify-items:end; gap:2px; }
.v2-pd-was{ display:flex; align-items:center; gap:8px; }
.v2-pd-was del{ font-size:var(--v2-fs-14); color:var(--v2-text-muted); }
.v2-pd-off{
  display:inline-grid; place-items:center; min-width:38px; height:22px; padding:0 8px; border-radius:999px;
  background:var(--v2-brand); color:var(--v2-on-brand); font-size:12px; font-weight:700;
}
.v2-pd-now{ display:flex; align-items:baseline; gap:6px; }
.v2-pd-now strong{ font-size:var(--v2-fs-28); font-weight:800; color:var(--v2-text); letter-spacing:-.01em; }
.v2-pd-from, .v2-pd-currency{ font-size:var(--v2-fs-14); color:var(--v2-text-muted); }
.v2-pd-price.is-out strong{ color:var(--v2-text-muted); }

.v2-pd-timer{
  display:grid; gap:6px; padding:10px 12px; border-radius:var(--v2-radius-m); background:var(--v2-tint); text-align:center;
}
.v2-pd-timer-title{ font-size:var(--v2-fs-14); font-weight:700; color:var(--v2-tint-text); }
.v2-pd-timer-clock{ display:flex; justify-content:center; gap:6px; }
.v2-pd-timer-clock > span{ display:grid; min-width:46px; padding:4px; border-radius:var(--v2-radius-s); background:var(--v2-surface); }
.v2-pd-timer-clock b{ font-size:var(--v2-fs-18); font-weight:800; color:var(--v2-text); font-variant-numeric:tabular-nums; }
.v2-pd-timer-clock small{ font-size:11px; color:var(--v2-text-muted); }

/* فرم افزودن به سبد (قالب‌های v2/woocommerce) */
.v2-cart-form{ display:grid; gap:12px; margin:0; }
.v2-cart-row{ display:flex; gap:10px; align-items:stretch; }
.v2-qty{ display:flex; align-items:center; flex:none; height:48px; border:1px solid var(--v2-border); border-radius:var(--v2-radius-m); overflow:hidden; }
.v2-qty .qty{
  width:40px; height:100%; border:0; padding:0; text-align:center; background:none; font:inherit; font-weight:700; color:var(--v2-text);
  -moz-appearance:textfield;
}
.v2-qty .qty::-webkit-outer-spin-button, .v2-qty .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.v2-qty-btn{ width:38px; height:100%; font-size:20px; line-height:1; color:var(--v2-text); }
.v2-qty-btn:hover{ background:var(--v2-surface-subtle); }
.v2-cart-form .v2-add-btn{
  flex:1; position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin:0; padding:0 16px;
  border:0; border-radius:var(--v2-radius-m); background:var(--v2-brand); color:var(--v2-on-brand);
  font:inherit; font-size:var(--v2-fs-16); font-weight:700; cursor:pointer; transition:background-color .15s;
}
.v2-cart-form .v2-add-btn:hover{ background:var(--v2-brand-hover); }
.v2-cart-form .v2-add-btn.disabled{ opacity:.55; cursor:not-allowed; }
.v2-cart-form .v2-add-btn .flowrand-fc-button__text{ position:static; }

/* گزینه‌ها (رنگ، اندازه) */
.v2-variations{ display:grid; gap:12px; transition:box-shadow .3s; border-radius:var(--v2-radius-m); }
.v2-variations.is-attention, .wc-single-color-swatches.is-attention{ border-radius:var(--v2-radius-m); box-shadow:0 0 0 3px var(--v2-brand-ring); }
.v2-variation{ margin:0; padding:0; border:0; min-width:0; }
.v2-variation-label{ padding:0; margin-bottom:8px; font-size:var(--v2-fs-14); color:var(--v2-text-muted); }
.v2-variation-chosen{ color:var(--v2-text); font-weight:700; }
.v2-variation-options{ display:flex; flex-wrap:wrap; gap:8px; }
.v2-cart-form .variation-item{ position:relative; }
.v2-cart-form .variation-item input{ position:absolute; opacity:0; width:1px; height:1px; }
.v2-cart-form .variation-item label{
  display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:4px 12px 4px 8px; border-radius:999px !important;
  border:1px solid var(--v2-border); background:var(--v2-surface); font-size:var(--v2-fs-14); cursor:pointer;
  transition:border-color .15s, box-shadow .15s;
}
.v2-cart-form .variation-item label:hover{ border-color:var(--v2-border-strong); }
.v2-cart-form .variation-item input:checked + label{ border-color:var(--v2-brand); box-shadow:0 0 0 1px var(--v2-brand); font-weight:700; }
.v2-cart-form .variation-item input:focus-visible + label{ outline:2px solid var(--v2-text); outline-offset:2px; }
.v2-cart-form .variation-item input:disabled + label{ opacity:.4; text-decoration:line-through; cursor:not-allowed; }
.v2-cart-form .variation-item .circle{
  display:inline-grid !important; place-items:center; width:28px !important; height:28px !important; padding:0 !important; border-radius:50% !important;
  overflow:hidden; box-shadow:inset 0 0 0 1px var(--v2-border);
}
.v2-cart-form .variation-item .circle img{ width:100%; height:100%; object-fit:cover; }
.v2-cart-form .variation-item .circle svg{ width:16px; height:16px; fill:var(--v2-white); opacity:0; }
.v2-cart-form .variation-item input:checked + label .circle svg{ opacity:1; }
.v2-cart-form .v2-swatch-color{ display:block; width:100%; height:100%; }
.v2-cart-form .reset_variations{ display:inline-block; margin-top:6px; font-size:12px; color:var(--v2-text-muted); text-decoration:underline; }
.v2-cart-form .single_variation{ font-size:var(--v2-fs-14); }
.v2-cart-form .single_variation .price{ display:none; } /* قیمت گزینه بالای کادر نمایش داده می‌شود */
.v2-cart-form .single_variation .stock{ margin:0; font-weight:700; }
.v2-cart-form .single_variation .out-of-stock{ color:var(--v2-error); }
.v2-cart-form .wc-no-matching-variations{ margin:0; font-size:var(--v2-fs-14); color:var(--v2-error); }

/* رنگ محصولات ساده‌ی هیواپت (افزونه‌ی flowrand-add-one-product) */
.v2-cart-form .wc-single-color-swatches{ display:grid; gap:8px; font-size:var(--v2-fs-14); color:var(--v2-text-muted); }
.v2-cart-form .wc-single-color-swatches .swatches-wrap{ display:flex; flex-wrap:wrap; gap:8px; }

/* خروجی پلاگین‌ها در کادر خرید («خبرم کن») */
.v2-pd-buybox .v2-pd-hooked{ display:grid; gap:10px; }
.v2-pd-buybox .arcopet-snf-box{ margin:0; padding:14px; border-radius:var(--v2-radius-m); background:var(--v2-surface-subtle); }
.v2-pd-buybox .arcopet-snf-box h3{ margin:0 0 8px; font-size:var(--v2-fs-16); color:var(--v2-heading); }
.v2-pd-buybox .arcopet-snf-box input{
  width:100%; min-height:44px; margin:0 0 8px; padding:0 12px; border:1px solid var(--v2-border); border-radius:var(--v2-radius-s);
  background:var(--v2-surface); font:inherit;
}
.v2-pd-buybox .arcopet-snf-box .button{
  width:100%; min-height:46px; border:0; border-radius:var(--v2-radius-m); background:var(--v2-text); color:var(--v2-page); font:inherit; font-weight:700; cursor:pointer;
}

/* واتساپ */
.v2-pd-whatsapp{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; padding:12px 16px; border-radius:var(--v2-radius-l); background:var(--v2-surface-subtle); }
.v2-pd-whatsapp p{ margin:0; font-size:var(--v2-fs-14); font-weight:700; color:var(--v2-text); }
/* واتساپ: فقط آیکون و متن سبز */
.v2-pd-wa-btn{
  display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 14px; border-radius:999px;
  background:var(--v2-surface); border:1px solid var(--v2-border); font-size:var(--v2-fs-14); font-weight:700; color:var(--v2-whatsapp);
  transition:border-color .15s;
}
.v2-pd-wa-btn .v2-icon{ width:22px; height:22px; }
.v2-pd-wa-btn:hover{ border-color:var(--v2-whatsapp); }

/* ---------- نوار خرید چسبان (موبایل و تبلت) ---------- */
.v2-pd-sticky{
  position:fixed; inset-inline:0; bottom:0; z-index:90; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:var(--v2-surface);
  border-top:1px solid var(--v2-border); box-shadow:var(--v2-shadow-raised);
  transform:translateY(110%); transition:transform .22s ease;
}
.v2-pd-sticky.is-visible{ transform:none; }
.v2-pd-sticky[hidden]{ display:none; }
.v2-pd-sticky-price{ display:grid; justify-items:start; gap:0; min-width:0; }
.v2-pd-sticky-was{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--v2-text-muted); }
.v2-pd-sticky-was .v2-pd-off{ min-width:0; height:18px; padding:0 6px; font-size:11px; }
.v2-pd-sticky-now{ white-space:nowrap; font-size:12px; color:var(--v2-text-muted); }
.v2-pd-sticky-now strong{ font-size:var(--v2-fs-18); font-weight:800; color:var(--v2-text); }
.v2-pd-sticky-price.is-out strong{ color:var(--v2-text-muted); }
.v2-pd-sticky-btn{ flex:none; min-height:46px; padding-inline:22px; }
.v2-pd-sticky-btn.is-notify{ background:var(--v2-text); color:var(--v2-page); }
body.v2-has-sticky-buy{ padding-bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
@media (min-width:1200px){
  .v2-pd-sticky{ display:none !important; }
  body.v2-has-sticky-buy{ padding-bottom:0; }
}
@media (prefers-reduced-motion:reduce){ .v2-pd-sticky{ transition:none; } }

/* مسیر صفحه: در موبایل نام محصول (همان عنوان زیر آن) تکرار نشود */
@media (max-width:767px){
  .v2-product-page .v2-breadcrumb li:last-child{ display:none; }
  .v2-product-page .v2-breadcrumb li:nth-last-child(2) .v2-icon{ display:none; }
}

/* پیام‌های ووکامرس (افزودن به سبد، خطا) */
.v2-product-page .woocommerce-notices-wrapper:empty{ display:none; }
.v2-product-page :is(.woocommerce-message, .woocommerce-error, .woocommerce-info){
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px;
  margin:8px 0 12px; padding:12px 16px; border-radius:var(--v2-radius-m); list-style:none;
  background:var(--v2-surface-subtle); font-size:var(--v2-fs-14); color:var(--v2-text);
}
.v2-product-page .woocommerce-error{ background:var(--v2-tint); color:var(--v2-error); }
.v2-product-page :is(.woocommerce-message, .woocommerce-info) .button{ font-weight:700; color:var(--v2-link); }


/* ---------- بخش‌های پایین (پشت سر هم) و نوار پرش ---------- */
.v2-pd-content{ margin-top:40px; }
.v2-pd-nav{
  position:sticky; top:var(--v2-pd-stick, var(--v2-bar-h)); z-index:20; margin:0 calc(var(--v2-gutter-r) * -1) 8px calc(var(--v2-gutter-l) * -1);
  background:var(--v2-page); border-bottom:1px solid var(--v2-border); transition:top .25s ease, box-shadow .2s;
}
.v2-pd-nav.is-stuck{ box-shadow:var(--v2-shadow-float); }
.v2-pd-nav ul{
  display:flex; gap:4px; margin:0; padding:0 var(--v2-gutter-r) 0 var(--v2-gutter-l); list-style:none;
  overflow-x:auto; scrollbar-width:none;
}
.v2-pd-nav ul::-webkit-scrollbar{ display:none; }
.v2-pd-nav a{
  position:relative; display:flex; align-items:center; height:48px; padding:0 14px; white-space:nowrap;
  font-size:var(--v2-fs-14); font-weight:500; color:var(--v2-text-subtle);
}
.v2-pd-nav a::after{ content:""; position:absolute; inset-inline:10px; bottom:0; height:3px; border-radius:3px 3px 0 0; background:var(--v2-brand); transform:scaleX(0); transition:transform .2s; }
.v2-pd-nav a:hover{ color:var(--v2-text); }
.v2-pd-nav a[aria-current="true"]{ color:var(--v2-text); font-weight:700; }
.v2-pd-nav a[aria-current="true"]::after{ transform:scaleX(1); }
@media (min-width:768px){ .v2-pd-nav{ margin-inline:0; } .v2-pd-nav ul{ padding-inline:0; } }

.v2-pd-section{ max-width:900px; padding:28px 0; border-bottom:1px solid var(--v2-border); scroll-margin-top:calc(var(--v2-pd-stick, var(--v2-bar-h)) + 64px); }
.v2-pd-section:last-child{ border-bottom:0; }
.v2-pd-section-title{ margin:0 0 16px; font-size:var(--v2-fs-22); font-weight:800; color:var(--v2-heading); }
.v2-pd-section-body{ font-size:var(--v2-fs-16); line-height:2; color:var(--v2-text); }
.v2-pd-section-body > :first-child{ margin-top:0; }
.v2-js .v2-pd-section.is-collapsed .v2-pd-section-body{
  max-height:460px; overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom, black 60%, transparent);
  mask-image:linear-gradient(to bottom, black 60%, transparent);
}

/* «ویژگی‌های محصول» (تب تم مادر): فهرست به شکل کارت‌های کوچک */
.v2-pd-section-expert ul{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:8px; margin:0; padding:0; list-style:none; }
.v2-pd-section-expert li{
  display:flex; align-items:flex-start; gap:8px; padding:10px 14px; border-radius:var(--v2-radius-m); background:var(--v2-surface-subtle);
  font-size:var(--v2-fs-14); line-height:1.8;
}
.v2-pd-section-expert li::before{ content:"✓"; flex:none; color:var(--v2-brand); font-weight:800; }

/* «مشخصات»: دکمه‌ها و پاپ‌آپ قدیمی «بیشتر» لازم نیست؛ متن کامل نمایش داده می‌شود */
.v2-pd-section .open-popup-btn, .v2-pd-section .arcopet-popup, .v2-pd-section .popup{ display:none !important; }
.v2-pd-section .tabs-panel-inner{ padding:0; }
/* «توصیه در مصرف»: عنوان با خط صورتی، کادر صورتی کم‌رنگ با کارت‌های سفید (نقطه‌ی صورتی گوشه‌ی هر کارت) */
.v2-pd-section .arcopet-tosieh-box{ margin-top:28px; }
.v2-pd-section .arcopet-tosieh-box > h4{
  margin:0 0 14px; padding-bottom:10px; border-bottom:2px solid var(--v2-brand-soft);
  font-size:var(--v2-fs-18); font-weight:800; color:var(--v2-text);
}
.v2-pd-section .arcopet-tosieh-box .content-short{ padding:14px; border-radius:var(--v2-radius-l); background:var(--v2-tint); }
.v2-pd-section .arcopet-tips-container{ display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
@media (min-width:600px){ .v2-pd-section .arcopet-tips-container{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:992px){ .v2-pd-section .arcopet-tips-container{ grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); } }
.v2-pd-section .tip-box{
  position:relative; display:block; padding:16px 16px 14px; border-radius:var(--v2-radius-m);
  border:1px solid var(--v2-brand-soft); background:var(--v2-surface);
  font-size:var(--v2-fs-14); line-height:2; color:var(--v2-text-subtle);
}
.v2-pd-section .tip-box .tip-icon{ position:absolute; top:12px; inset-inline-end:12px; width:10px; height:10px; border-radius:50%; background:var(--v2-brand-soft); }
.v2-pd-section .tip-box .tip-icon:not(:empty){ position:static; width:auto; height:auto; margin-bottom:6px; background:none; }
.v2-pd-section .tip-icon svg, .v2-pd-section .tip-icon img{ width:28px; height:28px; }
.v2-pd-section .tip-box h3{ margin:0 0 6px; padding-inline-end:18px; font-size:var(--v2-fs-16); font-weight:800; line-height:1.7; color:var(--v2-text); }

/* ویدیوی محصول (arcopet_render_video_box چایلد) */
.v2-pd-section .arcopet-video-box{ margin-bottom:24px; }
.v2-pd-section .arcopet-video-box > h4{ margin:0 0 12px; font-size:var(--v2-fs-18); color:var(--v2-heading); }
.v2-pd-section .arcopet-video-list{ display:grid; gap:12px; }
.v2-pd-section video, .v2-pd-section iframe{ display:block; width:100%; max-width:100%; height:auto; aspect-ratio:16 / 9; border:0; border-radius:var(--v2-radius-m); background:var(--v2-text); }

/* سوالات متداول */
.v2-pd-section-faq .v2-faq-list{ display:grid; gap:10px; }


/* ---------- نظرات ---------- */
.v2-stars{ position:relative; display:inline-block; width:88px; height:16px; background:var(--v2-star-empty); -webkit-mask:var(--v2-stars-mask) repeat-x left / 17.6px 16px; mask:var(--v2-stars-mask) repeat-x left / 17.6px 16px; }
.v2-stars-fill{ position:absolute; inset-block:0; inset-inline-start:0; background:var(--v2-brand); }
:root{ --v2-stars-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'><path d='M12 1.8l2.8 5.9 6.4.8-4.7 4.4 1.2 6.4L12 16.2l-5.7 3.1 1.2-6.4-4.7-4.4 6.4-.8z'/></svg>"); }

.v2-reviews-summary{ display:grid; gap:16px; padding:16px; border-radius:var(--v2-radius-l); background:var(--v2-surface-subtle); }
@media (min-width:768px){ .v2-reviews-summary{ grid-template-columns:auto 1fr auto; align-items:center; gap:28px; padding:20px 24px; } }
.v2-reviews-score{ display:grid; justify-items:center; gap:4px; text-align:center; }
.v2-reviews-score strong{ font-size:40px; font-weight:800; line-height:1; color:var(--v2-text); }
.v2-reviews-of, .v2-reviews-total{ font-size:12px; color:var(--v2-text-muted); }
.v2-reviews-bars{ display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.v2-reviews-bars li{ display:grid; grid-template-columns:56px 1fr 28px; align-items:center; gap:8px; font-size:12px; color:var(--v2-text-muted); }
.v2-reviews-bar{ height:6px; border-radius:999px; background:var(--v2-border); overflow:hidden; }
.v2-reviews-bar span{ display:block; height:100%; border-radius:inherit; background:var(--v2-brand); }
.v2-reviews-cta{ display:grid; gap:8px; max-width:280px; }
.v2-reviews-cta p{ margin:0; font-size:var(--v2-fs-14); color:var(--v2-text-subtle); }
.v2-btn-outline{ border:1px solid var(--v2-brand); color:var(--v2-brand); min-height:44px; }
.v2-btn-outline:hover{ background:var(--v2-tint); }

.v2-review-form{ margin-top:16px; padding:18px; border-radius:var(--v2-radius-l); border:1px solid var(--v2-border); }
.v2-review-form[hidden]{ display:none; }
.v2-review-form .comment-reply-title{ margin:0 0 12px; font-size:var(--v2-fs-18); color:var(--v2-heading); }
.v2-review-form .comment-reply-title small{ margin-inline-start:8px; font-size:12px; }
.v2-review-form form{ display:grid; gap:12px; }
.v2-field{ display:grid; gap:6px; margin:0; }
.v2-field label{ font-size:var(--v2-fs-14); font-weight:500; color:var(--v2-text); }
.v2-field input, .v2-field textarea{
  width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--v2-border); border-radius:var(--v2-radius-m);
  background:var(--v2-surface); font:inherit; color:var(--v2-text);
}
.v2-field input:focus, .v2-field textarea:focus{ outline:none; border-color:var(--v2-border-strong); box-shadow:0 0 0 3px var(--v2-brand-ring); }
.v2-review-form .required{ color:var(--v2-error); }
.v2-review-form .form-submit{ margin:0; }
.v2-review-form .comment-form-cookies-consent{ display:flex; gap:8px; align-items:center; font-size:12px; color:var(--v2-text-muted); }

.v2-rate{ margin:0; padding:0; border:0; }
.v2-rate legend{ margin-bottom:6px; font-size:var(--v2-fs-14); font-weight:500; }
.v2-rate-stars{ display:inline-flex; flex-direction:row-reverse; gap:2px; }
.v2-rate-stars input{ position:absolute; opacity:0; width:1px; height:1px; }
.v2-rate-stars label{ display:inline-grid; place-items:center; width:40px; height:40px; cursor:pointer; color:var(--v2-star-empty); transition:color .1s, transform .1s; }
.v2-rate-stars label .v2-icon{ width:30px; height:30px; }
.v2-rate-stars label:hover, .v2-rate-stars label:hover ~ label, .v2-rate-stars input:checked ~ label{ color:var(--v2-brand); }
.v2-rate-stars input:checked + label{ transform:scale(1.08); }
.v2-rate-stars input:focus-visible + label{ outline:2px solid var(--v2-text); outline-offset:2px; border-radius:50%; }
.v2-rate-text{ margin-inline-start:8px; font-size:var(--v2-fs-14); color:var(--v2-text-muted); }

.v2-review-list, .v2-review-list .children{ display:grid; gap:12px; margin:16px 0 0; padding:0; list-style:none; }
.v2-review-list .children{ margin:10px 0 0; padding-inline-start:20px; border-inline-start:2px solid var(--v2-border); }
.v2-review-body{ padding:14px 16px; border-radius:var(--v2-radius-l); border:1px solid var(--v2-border); background:var(--v2-surface); }
.v2-review.is-staff > .v2-review-body{ background:var(--v2-tint); border-color:transparent; }
.v2-review-head{ display:flex; align-items:center; gap:10px; }
.v2-review-avatar{ display:inline-grid; place-items:center; flex:none; width:38px; height:38px; border-radius:50%; background:var(--v2-avatar-bg); color:var(--v2-text-subtle); font-weight:700; }
.v2-review-who{ flex:1; display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; min-width:0; }
.v2-review-who strong{ font-size:var(--v2-fs-14); color:var(--v2-text); }
.v2-review-who time{ width:100%; font-size:12px; color:var(--v2-text-muted); }
.v2-review-tag{ display:inline-flex; align-items:center; gap:2px; padding:1px 8px; border-radius:999px; font-size:11px; font-weight:700; }
.v2-review-tag .v2-icon{ width:14px; height:14px; }
.v2-review-tag.is-buyer{ background:var(--v2-pack-soft); color:var(--v2-pack); }
.v2-review-tag.is-staff{ background:var(--v2-brand); color:var(--v2-on-brand); }
.v2-review-text{ margin-top:10px; font-size:var(--v2-fs-14); line-height:1.9; color:var(--v2-text); }
.v2-review-text p{ margin:0 0 .5em; }
.v2-review-pending{ margin:8px 0 0; font-size:12px; color:var(--v2-error); }
.v2-review-actions{ margin-top:6px; }
.v2-review-actions a{ font-size:12px; font-weight:700; color:var(--v2-link); }
.v2-review-pages{ display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; }
.v2-review-pages .page-numbers{ display:inline-grid; place-items:center; min-width:38px; height:38px; padding:0 10px; border-radius:var(--v2-radius-m); border:1px solid var(--v2-border); font-size:var(--v2-fs-14); }
.v2-review-pages .current{ background:var(--v2-brand); border-color:var(--v2-brand); color:var(--v2-on-brand); }
.v2-reviews-empty{ margin:16px 0 0; color:var(--v2-text-muted); }


/* ---------- محصولات مشابه ---------- */
.v2-pd-related{ margin-top:32px; padding-top:28px; border-top:1px solid var(--v2-border); }
.v2-pd-related-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.v2-pd-related-head .v2-pd-section-title{ margin:0; }
.v2-pd-related-nav{ display:none; gap:6px; }
@media (min-width:992px) and (hover:hover){ .v2-pd-related-nav{ display:flex; } }
.v2-pd-rail-btn{ display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--v2-border); background:var(--v2-surface); }
.v2-pd-rail-btn:hover{ border-color:var(--v2-border-strong); }
.v2-pd-rail-btn[data-v2-rail-step="1"] .v2-icon{ transform:scaleX(-1); } /* RTL: بعدی به چپ */
.v2-pd-rail-btn .v2-icon{ width:20px; height:20px; }
.v2-pd-rail{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(160px, 44%); grid-template-columns:none; gap:12px;
  overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:6px;
}
.v2-pd-rail::-webkit-scrollbar{ display:none; }
.v2-pd-rail > .v2-pcard{ scroll-snap-align:start; }
@media (min-width:600px){ .v2-pd-rail{ grid-auto-columns:minmax(180px, 30%); } }
@media (min-width:992px){ .v2-pd-rail{ grid-auto-columns:calc((100% - 4 * 16px) / 5); gap:16px; } }
