/* Vanda Gold — main frontend stylesheet. presentation only. */

:root{
  --vg-bg:#F9F9F6;
  --vg-ink:#0B281B;
  --vg-green:#05683F;
  --vg-gold:#D4AF37;
  --vg-mint:#E8F0EC;
  --vg-mint2:#EFF5F1;
  --vg-dark2:#123726;
  --vg-white:#ffffff;
  --vg-line:rgba(11,40,27,0.10);
  --vg-muted:rgba(11,40,27,0.72);
  --vg-muted2:rgba(11,40,27,0.68);
  --vg-ink-on-dark:rgba(249,249,246,0.65);
  --vg-container:1320px;
  --vg-edge:24px;
  --vg-font:'Vazirmatn','Tahoma',sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

/* ---------- Scrollbar (brand) ---------- */
/* Firefox */
html{scrollbar-width:thin;scrollbar-color:var(--vg-green) var(--vg-mint);}
/* WebKit/Blink */
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--vg-mint);}
::-webkit-scrollbar-thumb{
  background:var(--vg-green);border-radius:999px;border:3px solid var(--vg-mint);
}
::-webkit-scrollbar-thumb:hover{background:var(--vg-ink);}
::-webkit-scrollbar-corner{background:var(--vg-mint);}
body.vg-body{
  margin:0;
  background:var(--vg-bg);
  color:var(--vg-ink);
  font-family:var(--vg-font,'Vazirmatn','Tahoma',sans-serif);
  direction:rtl;
  overflow-x:hidden;
}
/* :where() ویژگی را صفر می‌کند تا رنگ پایهٔ لینک، رنگ دکمه‌ها را بازنویسی نکند.
   قبلاً .vg-body a از هر کلاس دکمه قوی‌تر بود و متن دکمهٔ تیره سبزِ نامرئی می‌شد. */
:where(.vg-body) a{color:var(--vg-green);text-decoration:none;}
:where(.vg-body) a:where(:hover){color:var(--vg-ink);}
.vg-body ::selection{background:var(--vg-gold);color:var(--vg-ink);}
img{max-width:100%;height:auto;display:block;}
.vg-container{max-width:1320px;margin:0 auto;}

/* ---------- Header ---------- */
/* ترتیبِ ۴ فرزندِ اصلی (لوگو/نوار/منو/کنش‌ها) با style="order:N" روی خودِ عنصر می‌آید
   (از پنلِ افزونهٔ همراه ← هدر ← چیدمانِ هدر)؛ اینجا فقط چیدمانِ کلیِ ردیف تنظیم می‌شود. */
.vg-header{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  padding:22px 56px;background:var(--vg-bg);
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid rgba(11,40,27,0.06);
}
.vg-header--align-center{justify-content:center;gap:28px;}
.vg-brand{display:flex;align-items:center;gap:12px;}
.vg-brand__mark{
  width:44px;height:44px;border-radius:14px;
  background:linear-gradient(135deg,var(--vg-green),var(--vg-ink));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(5,104,63,0.25);
  color:var(--vg-gold);font-weight:800;font-size:20px;overflow:hidden;
}
.vg-brand__mark img{width:100%;height:100%;object-fit:cover;border-radius:14px;}
.vg-brand__name{font-size:22px;font-weight:800;color:var(--vg-ink);}
.vg-nav{display:flex;align-items:center;gap:36px;font-size:16px;font-weight:600;}
.vg-nav ul{display:flex;align-items:center;gap:36px;list-style:none;margin:0;padding:0;}
.vg-nav a{color:var(--vg-ink);}
.vg-nav .current-menu-item>a,.vg-nav a:hover{color:var(--vg-green);}
/* ---------- Gold price ticker (im-gold integration, optional) ---------- */
/* وقتی نوار خودش <button> است (حالتِ کلیک‌پذیر)، ظاهرِ پیش‌فرضِ مرورگر خنثی می‌شود
   تا دقیقاً مثلِ نسخهٔ غیرقابل‌کلیک به‌نظر برسد؛ فقط cursor فرق می‌کند. */
button.vg-gold-ticker{
  font:inherit;border:0;margin:0;-webkit-appearance:none;appearance:none;
  cursor:pointer;text-align:start;
}
.vg-gold-ticker__items{display:flex;align-items:center;flex-wrap:wrap;gap:0;}
.vg-gold-ticker__item{
  display:flex;align-items:center;gap:6px;
  padding-inline:14px;
  border-inline-start:1px solid var(--vg-line);
}
.vg-gold-ticker__item:first-child{border-inline-start:none;padding-inline-start:0;}

/* حالتِ اسلاید: فقط یک قلم هم‌زمان دیده می‌شود، بقیه با فید محو می‌شوند؛ JS کلاسِ
   is-active را می‌چرخاند (assets/vandagold-main.js). بدونِ JS (نوسکریپت) همه دیده
   می‌شوند — یعنی نبودِ جاوااسکریپت هرگز قیمتی را قایم نمی‌کند. */
.js-vg-gt-slide .vg-gold-ticker__items{display:grid;}
.js-vg-gt-slide .js-vg-gt-item{
  grid-area:1/1;padding-inline-start:0;border-inline-start:none;
  opacity:0;visibility:hidden;transition:opacity .35s ease;
}
.js-vg-gt-slide .js-vg-gt-item.is-active{opacity:1;visibility:visible;}
@media (prefers-reduced-motion:reduce){
  .js-vg-gt-slide .js-vg-gt-item{transition:none;}
}
/* --vg-gt-bg/--vg-gt-label/--vg-gt-value: فقط وقتی مدیر از پنلِ «نوار نرخ طلا» رنگی
   انتخاب کرده باشد، به‌صورتِ inline روی خودِ عنصر ست می‌شوند؛ خالی = همین پیش‌فرض‌ها. */
.vg-gold-ticker__label{color:var(--vg-gt-label,var(--vg-muted));font-weight:600;}
.vg-gold-ticker__value{color:var(--vg-gt-value,inherit);font-variant-numeric:tabular-nums;font-weight:700;}
.vg-gold-ticker__item--stale .vg-gold-ticker__value{color:var(--vg-muted2);}

/* ⚠ `.vg-gold-ticker` را عمداً با هر دو کلاس جفت می‌کنیم (نه فقط `--above`/`--inline`
   تنها): وقتی نوار کلیک‌پذیر باشد، همان عنصر کلاسِ `dm-gold-modal-trigger`ی خودِ
   im-gold را هم دارد، و آن افزونه برایِ همان کلاس قاعدهٔ background/display/padding/
   color خودش را دارد (dm-gold-public.css). با specificity برابر (هر دو یک‌کلاسه)،
   هرکدام از دو فایل بعداً بارگذاری شود می‌برد — روی این سایت برد با im-gold بود و
   نوار را شفاف می‌کرد، دقیقاً همان چیزی که «رنگ اعمال نمی‌شود» گزارش شد. دوکلاسه‌کردن
   این وابستگی به ترتیبِ بارگذاری را برای همیشه حذف می‌کند، بدونِ !important. */
/* حالتِ «above»: نوارِ باریکِ مستقل، بالایِ خودِ هدر.
   ⚠ عنصرِ ریشه وقتی کلیک‌پذیر باشد <button> است، نه <div>؛ دکمه برخلافِ div
   بلوکِ پیش‌فرض نیست (inline-block-ish) و اندازه‌اش را از محتوا می‌گیرد، نه از
   عرضِ صفحه — بدونِ width:100% صریح، نیمهٔ راست/چپِ نوار خالی می‌ماند (باگِ
   واقعاً گزارش‌شده). box-sizing از قاعدهٔ سراسریِ `*{box-sizing:border-box}`
   می‌آید، پس padding عرض را بیرون نمی‌زند. */
.vg-gold-ticker.vg-gold-ticker--above{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  width:100%;
  gap:10px 24px;
  padding:8px 56px;
  background:var(--vg-gt-bg,var(--vg-dark2));color:var(--vg-ink-on-dark);
  font-size:13px;
}
/* حالتِ «اندازهٔ محتوا»: نوار به‌جایِ تمامِ‌عرض، جمع و وسط‌چین می‌شود — بک‌گراند
   چون رویِ خودِ عنصرِ جمع‌شونده است، همراهِ محتوا به وسط می‌آید، نه این‌که
   محتوا وسط برود و بک‌گراند تمامِ‌عرض شفاف بماند. */
.vg-gold-ticker.vg-gold-ticker--above.vg-gold-ticker--auto{
  width:auto;margin-inline:auto;border-radius:999px;padding:8px 28px;
}
.vg-gold-ticker--above .vg-gold-ticker__label{color:var(--vg-gt-label,var(--vg-ink-on-dark));opacity:.75;}
.vg-gold-ticker--above .vg-gold-ticker__value{color:var(--vg-gt-value,var(--vg-gold));}
.vg-gold-ticker--above .vg-gold-ticker__item{border-inline-start-color:rgba(249,249,246,0.18);}
.vg-gold-ticker--above .vg-gold-ticker__item--stale .vg-gold-ticker__value{color:var(--vg-ink-on-dark);}
.vg-gold-ticker__freshness{font-size:12px;color:var(--vg-ink-on-dark);opacity:.65;white-space:nowrap;}
.vg-gold-ticker__freshness--stale{color:var(--vg-gold);opacity:1;}

/* حالتِ «inline»: فشرده، کنارِ لوگو داخلِ خودِ هدر */
.vg-gold-ticker.vg-gold-ticker--inline{
  display:flex;align-items:center;
  background:var(--vg-gt-bg,transparent);
  font-size:13px;font-weight:700;color:var(--vg-ink);
}
.vg-gold-ticker--inline .vg-gold-ticker__value{color:var(--vg-gt-value,var(--vg-ink));}
.vg-gold-ticker--inline .vg-gold-ticker__items{gap:0;}
.vg-gold-ticker--inline .vg-gold-ticker__item{padding-inline:10px;}

@media (max-width:960px){
  .vg-gold-ticker--above,.vg-gold-ticker--inline{display:none;}
}

.vg-header__actions{display:flex;align-items:center;gap:14px;}
.vg-iconbtn{
  width:46px;height:46px;border-radius:16px;cursor:pointer;font-size:18px;
  border:1.5px solid rgba(11,40,27,0.12);background:var(--vg-white);color:var(--vg-ink);
  display:flex;align-items:center;justify-content:center;text-decoration:none;
}
.vg-iconbtn--dark{border:none;background:var(--vg-ink);color:var(--vg-gold);}
.vg-cartcount{
  position:absolute;top:-6px;left:-6px;background:var(--vg-gold);color:var(--vg-ink);
  font-size:11px;font-weight:800;min-width:18px;height:18px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;padding:0 4px;
}
.vg-iconbtn{position:relative;}
.vg-menu-toggle{display:none;}
.vg-plugin-search{display:flex;align-items:center;}

/* header search dropdown (shortcode or native) */
.vg-search-pop{
  position:absolute;top:100%;left:0;right:0;background:var(--vg-white);
  box-shadow:0 20px 50px rgba(11,40,27,0.15);padding:20px 56px;display:none;z-index:60;
}
.vg-search-pop.is-open{display:block;}
.vg-search-form{display:flex;gap:12px;max-width:640px;margin:0 auto;}
.vg-search-form input[type=search],.vg-search-form input[type=text]{
  flex:1;padding:14px 18px;border-radius:16px;border:1.5px solid rgba(11,40,27,0.12);
  font-family:inherit;font-size:15px;text-align:right;
}
.vg-search-form button{
  background:var(--vg-ink);color:var(--vg-gold);border:none;padding:0 26px;border-radius:16px;
  font-weight:700;cursor:pointer;
}

/* ---------- Section frame ---------- */
.vg-section{padding:90px 56px;}
.vg-section--tight{padding:56px 56px 30px;}
.vg-section--notop{padding-top:0;}
/* سکشن پس‌زمینه‌دار = نوار تمام‌عرض؛ محتوای داخلش در ظرف می‌نشیند.
   گوشهٔ گرد زیپ اینجا ممکن نیست: تمام‌عرض به‌علاوهٔ گوشهٔ گرد یعنی گوشه روی لبهٔ نمایشگر بریده شود. */
.vg-band{width:100%;}
.vg-bg-mint{background:var(--vg-mint);}
.vg-empty{text-align:center;padding:40px;color:var(--vg-muted);}
.vg-bg-ink{background:var(--vg-ink);}
.vg-band--gap{margin-block:40px;}
.vg-kicker{color:var(--vg-green);font-weight:700;font-size:15px;margin-bottom:10px;}
.vg-h2{font-size:42px;font-weight:800;margin:0;}
.vg-head-center{text-align:center;margin-bottom:56px;}
.vg-grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px;}

/* ---------- Hero ---------- */
.vg-hero{
  display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;
  padding:90px 56px;background:linear-gradient(180deg,var(--vg-bg) 0%,var(--vg-mint2) 100%);
}
.vg-hero__badge{
  display:inline-flex;align-items:center;gap:8px;background:var(--vg-mint);color:var(--vg-green);
  padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;margin-bottom:24px;
}
.vg-hero__title{font-size:64px;line-height:1.25;font-weight:800;color:var(--vg-ink);margin:0 0 24px;}
.vg-hero__text{font-size:19px;line-height:1.9;color:rgba(11,40,27,0.72);max-width:520px;margin:0 0 36px;}
.vg-hero__cta{display:flex;gap:16px;flex-wrap:wrap;}
.vg-btn{padding:18px 36px;border-radius:22px;font-weight:800;font-size:17px;display:inline-block;cursor:pointer;border:none;font-family:inherit;}
.vg-btn--gold{background:var(--vg-gold);color:var(--vg-ink);box-shadow:0 20px 48px rgba(212,175,55,0.35);}
.vg-btn--dark{background:var(--vg-ink)!important;color:var(--vg-bg)!important;font-weight:700;}
.vg-btn--block{width:100%;text-align:center;}
.vg-hero__stats{display:flex;gap:40px;margin-top:56px;flex-wrap:wrap;}
.vg-stat__num{font-size:30px;font-weight:800;color:var(--vg-green);}
.vg-stat__label{font-size:14px;color:rgba(11,40,27,0.6);}
.vg-hero__media{
  position:relative;height:560px;border-radius:32px;overflow:hidden;
  background:repeating-linear-gradient(135deg,var(--vg-ink),var(--vg-ink) 12px,var(--vg-dark2) 12px,var(--vg-dark2) 24px);
  box-shadow:0 40px 90px rgba(11,40,27,0.28);
}
.vg-hero__media img{width:100%;height:100%;object-fit:cover;}
.vg-hero__mediaph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;}
.vg-hero__mediaph span:first-child{font-size:56px;}
.vg-hero__mediaph .vg-ph-cap{font-family:monospace;color:var(--vg-gold);font-size:14px;letter-spacing:1px;}

/* ---------- Trust badges ---------- */
.vg-badges{display:flex;justify-content:space-around;align-items:center;gap:20px;padding:36px 56px;background:var(--vg-ink);flex-wrap:wrap;}
.vg-badge{display:flex;align-items:center;gap:12px;}
/* شکلک متنی (تیک/فلش) رنگ را ارث می‌برد و روی پس‌زمینهٔ تیره محو می‌شد؛ شکلک تصویری رنگ خودش را دارد */
.vg-badge__icon{font-size:26px;color:var(--vg-gold);line-height:1;}
.vg-badge__label{color:var(--vg-bg);font-weight:600;font-size:15px;}

/* ---------- Category cards ---------- */
.vg-cat{display:block;border-radius:28px;overflow:hidden;background:var(--vg-mint);box-shadow:0 20px 50px rgba(11,40,27,0.08);}
.vg-cat__media{
  height:200px;display:flex;align-items:center;justify-content:center;font-size:38px;overflow:hidden;
  background:repeating-linear-gradient(45deg,#dfe9e3,#dfe9e3 10px,var(--vg-mint) 10px,var(--vg-mint) 20px);
}
.vg-cat__media img{width:100%;height:100%;object-fit:cover;}
.vg-cat__body{padding:22px;}
.vg-cat__name{font-weight:700;font-size:18px;color:var(--vg-ink);}
.vg-cat__count{font-size:14px;color:var(--vg-muted2);margin-top:6px;}

/* ---------- Slider promo panel (image beside slider) ---------- */
.vg-slider-row{display:grid;grid-template-columns:1fr minmax(280px,380px);gap:32px;align-items:stretch;}
.vg-slider-row--left{grid-template-columns:minmax(280px,380px) 1fr;}
.vg-slider-row--left .vg-slider-promo{order:-1;}
.vg-slider-row .vg-slider{min-width:0;}
.vg-slider-promo{
  position:relative;border-radius:28px;overflow:hidden;min-height:380px;
  display:flex;align-items:center;justify-content:center;padding:28px;
  background:repeating-linear-gradient(135deg,var(--vg-ink),var(--vg-ink) 12px,var(--vg-dark2) 12px,var(--vg-dark2) 24px);
  box-shadow:0 20px 50px rgba(11,40,27,0.12);
}
.vg-slider-promo__img{position:absolute;inset:0;}
.vg-slider-promo__img img{width:100%;height:100%;object-fit:cover;}
.vg-slider-promo__box{
  position:relative;z-index:2;text-align:center;padding:32px 26px;border-radius:20px;
  background:rgba(249,249,246,0.90);backdrop-filter:blur(6px);
  box-shadow:0 20px 50px rgba(11,40,27,0.18);width:100%;
}
.vg-slider-promo__title{font-size:22px;font-weight:800;line-height:1.7;color:var(--vg-ink);margin:0 0 12px;}
.vg-slider-promo__text{font-size:14.5px;line-height:1.9;color:var(--vg-muted);margin:0 0 20px;}
.vg-slider-promo__link{
  display:inline-block;font-weight:800;color:var(--vg-green);
  border-bottom:2px solid var(--vg-gold);padding-bottom:5px;
}
@media (max-width:900px){
  .vg-slider-row,.vg-slider-row--left{grid-template-columns:1fr;}
  .vg-slider-row--left .vg-slider-promo{order:0;}
  .vg-slider-promo{min-height:240px;}
}

/* ---------- Slider (site-wide) ---------- */
/* --vg-cols روی .vg-slider از PHP ست می‌شود (مقدار زمان‌اجرا) و به فرزندان ارث می‌رسد */
.vg-slider{position:relative;--vg-cols:3;--vg-gap:22px;}
.vg-slider__track{
  display:flex;gap:var(--vg-gap);overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:8px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
}
.vg-slider__track::-webkit-scrollbar{display:none;}
/* درگ بومی تصویر و انتخاب متن با کشیدن اسلایدر تداخل دارد */
.vg-slider__track img,.vg-related-slider ul.products img{-webkit-user-drag:none;user-drag:none;}
.vg-slider__track,.vg-related-slider ul.products{user-select:none;-webkit-user-select:none;}
/* هنگام درگ، چسبندگی اسکرول باید خاموش شود وگرنه درگ پرش و مقاومت دارد */
.vg-slider__track.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none !important;}
/* عرض درصدی و بدون سقف px؛ کسر یک gap اضافه = همیشه لبهٔ کارت بعدی پیداست → همیشه اسلاید می‌کند */
.vg-slider__track>*{
  flex:0 0 calc((100% - (var(--vg-cols) - 1) * var(--vg-gap)) / var(--vg-cols) - var(--vg-gap));
  scroll-snap-align:start;
}
/* فلش با شیوه‌نامه رسم می‌شود، نه با کاراکتر متنی.
   کاراکترهای ‹ و › از نوع bidi-mirrored هستند و مرورگر داخل صفحهٔ راست‌چین
   خودش آینه‌شان می‌کند؛ هر جابه‌جایی در کد را خنثی می‌کرد. */
.vg-slider__arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:var(--vg-arrow,48px);height:var(--vg-arrow,48px);border-radius:50%;
  border:none;background:var(--vg-arrow-bg,var(--vg-ink));color:var(--vg-gold);cursor:pointer;font-size:0;z-index:5;
  box-shadow:0 12px 30px rgba(11,40,27,0.25);display:flex;align-items:center;justify-content:center;
  padding:0;overflow:hidden;
}
.vg-slider__arrow::before{
  content:'';width:10px;height:10px;border:2px solid currentColor;border-width:2px 2px 0 0;
}
/* «بعدی» به سمت چپ می‌رود (جهت حرکت در راست‌چین) و «قبلی» به سمت راست */
.vg-slider__arrow--next::before{transform:rotate(-135deg);margin-left:3px;}
.vg-slider__arrow--prev::before{transform:rotate(45deg);margin-right:3px;}
/* راست‌چین: شروع از راست است، پس «قبلی» راست می‌نشیند و «بعدی» چپ — جهت فلش هم با جهت حرکت یکی است. */
/* آیکن بارگذاری‌شده از تنظیمات: فقط فلشِ رسم‌شده خاموش می‌شود.
   پس‌زمینه و سایه دیگر خودکار برداشته نمی‌شوند — آن تصمیم با تنظیمات است. */
.vg-slider__arrow--custom::before{display:none;}
.vg-slider__arrow--custom{padding:6px;}
/* انتخاب کاربر در تنظیمات: دکمهٔ بدون ظرف */
.vg-slider__arrow--flat{background:transparent;box-shadow:none;padding:0;}
.vg-slider__arrow-img{width:100%;height:100%;object-fit:contain;display:block;}
.vg-slider__arrow--prev{right:-14px;}
.vg-slider__arrow--next{left:-14px;}
.vg-slider__arrow[hidden]{display:none;}
@media (max-width:1024px){.vg-slider__track>*{flex:0 0 46%;}}
@media (max-width:700px){.vg-slider__track>*{flex:0 0 82%;}}
.vg-slider__dots{display:flex;justify-content:center;gap:10px;margin-top:22px;}
.vg-slider__dots[hidden]{display:none;}
.vg-slider__dot{width:26px;height:3px;border-radius:2px;background:rgba(5,104,63,0.3);cursor:pointer;border:none;padding:0;transition:background .2s;}
.vg-slider__dot.is-active{background:var(--vg-ink);}

/* ---------- Product card ---------- */
/* کل کارت یک لینک واقعی است (نه پوشش نامرئی): تمام محتوا داخل .vg-pcard__link.
   دکمهٔ سبد بیرون آن لینک و به‌صورت مطلق روی کارت می‌نشیند تا لینک تودرتو نسازد. */
.vg-pcard{
  position:relative;display:block;background:var(--vg-white);border-radius:26px;overflow:hidden;
  box-shadow:0 20px 46px rgba(11,40,27,0.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.vg-pcard:hover{transform:translateY(-4px);box-shadow:0 26px 56px rgba(11,40,27,0.14);}
.vg-pcard__link{display:block;color:inherit;text-decoration:none;}
.vg-pcard__link:hover{color:inherit;}

/* نسبت قاب با نسبت خودِ فایل یکی است، پس هیچ بخشی از تصویر بریده نمی‌شود.
   ارتفاع ثابت قبلی روی تصویر مربع، حدود ۴۵٪ ارتفاع را می‌برید. */
.vg-pcard__media{
  aspect-ratio:1/1;position:relative;display:flex;align-items:center;justify-content:center;font-size:32px;overflow:hidden;
  background:repeating-linear-gradient(135deg,#eef3f0,#eef3f0 10px,#e5ede8 10px,#e5ede8 20px);
}
.vg-pcard__media img{width:100%;height:100%;object-fit:cover;}
.vg-pcard__badge{
  position:absolute;top:14px;right:14px;background:var(--vg-gold);color:var(--vg-ink);
  font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px;
}
.vg-pcard__body{display:block;padding:20px;}
.vg-pcard__title{display:block;font-weight:700;font-size:16px;color:var(--vg-ink);}
.vg-pcard__cat{display:block;font-size:13px;color:var(--vg-muted2);margin:6px 0 14px;}
.vg-pcard__row{display:flex;align-items:center;min-height:38px;padding-inline-end:48px;}
.vg-pcard__price{color:var(--vg-green);font-weight:800;font-size:16px;}
.vg-pcard__price del{color:rgba(11,40,27,0.4);font-weight:600;font-size:13px;margin-left:6px;}
/* بیرون از لینک کارت و روی آن؛ مطلق تا لینک تودرتو نسازد */
.vg-pcard__add{
  position:absolute;bottom:20px;inset-inline-end:20px;z-index:2;
  width:38px;height:38px;min-width:38px;border-radius:12px;background:var(--vg-ink);color:var(--vg-gold);
  display:flex;align-items:center;justify-content:center;font-size:15px;border:none;cursor:pointer;text-decoration:none;
}
.vg-pcard__add.loading{opacity:.6;pointer-events:none;}
.vg-pcard__add.added{background:var(--vg-green);}

/* ---------- Steps ---------- */
.vg-step{background:var(--vg-bg);border-radius:26px;padding:36px 26px;box-shadow:0 20px 46px rgba(11,40,27,0.07);}
.vg-step__n{width:56px;height:56px;border-radius:18px;background:var(--vg-ink);color:var(--vg-gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;margin-bottom:20px;}
.vg-step__title{font-weight:700;font-size:18px;margin-bottom:10px;}
.vg-step__desc{font-size:14.5px;color:var(--vg-muted);line-height:1.8;}

/* ---------- About short ---------- */
.vg-aboutshort{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:90px 56px;background:var(--vg-ink);color:var(--vg-bg);}
.vg-aboutshort__media{height:420px;border-radius:32px;overflow:hidden;background:repeating-linear-gradient(45deg,var(--vg-dark2),var(--vg-dark2) 12px,var(--vg-ink) 12px,var(--vg-ink) 24px);display:flex;align-items:center;justify-content:center;font-family:monospace;color:var(--vg-gold);font-size:14px;}
.vg-aboutshort__media img{width:100%;height:100%;object-fit:cover;}
.vg-aboutshort__kicker{color:var(--vg-gold);font-weight:700;font-size:15px;margin-bottom:10px;}
.vg-aboutshort__title{font-size:38px;font-weight:800;margin:0 0 22px;line-height:1.4;}
.vg-aboutshort__text{font-size:16.5px;line-height:1.9;color:rgba(249,249,246,0.78);margin:0 0 28px;}

/* ---------- Why us ---------- */
.vg-why{background:var(--vg-mint);border-radius:26px;padding:34px 26px;text-align:center;}
.vg-why__icon{font-size:36px;margin-bottom:16px;}
.vg-why__title{font-weight:700;font-size:17px;margin-bottom:10px;}
.vg-why__desc{font-size:14px;color:var(--vg-muted);line-height:1.8;}

/* ---------- Testimonials ---------- */
.vg-testi{background:var(--vg-bg);border-radius:26px;padding:32px;box-shadow:0 20px 46px rgba(11,40,27,0.06);}
.vg-testi__stars{color:var(--vg-gold);font-size:18px;margin-bottom:16px;}
.vg-testi__text{font-size:15px;line-height:1.9;color:rgba(11,40,27,0.75);margin:0 0 22px;}
.vg-testi__who{display:flex;align-items:center;gap:12px;}
.vg-testi__ava{width:44px;height:44px;border-radius:14px;background:var(--vg-ink);color:var(--vg-gold);display:flex;align-items:center;justify-content:center;font-weight:800;}
.vg-testi__name{font-weight:700;font-size:14.5px;}
.vg-testi__role{font-size:13px;color:rgba(11,40,27,0.55);}

/* ---------- FAQ ---------- */
.vg-faqs{display:flex;flex-direction:column;gap:16px;max-width:900px;margin:0 auto;}
.vg-faq{background:var(--vg-mint);border-radius:22px;padding:26px 30px;cursor:pointer;}
.vg-faq__q{font-weight:700;font-size:16.5px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.vg-faq__toggle{color:var(--vg-gold);transition:transform .2s;}
.vg-faq.is-open .vg-faq__toggle{transform:rotate(45deg);}
.vg-faq__a{font-size:14.5px;color:var(--vg-muted);line-height:1.85;margin-top:0;max-height:0;overflow:hidden;transition:max-height .28s ease,margin-top .28s ease;}
.vg-faq.is-open .vg-faq__a{max-height:400px;margin-top:12px;}

/* ---------- Newsletter ---------- */
.vg-newsletter{background:linear-gradient(135deg,var(--vg-green),var(--vg-ink));text-align:center;color:var(--vg-bg);}
.vg-newsletter__title{font-size:34px;font-weight:800;margin:0 0 16px;}
.vg-newsletter__text{color:rgba(249,249,246,0.75);margin:0 0 32px;font-size:16px;}
.vg-newsletter__form{display:flex;justify-content:center;gap:12px;max-width:520px;margin:0 auto;flex-wrap:wrap;}
.vg-newsletter__form input{flex:1;min-width:220px;padding:16px 22px;border-radius:18px;border:none;font-family:inherit;font-size:15px;text-align:right;}
.vg-newsletter__form button{background:var(--vg-gold);color:var(--vg-ink);border:none;padding:16px 30px;border-radius:18px;font-weight:800;cursor:pointer;}

/* ---------- Instagram ---------- */
.vg-insta{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;}
.vg-insta__cell{aspect-ratio:1;border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:24px;background:repeating-linear-gradient(45deg,#e5ede8,#e5ede8 10px,#eef3f0 10px,#eef3f0 20px);}
.vg-insta__cell img{width:100%;height:100%;object-fit:cover;}

/* ---------- Footer ---------- */
.vg-footer{background:var(--vg-ink);color:var(--vg-bg);padding:70px 56px 30px;border-radius:48px 48px 0 0;margin-top:20px;}
.vg-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(249,249,246,0.12);}
.vg-footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.vg-footer__mark{width:40px;height:40px;border-radius:12px;background:var(--vg-gold);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--vg-ink);overflow:hidden;}
.vg-footer__mark img{width:100%;height:100%;object-fit:cover;}
.vg-footer__name{font-size:20px;font-weight:800;}
.vg-footer__about{font-size:14px;line-height:1.9;color:var(--vg-ink-on-dark);max-width:280px;}
.vg-footer__h{font-weight:700;margin-bottom:18px;}
.vg-footer__col{display:flex;flex-direction:column;gap:12px;font-size:14px;color:var(--vg-ink-on-dark);}
.vg-footer__col a{color:inherit;}
.vg-footer__col a:hover{color:var(--vg-gold);}
.vg-footer__bar{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:13.5px;color:rgba(249,249,246,0.5);flex-wrap:wrap;gap:12px;}
.vg-footer__social{display:flex;gap:16px;font-size:18px;}
.vg-ltr{direction:ltr;text-align:right;}

/* ---------- About page ---------- */
.vg-about-hero{padding:90px 56px 70px;text-align:center;}
.vg-about-hero h1{font-size:52px;font-weight:800;margin:0 0 20px;line-height:1.4;}
.vg-about-hero p{font-size:18px;color:rgba(11,40,27,0.68);max-width:640px;margin:0 auto;line-height:1.9;}
.vg-two{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:60px 56px;}
.vg-media-box{height:460px;border-radius:32px;overflow:hidden;background:repeating-linear-gradient(135deg,var(--vg-ink),var(--vg-ink) 12px,var(--vg-dark2) 12px,var(--vg-dark2) 24px);display:flex;align-items:center;justify-content:center;font-family:monospace;color:var(--vg-gold);font-size:14px;}
.vg-media-box img{width:100%;height:100%;object-fit:cover;}
.vg-prose h2{font-size:34px;font-weight:800;margin:0 0 22px;}
.vg-prose p{font-size:16px;line-height:1.95;color:rgba(11,40,27,0.7);margin:0 0 18px;}
.vg-value{text-align:center;padding:30px 20px;}
.vg-value__icon{width:64px;height:64px;border-radius:20px;background:var(--vg-ink);color:var(--vg-gold);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 18px;}
.vg-value__title{font-weight:700;font-size:16.5px;margin-bottom:8px;}
.vg-value__desc{font-size:13.5px;color:rgba(11,40,27,0.6);line-height:1.8;}
.vg-team-sec{background:var(--vg-ink);color:var(--vg-bg);}
.vg-team{text-align:center;}
.vg-team__media{height:220px;border-radius:24px;overflow:hidden;background:repeating-linear-gradient(45deg,var(--vg-dark2),var(--vg-dark2) 10px,#0e2e20 10px,#0e2e20 20px);margin-bottom:16px;}
.vg-team__media img{width:100%;height:100%;object-fit:cover;}
.vg-team__name{font-weight:700;font-size:16px;}
.vg-team__role{font-size:13.5px;color:rgba(249,249,246,0.6);margin-top:4px;}
.vg-cta-sec{padding:90px 56px;text-align:center;}
.vg-cta-sec h2{font-size:36px;font-weight:800;margin:0 0 20px;}
.vg-cta-sec p{color:rgba(11,40,27,0.65);font-size:16px;margin:0 0 32px;}

/* ---------- Contact page ---------- */
.vg-contact-hero{padding:80px 56px 50px;text-align:center;}
.vg-contact-hero h1{font-size:48px;font-weight:800;margin:0 0 18px;}
.vg-contact-hero p{font-size:17px;color:rgba(11,40,27,0.65);max-width:560px;margin:0 auto;}
.vg-contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:36px;padding:20px 56px 90px;}
.vg-contact-info{background:var(--vg-ink);color:var(--vg-bg);border-radius:32px;padding:44px;display:flex;flex-direction:column;gap:30px;}
.vg-contact-info__title{font-size:22px;font-weight:800;margin-bottom:10px;}
.vg-contact-info__sub{font-size:14.5px;color:rgba(249,249,246,0.65);line-height:1.85;}
.vg-contact-item{display:flex;align-items:center;gap:16px;}
.vg-contact-item__icon{width:48px;height:48px;border-radius:16px;background:rgba(212,175,55,0.15);color:var(--vg-gold);display:flex;align-items:center;justify-content:center;font-size:20px;}
.vg-contact-item__label{font-size:13px;color:rgba(249,249,246,0.55);}
.vg-contact-item__value{font-size:15px;font-weight:600;}
.vg-contact-social{display:flex;gap:14px;margin-top:auto;}
.vg-contact-social span{width:44px;height:44px;border-radius:14px;background:rgba(249,249,246,0.08);display:flex;align-items:center;justify-content:center;}
.vg-contact-card{background:var(--vg-white);border-radius:32px;padding:44px;box-shadow:0 20px 60px rgba(11,40,27,0.08);}
.vg-contact-card__title{font-size:22px;font-weight:800;margin-bottom:26px;}
.vg-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.vg-input,.vg-textarea{width:100%;padding:16px 18px;border-radius:16px;border:1.5px solid rgba(11,40,27,0.12);font-size:15px;text-align:right;background:var(--vg-bg);font-family:inherit;margin-bottom:18px;}
.vg-field-row .vg-input{margin-bottom:0;}
.vg-textarea{resize:none;margin-bottom:22px;}
.vg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.vg-form-msg{margin-top:16px;font-size:14.5px;font-weight:600;border-radius:14px;padding:0;max-height:0;overflow:hidden;transition:max-height .25s;}
.vg-form-msg.is-show{max-height:200px;padding:14px 18px;}
.vg-form-msg.is-ok{background:var(--vg-mint);color:var(--vg-green);}
.vg-form-msg.is-err{background:#fdecec;color:#b3261e;}
.vg-map{height:380px;border-radius:32px;overflow:hidden;background:repeating-linear-gradient(60deg,#e5ede8,#e5ede8 14px,#eef3f0 14px,#eef3f0 28px);display:flex;align-items:center;justify-content:center;font-family:monospace;color:var(--vg-green);font-size:14px;box-shadow:0 20px 50px rgba(11,40,27,0.08);}
.vg-map iframe{width:100%;height:100%;border:0;}

/* ---------- Breadcrumb ---------- */
.vg-crumb{font-size:14px;color:rgba(11,40,27,0.5);margin-bottom:20px;}
.vg-crumb a{color:inherit;}
.vg-crumb .vg-crumb__cur{color:var(--vg-green);}

/* ---------- Blog / archive ---------- */
.vg-blog-hero{padding:70px 56px 20px;text-align:center;}
.vg-blog-hero h1{font-size:44px;font-weight:800;margin:0;}
.vg-article-card{display:block;background:var(--vg-white);border-radius:26px;overflow:hidden;box-shadow:0 20px 46px rgba(11,40,27,0.08);}
.vg-article-card__media{height:200px;overflow:hidden;background:repeating-linear-gradient(135deg,#eef3f0,#eef3f0 10px,#e5ede8 10px,#e5ede8 20px);}
.vg-article-card__media img{width:100%;height:100%;object-fit:cover;}
.vg-article-card__body{padding:24px;}
.vg-article-card__cat{color:var(--vg-green);font-weight:700;font-size:13px;}
.vg-article-card__title{font-weight:700;font-size:17px;margin:10px 0 12px;line-height:1.6;color:var(--vg-ink);}
.vg-article-card__meta{font-size:13px;color:rgba(11,40,27,0.5);}

/* single post */
.vg-post-head{padding:60px 56px 0;max-width:820px;margin:0 auto;text-align:center;}
.vg-post-head h1{font-size:44px;font-weight:800;margin:0 0 18px;line-height:1.5;}
.vg-post-lead{font-size:19px;line-height:1.9;color:rgba(11,40,27,0.62);margin:0 0 26px;}
.vg-chip{display:inline-block;background:var(--vg-mint);color:var(--vg-green);font-size:13px;font-weight:800;padding:8px 18px;border-radius:999px;margin-bottom:22px;}
.vg-post-meta{display:flex;align-items:center;justify-content:center;gap:16px;font-size:14px;color:rgba(11,40,27,0.55);flex-wrap:wrap;}
.vg-post-ava{width:38px;height:38px;border-radius:12px;background:var(--vg-ink);color:var(--vg-gold);display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden;}
.vg-post-thumb{padding:44px 56px;max-width:960px;margin:0 auto;}
.vg-post-thumb img{width:100%;border-radius:32px;box-shadow:0 30px 70px rgba(11,40,27,0.15);}

.vg-post-layout{display:grid;grid-template-columns:1fr 280px;gap:52px;max-width:1080px;margin:0 auto;padding:20px 56px 90px;align-items:start;}
.vg-post-body{font-size:18px;line-height:2.15;color:rgba(11,40,27,0.78);}
.vg-post-body h2{font-size:27px;font-weight:800;color:var(--vg-ink);margin:46px 0 20px;padding-inline-start:16px;border-inline-start:4px solid var(--vg-gold);}
.vg-post-body h3{font-size:21px;font-weight:800;color:var(--vg-ink);margin:36px 0 16px;}
.vg-post-body p{margin:0 0 28px;}
.vg-post-body ul,.vg-post-body ol{margin:0 0 28px;padding-inline-start:26px;display:flex;flex-direction:column;gap:12px;}
.vg-post-body li{margin:0;}
.vg-post-body a{text-decoration:underline;text-underline-offset:3px;}
.vg-post-body img{border-radius:20px;margin:28px 0;box-shadow:0 18px 44px rgba(11,40,27,0.12);}
.vg-post-body figcaption{text-align:center;font-size:14px;color:rgba(11,40,27,0.5);margin-top:-14px;margin-bottom:28px;}
.vg-post-body blockquote{background:var(--vg-mint);border-radius:24px;padding:32px 36px;margin:36px 0;border:none;position:relative;font-size:19px;font-weight:600;color:var(--vg-ink);line-height:1.8;}
.vg-post-body blockquote::before{content:'“';position:absolute;top:6px;right:24px;font-size:60px;font-family:Georgia,serif;color:var(--vg-gold);opacity:0.6;line-height:1;}
.vg-post-body table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:16px;}
.vg-post-body table th,.vg-post-body table td{padding:14px 16px;border:1px solid var(--vg-line);text-align:right;}
.vg-post-body table th{background:var(--vg-mint);font-weight:800;}
.vg-post-body hr{border:none;border-top:1px solid var(--vg-line);margin:44px 0;}
.vg-post-body code{background:var(--vg-mint);padding:2px 8px;border-radius:8px;font-size:0.9em;}

.vg-post-tags{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 40px;}
.vg-post-tag{display:inline-block;background:var(--vg-mint2);color:var(--vg-green);font-size:14px;font-weight:700;padding:8px 16px;border-radius:999px;}
.vg-post-tag:hover{background:var(--vg-mint);}

.vg-author-box{display:flex;gap:20px;align-items:flex-start;background:var(--vg-mint2);border-radius:26px;padding:28px;margin-top:20px;}
.vg-author-box__ava{flex:0 0 auto;width:56px;height:56px;border-radius:16px;background:var(--vg-ink);color:var(--vg-gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;}
.vg-author-box__name{font-weight:800;font-size:17px;margin-bottom:6px;}
.vg-author-box__bio{margin:0;font-size:15px;line-height:1.9;color:rgba(11,40,27,0.65);}

.vg-post-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px;}
.vg-share{background:var(--vg-mint2);border-radius:22px;padding:22px;}
.vg-share__title{font-weight:800;font-size:15px;margin-bottom:14px;}
.vg-share__row{display:flex;gap:10px;flex-wrap:wrap;}
.vg-share__btn{width:42px;height:42px;border-radius:14px;background:var(--vg-white);border:1px solid var(--vg-line);display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;color:var(--vg-green);transition:background .2s,color .2s,transform .2s;}
.vg-share__btn:hover{background:var(--vg-green);color:var(--vg-white);transform:translateY(-2px);}
.vg-share__btn.is-copied{background:var(--vg-gold);color:var(--vg-ink);border-color:var(--vg-gold);}
.vg-side-card{background:var(--vg-mint2);border-radius:22px;padding:22px;}
.vg-side-card__title{font-weight:800;font-size:15px;margin-bottom:12px;}
.vg-side-card .vg-chip{margin-bottom:0;}
.vg-side-related{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.vg-side-related__item{display:flex;align-items:center;gap:12px;}
.vg-side-related__thumb{flex:0 0 auto;width:52px;height:52px;border-radius:12px;overflow:hidden;background:var(--vg-mint);}
.vg-side-related__thumb img{width:100%;height:100%;object-fit:cover;}
.vg-side-related__body{display:flex;flex-direction:column;gap:4px;min-width:0;}
.vg-side-related__title{font-size:14px;font-weight:700;color:var(--vg-ink);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.vg-side-related__date{font-size:12px;color:rgba(11,40,27,0.5);}

.vg-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:0;padding-bottom:0;margin-bottom:70px;}
.vg-post-nav__item{display:flex;flex-direction:column;gap:8px;background:var(--vg-mint2);border-radius:22px;padding:22px 26px;transition:background .2s,transform .2s;}
.vg-post-nav__item:hover{background:var(--vg-mint);transform:translateY(-2px);}
.vg-post-nav__item--prev{text-align:left;}
.vg-post-nav__item--next{text-align:right;}
.vg-post-nav__label{font-size:13px;font-weight:700;color:var(--vg-green);}
.vg-post-nav__title{font-size:16px;font-weight:700;color:var(--vg-ink);line-height:1.6;}

/* generic page */
.vg-page{padding:60px 56px 90px;max-width:900px;margin:0 auto;}
.vg-page h1{font-size:42px;font-weight:800;margin:0 0 30px;}
.vg-page .vg-post-body{padding:0;max-width:none;}

/* 404 */
.vg-404{padding:120px 56px;text-align:center;}
.vg-404 h1{font-size:120px;font-weight:800;color:var(--vg-mint);margin:0;}
.vg-404 h2{font-size:32px;font-weight:800;margin:0 0 16px;}
.vg-404 p{color:rgba(11,40,27,0.6);margin:0 0 30px;}

/* pagination */
.vg-pagination{display:flex;justify-content:center;gap:10px;margin-top:50px;flex-wrap:wrap;}
.vg-pagination .page-numbers{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:700;background:transparent;color:var(--vg-ink);text-decoration:none;}
.vg-pagination .page-numbers.current{background:var(--vg-ink);color:var(--vg-gold);}

/* ---------- WooCommerce ---------- */
.vg-shop-hero{padding:56px 56px 30px;}
.vg-shop-hero h1{font-size:42px;font-weight:800;margin:0;}
.vg-shop-layout{display:grid;grid-template-columns:280px 1fr;gap:36px;padding:20px 56px 100px;align-items:start;}
.vg-shop-sidebar{background:var(--vg-mint);border-radius:28px;padding:30px 26px;display:flex;flex-direction:column;gap:28px;position:sticky;top:100px;}
.vg-shop-sidebar .widget{margin:0;}
.vg-shop-sidebar .widgettitle,.vg-shop-sidebar h2,.vg-shop-sidebar h3{font-weight:800;font-size:17px;margin:0 0 16px;}
/* درشت‌سازی سایدبار فیلتر فقط داخل فروشگاه */
.vg-shop-sidebar .widget ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.vg-shop-sidebar .widget li{font-size:16px;}
.vg-shop-sidebar label,.vg-shop-sidebar a{font-size:16px;}
.vg-shop-sidebar input[type=checkbox],.vg-shop-sidebar input[type=radio]{width:18px;height:18px;accent-color:var(--vg-green);}
.vg-shop-sidebar select,.vg-shop-sidebar input[type=text],.vg-shop-sidebar input[type=search]{
  width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid rgba(11,40,27,0.12);font-size:15px;font-family:inherit;background:var(--vg-white);
}
.vg-shop-sidebar .button,.vg-shop-sidebar button{background:var(--vg-ink);color:var(--vg-gold);border:none;padding:14px;border-radius:16px;font-weight:700;cursor:pointer;width:100%;font-size:15px;}
.vg-shop-main .woocommerce-result-count{font-size:14.5px;color:rgba(11,40,27,0.6);}
.vg-shop-main .woocommerce-ordering select{padding:12px 18px;border-radius:14px;border:1.5px solid rgba(11,40,27,0.12);font-family:inherit;font-size:14px;background:var(--vg-white);}
/* شرح صفحهٔ فروشگاه؛ اکنون زیر گرید محصولات می‌آید */
.vg-shop-main .page-description{margin-top:48px;padding:36px;background:var(--vg-mint);border-radius:28px;line-height:1.9;}
.vg-shop-main .page-description h1,.vg-shop-main .page-description h2,.vg-shop-main .page-description h3{font-weight:800;margin:28px 0 14px;}
.vg-shop-main .page-description h1:first-child,.vg-shop-main .page-description h2:first-child,.vg-shop-main .page-description h3:first-child{margin-top:0;}
.vg-shop-main .page-description p{margin:0 0 16px;color:rgba(11,40,27,0.85);}
.vg-shop-main .page-description table{width:100%;border-collapse:collapse;margin:16px 0 28px;background:var(--vg-white);border-radius:16px;overflow:hidden;}
.vg-shop-main .page-description th,.vg-shop-main .page-description td{padding:12px 16px;border-bottom:1px solid rgba(11,40,27,0.08);text-align:right;font-size:15px;}
.vg-shop-main .page-description th{background:rgba(11,40,27,0.06);font-weight:700;}
.vg-shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px;flex-wrap:wrap;}
ul.products{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;margin:0;padding:0;list-style:none;}
/* ووکامرس با ul.products.columns-N li.product عرض درصدی می‌دهد و ویژگی‌اش از ما بالاتر است؛
   داخل شبکه آن درصد روی ستونِ باریک اعمال می‌شد و کارت ~۶۰px می‌شد. اینجا باید صریح بازپس‌گیری شود. */
.woocommerce ul.products li.product,
ul.products[class*="columns-"] li.product,
ul.products li.product{
  width:100%!important;max-width:none!important;float:none!important;margin:0!important;clear:none!important;
}

/* single product — hooks + CSS only, no template override */
.woocommerce div.product{
  padding-inline: max(var(--vg-edge), calc((100% - var(--vg-container)) / 2));
  padding-block:40px;
}
.woocommerce div.product div.images{border-radius:32px;overflow:hidden;}
.woocommerce div.product div.images img{border-radius:32px;}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto;float:none;margin:0;}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:18px;border:2px solid transparent;}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{border-color:var(--vg-gold);}
.woocommerce div.product .product_title{font-size:36px;font-weight:800;margin:0 0 16px;}
.vg-single__kicker{margin-bottom:12px;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--vg-green);font-weight:800;font-size:28px;}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:15.5px;line-height:1.9;color:rgba(11,40,27,0.68);margin:0 0 30px;
}
.woocommerce div.product form.cart{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.woocommerce div.product form.cart div.quantity{
  display:flex;align-items:center;border:1.5px solid rgba(11,40,27,0.12);border-radius:18px;overflow:hidden;
}
.woocommerce div.product form.cart div.quantity input.qty{
  width:64px;height:56px;border:none;text-align:center;font-weight:700;font-family:inherit;background:var(--vg-white);
}
.woocommerce div.product form.cart .button{flex:1;min-width:220px;padding:18px 28px;border-radius:20px;font-size:17px;}
.vg-single__guarantees{
  display:flex;gap:28px;margin-top:34px;padding-top:28px;flex-wrap:wrap;
  border-top:1px solid var(--vg-line);
}
.vg-single__guarantee{display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(11,40,27,0.65);}
.vg-single__gicon{font-size:18px;color:var(--vg-green);line-height:1;}

/* ترفند breakout حذف شد: محصولات مرتبط با قلاب از ظرف تک‌محصول بیرون برده می‌شود. */
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background:var(--vg-gold)!important;color:var(--vg-ink)!important;border-radius:18px;font-weight:800;padding:14px 28px;border:none;font-family:inherit;
}
.woocommerce div.product form.cart .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt{background:var(--vg-gold);color:var(--vg-ink);}
.woocommerce span.onsale{background:var(--vg-gold);color:var(--vg-ink);border-radius:999px;font-weight:800;}
/* استایل تب‌ها یکجا در انتهای فایل بازنویسی شده است */
.woocommerce .related.products,.woocommerce .up-sells{padding:60px 56px;}

/* related as slider */
.vg-related-slider ul.products,.vg-related-slider .products{
  display:flex!important;grid-template-columns:none!important;gap:22px;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:8px;cursor:grab;
}
.vg-related-slider ul.products::-webkit-scrollbar{display:none;}
.vg-related-slider ul.products.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none !important;}
.vg-related-slider ul.products li.product{
  flex:0 0 calc((100% - (var(--vg-cols) - 1) * var(--vg-gap)) / var(--vg-cols) - var(--vg-gap));
  scroll-snap-align:start;
}
@media (max-width:1024px){.vg-related-slider ul.products li.product{flex:0 0 46%;}}
@media (max-width:700px){.vg-related-slider ul.products li.product{flex:0 0 82%;}}

/* archive hero (woocommerce.php shell) */
.vg-arch-hero{padding:56px 56px 0;}
.vg-arch-hero__box{background:var(--vg-ink);border-radius:32px;padding:56px;display:flex;align-items:center;justify-content:space-between;color:var(--vg-bg);gap:24px;flex-wrap:wrap;}
.vg-arch-hero__kicker{color:var(--vg-gold);font-weight:700;font-size:15px;margin-bottom:10px;}
.vg-arch-hero__box h1{font-size:40px;font-weight:800;margin:0;}
.vg-arch-hero__box p{color:rgba(249,249,246,0.65);font-size:15.5px;margin-top:14px;max-width:480px;}
.vg-arch-hero__icon{font-size:70px;}

/* ---------- Container (bg full-bleed, content contained) ---------- */
/* پس‌زمینهٔ سکشن تمام‌عرض می‌ماند ولی محتوا داخل ظرف می‌نشیند. */
.vg-header,.vg-search-pop,.vg-hero,.vg-section,.vg-badges,.vg-footer,
.vg-about-hero,.vg-two,.vg-cta-sec,.vg-contact-hero,.vg-contact-grid,
.vg-blog-hero,.vg-shop-hero,.vg-shop-layout,.vg-arch-hero,.vg-aboutshort{
  padding-inline: max(var(--vg-edge), calc((100% - var(--vg-container)) / 2));
}
/* کارت‌های گرد خودشان ظرف‌اند، پس فقط بالشتک داخلی می‌گیرند */
/* نوارها هم همان ظرف را می‌گیرند تا محتوا با بقیهٔ صفحه هم‌تراز بماند */
.vg-band{
  padding-inline: max(var(--vg-edge), calc((100% - var(--vg-container)) / 2));
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .vg-header{padding:18px 24px;}
  .vg-nav{display:none;position:fixed;inset:0 0 0 auto;width:min(320px,84vw);background:var(--vg-bg);flex-direction:column;align-items:flex-start;gap:0;padding:90px 28px;box-shadow:-10px 0 40px rgba(11,40,27,0.15);z-index:70;overflow-y:auto;}
  .vg-nav.is-open{display:flex;}
  .vg-nav ul{flex-direction:column;align-items:flex-start;gap:22px;}
  .vg-menu-toggle{display:flex;}
  .vg-section,.vg-hero,.vg-badges,.vg-aboutshort,.vg-two,.vg-footer,.vg-shop-layout,.vg-contact-grid,.vg-shop-hero,.vg-arch-hero{padding-left:24px!important;padding-right:24px!important;}
  .vg-shop-layout{grid-template-columns:1fr;}
  .vg-shop-sidebar{position:static;}
  .vg-post-layout{grid-template-columns:1fr;padding-left:24px!important;padding-right:24px!important;}
  .vg-post-side{position:static;flex-direction:row;flex-wrap:wrap;}
  .vg-post-side .vg-share,.vg-post-side .vg-side-card{flex:1 1 220px;}
}
@media (max-width:820px){
  .vg-hero,.vg-aboutshort,.vg-two,.vg-contact-grid{grid-template-columns:1fr;}
  .vg-hero__title{font-size:44px;}
  .vg-h2{font-size:32px;}
  .vg-footer__grid{grid-template-columns:1fr 1fr;}
  .vg-field-row{grid-template-columns:1fr;}
  .vg-post-head{padding-left:24px!important;padding-right:24px!important;}
  .vg-post-head h1{font-size:32px;}
  .vg-post-thumb{padding-left:24px!important;padding-right:24px!important;}
  .vg-post-nav{grid-template-columns:1fr;padding-left:24px!important;padding-right:24px!important;}
  .vg-author-box{flex-direction:column;}
}
@media (max-width:520px){
  .vg-footer__grid{grid-template-columns:1fr;}
  .vg-hero__title{font-size:34px;}
  .vg-about-hero h1{font-size:34px;}
}

/* ==================== Cart · Checkout · Account ==================== */

/* ---------- shared card + summary ---------- */
.vg-card{background:var(--vg-white);border-radius:28px;padding:34px;box-shadow:0 20px 46px rgba(11,40,27,0.06);}
.vg-card__head{display:flex;align-items:center;gap:12px;margin-bottom:24px;}
.vg-card__n{width:36px;height:36px;min-width:36px;border-radius:12px;background:var(--vg-ink);color:var(--vg-gold);display:flex;align-items:center;justify-content:center;font-weight:800;}
.vg-card__title{font-weight:800;font-size:19px;}
.vg-card__headrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap;}
.vg-btn--sm{padding:12px 22px;border-radius:16px;font-size:14px;}

.vg-summary{background:var(--vg-ink);border-radius:28px;padding:34px;color:var(--vg-bg);position:sticky;top:100px;}
.vg-summary__title{font-weight:800;font-size:19px;margin-bottom:26px;}
.vg-summary__rows{display:flex;flex-direction:column;gap:16px;font-size:14.5px;}
.vg-summary__row{display:flex;justify-content:space-between;gap:12px;color:rgba(249,249,246,0.7);}
.vg-summary__row--gold{color:var(--vg-gold);}
.vg-summary__divider{height:1px;background:rgba(249,249,246,0.15);margin:22px 0;}
.vg-summary__total{display:flex;justify-content:space-between;font-size:18px;font-weight:800;margin-bottom:28px;gap:12px;}
.vg-summary__total span:last-child{color:var(--vg-gold);}
.vg-summary .order-total .amount{color:var(--vg-gold);}
.vg-summary__cta a,.vg-summary__cta .button,.vg-summary .checkout-button{
  display:block;width:100%;text-align:center;background:var(--vg-gold)!important;color:var(--vg-ink);
  padding:18px;border-radius:20px;font-weight:800;font-size:16px;border:none;cursor:pointer;
  box-shadow:0 20px 46px rgba(212,175,55,0.3);
}
.vg-summary__secure{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:12.5px;color:rgba(249,249,246,0.5);}
/* ووکامرس جدول‌های خودش را داخل جعبهٔ تیره تزریق می‌کند */
.vg-summary table,.vg-summary th,.vg-summary td{background:transparent;border:none;color:inherit;padding:8px 0;font-size:14.5px;}
.vg-summary table{width:100%;border-collapse:collapse;}
.vg-summary th{text-align:start;font-weight:600;color:rgba(249,249,246,0.7);}
.vg-summary td{text-align:end;}
.vg-summary a{color:var(--vg-gold);}

/* ---------- Cart ---------- */
.vg-cart__title{font-size:40px;font-weight:800;margin:0;}
.vg-cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:start;}
.vg-cart-items{background:var(--vg-white);border-radius:28px;padding:34px;box-shadow:0 20px 46px rgba(11,40,27,0.06);}
.vg-cart-item{display:grid;grid-template-columns:100px 1fr auto auto;gap:20px;align-items:center;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid rgba(11,40,27,0.08);}
.vg-cart-item:last-of-type{border-bottom:none;margin-bottom:0;}
.vg-cart-item__media{width:100px;height:100px;border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:28px;background:repeating-linear-gradient(135deg,#eef3f0,#eef3f0 10px,#e5ede8 10px,#e5ede8 20px);}
.vg-cart-item__media img{width:100%;height:100%;object-fit:cover;}
.vg-cart-item__name{font-weight:700;font-size:16px;}
.vg-cart-item__name a{color:var(--vg-ink);}
.vg-cart-item__info dl,.vg-cart-item__info .variation{font-size:13px;color:var(--vg-muted2);margin:6px 0 0;}
.vg-cart-item__remove{display:inline-block;color:#c0392b;font-size:13px;margin-top:10px;}
.vg-cart-item__qty .quantity{display:flex;align-items:center;border:1.5px solid rgba(11,40,27,0.12);border-radius:16px;overflow:hidden;}
.vg-cart-item__qty input.qty{width:56px;height:44px;border:none;text-align:center;font-weight:700;font-size:14px;font-family:inherit;background:var(--vg-white);}
.vg-cart-item__price{font-weight:800;color:var(--vg-green);font-size:16px;white-space:nowrap;}
.vg-cart-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px;padding-top:22px;border-top:1px solid rgba(11,40,27,0.08);}
.vg-cart-actions__coupon{display:flex;gap:10px;flex:1;min-width:260px;}
.vg-cart-actions__coupon .vg-input{margin-bottom:0;flex:1;}
.vg-cart-actions__coupon .vg-btn{padding:14px 22px;border-radius:16px;font-size:14.5px;}
.vg-cart-actions__update{background:transparent;border:1.5px solid rgba(11,40,27,0.15);color:var(--vg-ink);padding:14px 22px;border-radius:16px;font-weight:700;cursor:pointer;font-family:inherit;}
.vg-cart__continue{display:inline-block;color:var(--vg-ink);font-weight:700;font-size:14.5px;border-bottom:2px solid var(--vg-gold);padding-bottom:3px;margin-top:24px;}

/* ---------- Checkout ---------- */
.vg-checkout-steps{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:0;}
.vg-step-item{display:flex;align-items:center;gap:10px;}
.vg-step-item__n{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;}
.vg-step-item__n--done{background:var(--vg-ink);color:var(--vg-gold);}
.vg-step-item__n--active{background:var(--vg-gold);color:var(--vg-ink);}
.vg-step-item__n--next{background:var(--vg-mint);color:var(--vg-ink);}
.vg-step-item__label{font-weight:700;font-size:14.5px;color:rgba(11,40,27,0.4);}
.vg-step-item__label--active{color:var(--vg-ink);}
.vg-step-line{width:60px;height:2px;background:rgba(11,40,27,0.15);}
.vg-checkout__grid{
  display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:start;
  padding-inline: max(var(--vg-edge), calc((100% - var(--vg-container)) / 2));
  padding-block:50px 100px;
}
.vg-checkout__main{display:flex;flex-direction:column;gap:24px;}
.vg-checkout .vg-card__body{display:grid;grid-template-columns:1fr;gap:8px;}
.vg-checkout p.form-row{margin:0 0 16px;}
.vg-checkout label{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px;}
.vg-checkout input[type=text],.vg-checkout input[type=email],.vg-checkout input[type=tel],
.vg-checkout input[type=password],.vg-checkout textarea,.vg-checkout select{
  width:100%;padding:15px 18px;border-radius:16px;border:1.5px solid rgba(11,40,27,0.12);
  font-size:14.5px;text-align:right;background:var(--vg-bg);font-family:inherit;
}
.vg-checkout .form-row-first,.vg-checkout .form-row-last{width:48%;display:inline-block;vertical-align:top;}
.vg-checkout .form-row-first{margin-inline-end:3%;}
/* روش ارسال و پرداخت داخل جدول بازبینی می‌مانند (ایجکس دست‌نخورده) ولی شکل کارتی می‌گیرند */
.vg-summary--checkout .shipping th,.vg-summary--checkout .shipping td{display:block;text-align:start;}
.vg-summary--checkout ul#shipping_method{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.vg-summary--checkout ul#shipping_method li{background:rgba(249,249,246,0.06);border-radius:14px;padding:12px 16px;}
.vg-checkout #payment{background:transparent;border-radius:0;}
.vg-checkout #payment ul.payment_methods{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:12px;border:none;}
.vg-checkout #payment ul.payment_methods li{background:rgba(249,249,246,0.06);border-radius:18px;padding:16px 20px;}
.vg-checkout #payment div.payment_box{background:rgba(249,249,246,0.08);border-radius:14px;padding:14px 16px;margin-top:10px;font-size:13px;color:rgba(249,249,246,0.75);}
.vg-checkout #payment div.payment_box::before{display:none;}
.vg-checkout #payment .form-row.place-order{padding:0;margin:0;}
.vg-checkout #place_order{
  width:100%;background:var(--vg-gold);color:var(--vg-ink);border:none;padding:18px;border-radius:20px;
  font-weight:800;font-size:16px;cursor:pointer;font-family:inherit;box-shadow:0 20px 46px rgba(212,175,55,0.3);
}

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce{
  display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start;
  padding-inline: max(var(--vg-edge), calc((100% - var(--vg-container)) / 2));
  padding-block:60px 90px;
}
.vg-account-nav{background:var(--vg-ink);border-radius:28px;padding:36px 26px;color:var(--vg-bg);position:sticky;top:100px;}
.vg-account-nav__user{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:30px;padding-bottom:28px;border-bottom:1px solid rgba(249,249,246,0.12);text-align:center;}
.vg-account-nav__avatar{width:76px;height:76px;border-radius:24px;background:var(--vg-gold);color:var(--vg-ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:28px;}
.vg-account-nav__name{font-weight:700;font-size:16px;}
.vg-account-nav__email{font-size:13px;color:rgba(249,249,246,0.55);word-break:break-all;}
.vg-account-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.vg-account-nav__link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;font-weight:600;font-size:14.5px;color:rgba(249,249,246,0.75);}
.vg-account-nav__link:hover{background:rgba(249,249,246,0.08);color:var(--vg-bg);}
.vg-account-nav__icon{font-size:17px;}
.vg-account-nav .is-active .vg-account-nav__link{background:var(--vg-gold);color:var(--vg-ink);}
.vg-account{display:flex;flex-direction:column;gap:28px;}
.vg-account-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;}
.vg-stat-card{background:var(--vg-mint);border-radius:24px;padding:28px;}
.vg-stat-card__value{font-size:26px;font-weight:800;color:var(--vg-green);}
.vg-stat-card__label{font-size:14px;color:rgba(11,40,27,0.6);margin-top:8px;}
.vg-orders{display:flex;flex-direction:column;gap:16px;}
.vg-order{display:flex;align-items:center;gap:16px;background:var(--vg-bg);border-radius:20px;padding:20px 24px;flex-wrap:wrap;}
.vg-order__icon{width:52px;height:52px;min-width:52px;border-radius:16px;background:var(--vg-mint);display:flex;align-items:center;justify-content:center;font-size:22px;}
.vg-order__info{flex:1;min-width:160px;display:flex;flex-direction:column;}
.vg-order__name{font-weight:700;font-size:15px;color:var(--vg-ink);}
.vg-order__meta{font-size:13px;color:rgba(11,40,27,0.5);margin-top:4px;}
.vg-order__price{font-weight:800;color:var(--vg-green);font-size:15px;}
.vg-order__status{font-size:13px;font-weight:700;padding:8px 16px;border-radius:999px;background:var(--vg-mint);color:var(--vg-green);}
.vg-order__status--processing,.vg-order__status--on-hold{background:#fdf3d9;color:#8a6d1f;}
.vg-order__status--cancelled,.vg-order__status--failed,.vg-order__status--refunded{background:#fdecec;color:#b3261e;}
.vg-addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.vg-address{background:var(--vg-mint);border-radius:20px;padding:22px;position:relative;}
.vg-address__badge{position:absolute;top:18px;inset-inline-end:18px;background:var(--vg-ink);color:var(--vg-gold);font-size:11.5px;font-weight:800;padding:5px 12px;border-radius:999px;}
.vg-address__title{font-weight:700;font-size:15px;margin-bottom:8px;}
.vg-address__text{font-size:13.5px;color:rgba(11,40,27,0.6);line-height:1.8;}
.vg-address__text address{font-style:normal;}

@media (max-width:1100px){
  .vg-checkout .form-row-first,.vg-checkout .form-row-last{width:100%;margin-inline-end:0;}
}

/* ---------- My Account: login / register (بدون override، فقط ظاهر) ---------- */
/* بازدیدکنندهٔ خارج‌شده این فرم را می‌بیند، نه داشبورد را. */
.woocommerce-account:not(.logged-in) .woocommerce{
  display:block;
  max-width:1000px;
  margin-inline:auto;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2{
  background:var(--vg-white);border-radius:28px;padding:34px;
  box-shadow:0 20px 46px rgba(11,40,27,0.06);border:none;
}
.woocommerce-account .u-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}
.woocommerce-account h2{font-size:22px;font-weight:800;margin:0 0 22px;}
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account .form-row label{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px;}
.woocommerce-account input[type=text],
.woocommerce-account input[type=email],
.woocommerce-account input[type=password],
.woocommerce-account input[type=tel]{
  width:100%;padding:15px 18px;border-radius:16px;border:1.5px solid rgba(11,40,27,0.12);
  font-size:14.5px;text-align:right;background:var(--vg-bg);font-family:inherit;
}
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit,
.woocommerce-account .woocommerce-Button{
  background:var(--vg-gold);color:var(--vg-ink);border:none;padding:16px 32px;border-radius:20px;
  font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;
  box-shadow:0 20px 46px rgba(212,175,55,0.3);
}
.woocommerce-account .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;}
.woocommerce-account .lost_password a{color:var(--vg-green);font-size:13.5px;}

/* پیام‌های ووکامرس در تمام صفحات، هم‌رنگ برند */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-radius:18px;border:none;padding:16px 20px;font-size:14.5px;
  background:var(--vg-mint);color:var(--vg-green);border-top:none;
}
.woocommerce-error{background:#fdecec;color:#b3261e;}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none;}
.woocommerce-message .button,.woocommerce-info .button{
  background:var(--vg-ink);color:var(--vg-gold);border-radius:14px;padding:10px 20px;font-weight:700;
}

/* ---------- WooCommerce shortcode pages: out of the article cage ---------- */
/* این صفحات از page.php می‌آیند؛ ظرف باریک مقاله چیدمان دوستونی را له می‌کرد. */
.vg-wc-page{width:100%;padding-block:40px 90px;}
.vg-wc-page > .woocommerce{width:100%;}

/* گرید نباید هرگز به زیر عرض قابل‌استفاده برود.
   minmax(0,1fr) از سرریز جلوگیری می‌کند و minmax روی ستون ثابت، جمع‌شدن را می‌بندد. */
.vg-cart-layout{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);}
.vg-checkout__grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);}
.vg-cart-items,.vg-checkout__main,.vg-account,.vg-summary,.vg-account-nav{min-width:0;}

/* متن‌های داخل ستون‌ها نباید حرف‌به‌حرف بشکنند */
.vg-summary,.vg-account-nav,.vg-cart-items,.vg-stat-card,.vg-order{overflow-wrap:anywhere;}
.vg-summary__cta a,.vg-summary__cta .button,.vg-summary .checkout-button,
.vg-cart-actions__update,.vg-cart-actions__coupon .vg-btn{white-space:nowrap;}
.vg-account-nav__link{white-space:nowrap;}
.vg-account-nav__email{font-size:12px;}

/* کارت آمار: عدد بلند (قیمت) نباید ستون را بترکاند */
.vg-stat-card__value{font-size:clamp(18px,2vw,26px);line-height:1.5;}

/* نوار مراحل تسویه در عرض کم */
@media (max-width:600px){
  .vg-step-line{width:24px;}
  .vg-step-item__label{font-size:13px;}
  .vg-checkout-steps{gap:8px;}
}

/* ---------- Responsive: single column well before things get tight ---------- */
@media (max-width:1100px){
  .vg-cart-layout,
  .vg-checkout__grid{grid-template-columns:minmax(0,1fr);}
  .vg-summary,.vg-account-nav{position:static;}
}
@media (max-width:720px){
  .vg-cart-item{grid-template-columns:72px minmax(0,1fr);row-gap:12px;}
  .vg-cart-item__media{width:72px;height:72px;}
  .vg-cart-item__qty,.vg-cart-item__price{grid-column:2;}
  .vg-cart-items,.vg-card,.vg-summary,.vg-account-nav{padding:22px;}
  .vg-cart__title{font-size:28px;}
  .vg-account-stats{grid-template-columns:minmax(0,1fr);}
  .vg-order{gap:12px;}
  .vg-order__price,.vg-order__status{font-size:13px;}
  .vg-addresses{grid-template-columns:minmax(0,1fr);}
}

/* ---------- تور ایمنی: اگر تشخیص صفحه در page.php شکست، قفس مقاله نباید این صفحات را له کند ---------- */
body.woocommerce-cart .vg-page,
body.woocommerce-checkout .vg-page,
body.woocommerce-account .vg-page{max-width:none;padding-inline:0;}
body.woocommerce-cart .vg-page > h1,
body.woocommerce-checkout .vg-page > h1,
body.woocommerce-account .vg-page > h1{display:none;}
body.woocommerce-cart .vg-page > .vg-post-body,
body.woocommerce-checkout .vg-page > .vg-post-body,
body.woocommerce-account .vg-page > .vg-post-body{padding:0;max-width:none;}

/* ==================== My Account — explicit, float-proof layout ====================
   ساختار واقعی ووکامرس فقط دو فرزند دارد و خودش روی آن‌ها float+width می‌گذارد:
     nav.woocommerce-MyAccount-navigation   → float:left;  width:30%
     div.woocommerce-MyAccount-content      → float:right; width:68%
   قبلاً فقط روی والد گرید گذاشته بودم و به ترتیب منبع تکیه کرده بودم؛ اگر آن گرید
   به هر دلیلی اعمال نمی‌شد، شناوری‌های ووکامرس ستون‌ها را جابه‌جا می‌کردند.
   حالا جایگاه هر ستون صریح است و شناوری‌ها هم خنثی می‌شوند. */

body.woocommerce-account .woocommerce{
  display:grid !important;
  grid-template-columns:minmax(240px,300px) minmax(0,1fr) !important;
  gap:32px;
  align-items:start;
  float:none;
}
/* در راست‌چین ستون ۱ سمت راست است ⇒ سایدبار راست، محتوا چپ (مطابق طرح) */
body.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{
  grid-column:1 !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
body.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{
  grid-column:2 !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  min-width:0;
}
/* پیام‌ها/اعلان‌ها هر جای این ظرف باشند، تمام عرض بگیرند و ستون‌ها را جابه‌جا نکنند */
body.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-account .woocommerce > .woocommerce-message,
body.woocommerce-account .woocommerce > .woocommerce-info,
body.woocommerce-account .woocommerce > .woocommerce-error{
  grid-column:1 / -1 !important;
}

/* خارج‌شده: فرم ورود تک‌ستونی است و نباید داخل گرید دوستونی بیفتد */
body.woocommerce-account:not(.logged-in) .woocommerce{
  display:block !important;
  max-width:900px;
  margin-inline:auto;
}

/* ---------- نام/ایمیل بلند نباید سایدبار را بترکاند ---------- */
.vg-account-nav__name,
.vg-account-nav__email{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-align:center;
  line-height:1.7;
}
.vg-account-nav__name{font-size:15px;}
.vg-account-nav__email{font-size:12px;direction:ltr;}
.vg-account-nav__link{white-space:nowrap;}

/* ---------- کارت‌های محتوا ---------- */
.woocommerce-MyAccount-content{min-width:0;}
.vg-account-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.vg-stat-card{min-width:0;overflow-wrap:anywhere;}
.vg-card__headrow .vg-btn{white-space:nowrap;}
.vg-addresses{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.vg-address{min-width:0;}
/* نشان «پیش‌فرض» نباید روی عنوان بیفتد */
.vg-address{padding-top:52px;}
.vg-address__badge{top:16px;}

/* ---------- ووکامرس داخل محتوای حساب (سفارش‌ها، آدرس، جزئیات) ---------- */
.woocommerce-MyAccount-content table.shop_table{
  width:100%;border-collapse:collapse;border:none;border-radius:20px;overflow:hidden;background:var(--vg-white);
}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td{
  border:none;border-bottom:1px solid rgba(11,40,27,0.08);padding:14px 16px;font-size:14px;text-align:start;
}
.woocommerce-MyAccount-content table.shop_table th{font-weight:700;background:var(--vg-mint);}
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-Button{
  background:var(--vg-gold);color:var(--vg-ink);border:none;padding:12px 22px;border-radius:16px;
  font-weight:800;font-size:14px;cursor:pointer;font-family:inherit;display:inline-block;
}
.woocommerce-MyAccount-content form .form-row{margin:0 0 16px;}
.woocommerce-MyAccount-content label{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px;}
.woocommerce-MyAccount-content input[type=text],
.woocommerce-MyAccount-content input[type=email],
.woocommerce-MyAccount-content input[type=tel],
.woocommerce-MyAccount-content input[type=password],
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea{
  width:100%;padding:14px 18px;border-radius:16px;border:1.5px solid rgba(11,40,27,0.12);
  font-size:14.5px;text-align:right;background:var(--vg-bg);font-family:inherit;
}
.woocommerce-MyAccount-content fieldset{border:1px solid rgba(11,40,27,0.1);border-radius:20px;padding:22px;margin-top:24px;}
.woocommerce-MyAccount-content legend{font-weight:800;padding:0 8px;}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  body.woocommerce-account .woocommerce{
    grid-template-columns:minmax(0,1fr) !important;
  }
  body.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{
    grid-column:1 !important;
  }
  .vg-account-nav{position:static;}
  .vg-account-nav__list{flex-direction:row;flex-wrap:wrap;}
  .vg-account-nav__link{padding:12px 14px;}
}
@media (max-width:640px){
  .vg-account-nav__list{flex-direction:column;}
  .vg-account-stats{grid-template-columns:minmax(0,1fr);}
  .vg-addresses{grid-template-columns:minmax(0,1fr);}
  .woocommerce-MyAccount-content table.shop_table thead{display:none;}
  .woocommerce-MyAccount-content table.shop_table tr{display:block;margin-bottom:14px;border-radius:16px;overflow:hidden;}
  .woocommerce-MyAccount-content table.shop_table td{display:flex;justify-content:space-between;gap:12px;}
  .woocommerce-MyAccount-content table.shop_table td::before{content:attr(data-title);font-weight:700;}
}

/* ==================== Empty states (cart, and reusable elsewhere) ==================== */
.vg-empty-state{padding-block:70px 90px;}
.vg-empty-state__box{
  background:var(--vg-white);
  border-radius:32px;
  padding:clamp(32px,5vw,64px) clamp(24px,4vw,48px);
  box-shadow:0 20px 46px rgba(11,40,27,0.06);
  text-align:center;
  max-width:640px;
  margin-inline:auto;
}
.vg-empty-state__icon{
  display:flex;align-items:center;justify-content:center;
  width:96px;height:96px;margin:0 auto 26px;
  border-radius:32px;
  background:var(--vg-mint);
  color:var(--vg-green);
  font-size:40px;line-height:1;
}
.vg-empty-state__title{
  font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--vg-ink);margin:0 0 14px;
}
.vg-empty-state__text{
  font-size:15.5px;line-height:1.9;color:var(--vg-muted);margin:0 auto 30px;max-width:420px;
}
.vg-empty-state__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.vg-empty-state__actions .vg-btn{padding:16px 30px;font-size:15.5px;}
.vg-empty-state__suggest{margin-top:70px;}
.vg-empty-state__suggest .vg-head-center{margin-bottom:36px;}

/* اعلان پیش‌فرض «سبد خالی است» ووکامرس دیگر لازم نیست: خودمان حالت خالی داریم */
.woocommerce-cart .cart-empty.woocommerce-info{display:none;}
.woocommerce-cart .return-to-shop{display:none;}

@media (max-width:520px){
  .vg-empty-state__actions{flex-direction:column;}
  .vg-empty-state__actions .vg-btn{width:100%;text-align:center;}
  .vg-empty-state__icon{width:76px;height:76px;font-size:32px;border-radius:26px;}
}

/* ==================== Header icons (uploadable) ==================== */
.vg-iconbtn__img{display:block;object-fit:contain;width:var(--vg-hicon,22px);height:var(--vg-hicon,22px);}
.vg-iconbtn__glyph{line-height:1;display:block;}
/* آیکن روی دکمهٔ تیره باید روشن بماند */
.vg-iconbtn--dark .vg-iconbtn__glyph{color:var(--vg-gold);}

/* ==================== Button colours — explicit after the :where() base ====================
   رنگ پایهٔ لینک حالا ویژگی صفر دارد، ولی این‌ها را صریح می‌نویسیم تا اگر افزونه‌ای
   قانون رقیب گذاشت، متن دکمه‌ها باز هم خوانا بماند. */
.vg-btn--gold,.vg-btn--gold:hover,.vg-btn--gold:focus{color:var(--vg-ink);}
.vg-btn--dark,.vg-btn--dark:hover,.vg-btn--dark:focus{color:var(--vg-bg);}
.vg-pcard__add,.vg-pcard__add:hover{color:var(--vg-gold);}
.vg-iconbtn,.vg-iconbtn:hover{color:var(--vg-ink);}
.vg-iconbtn--dark,.vg-iconbtn--dark:hover{color:var(--vg-gold);}
.vg-cart__continue,.vg-cart__continue:hover{color:var(--vg-ink);}
.vg-slider-promo__link,.vg-slider-promo__link:hover{color:var(--vg-green);}
.vg-summary__cta a,.vg-summary__cta a:hover,
.vg-summary .checkout-button,.vg-summary .checkout-button:hover{color:var(--vg-ink);}
.vg-account-nav__link,.vg-account-nav__link:hover{color:rgba(249,249,246,0.75);}
.vg-account-nav .is-active .vg-account-nav__link{color:var(--vg-ink);}
.vg-order,.vg-order:hover{color:inherit;}
.vg-order__name{color:var(--vg-ink);}
.vg-empty-state__actions .vg-btn--gold{color:var(--vg-ink);}
.vg-empty-state__actions .vg-btn--dark{color:var(--vg-bg);}
.vg-footer__col a,.vg-footer__col a:hover{color:var(--vg-ink-on-dark);}
.vg-footer__col a:hover{color:var(--vg-gold);}
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-MyAccount-content .woocommerce-Button:hover{color:var(--vg-ink);}
.woocommerce-account .woocommerce-Button,
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit{color:var(--vg-ink);}
.vg-checkout #place_order,.vg-checkout #place_order:hover{color:var(--vg-ink);}
.vg-cart-actions__update,.vg-cart-actions__update:hover{color:var(--vg-ink);}
.vg-cart-item__remove,.vg-cart-item__remove:hover{color:#c0392b;}

/* ---------- Breadcrumb ---------- */
.vg-crumb{
  max-width:var(--vg-container);margin:0 auto;padding:18px var(--vg-edge) 0;
  font-size:13px;color:var(--vg-muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px;
}
.vg-crumb a{color:var(--vg-muted);text-decoration:none;}
.vg-crumb a:hover{color:var(--vg-green);text-decoration:underline;}
.vg-crumb__sep{opacity:0.45;}

/* ==================== Button interaction ====================
   نکتهٔ مهم برای نگهداری: چون رنگ پایهٔ دکمه‌ها با !important روی ووکامرس نوشته شده،
   قاعدهٔ هاور هم ناچار باید !important داشته باشد، وگرنه هرگز برنده نمی‌شود.
   این هزینهٔ همان راهکار است؛ اگر روزی !important پایه برداشته شد، اینجا هم بردارید. */
:root{
  --vg-gold-dark:#BF9B2F;
  --vg-shadow-gold:0 26px 60px rgba(212,175,55,0.45);
  --vg-shadow-dark:0 24px 54px rgba(11,40,27,0.32);
}

.vg-btn,
.vg-pcard__add,
.vg-newsletter__form button,
.vg-search-form button,
.vg-shop-sidebar .button,.vg-shop-sidebar button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce div.product form.cart .button,
.vg-summary__cta a,.vg-summary__cta .button,.vg-summary .checkout-button,
.vg-cart-actions__update,
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-Button{
  transition:background-color .18s ease,box-shadow .22s ease,transform .18s ease;
}

/* خانوادهٔ طلایی */
.vg-btn--gold:hover,
.vg-newsletter__form button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product form.cart .button:hover,
.vg-summary__cta a:hover,.vg-summary__cta .button:hover,.vg-summary .checkout-button:hover,
.vg-cart-actions__update:hover,
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content .woocommerce-Button:hover{
  background:var(--vg-gold-dark)!important;
  box-shadow:var(--vg-shadow-gold);
  transform:translateY(-2px);
}

/* خانوادهٔ تیره */
.vg-btn--dark:hover,
.vg-pcard__add:hover,
.vg-shop-sidebar .button:hover,.vg-shop-sidebar button:hover,
.vg-search-form button:hover{
  background:var(--vg-dark2)!important;
  box-shadow:var(--vg-shadow-dark);
  transform:translateY(-2px);
}

/* لحظهٔ کلیک: دکمه به جای خودش برمی‌گردد تا فشردن حس شود */
.vg-btn:active,
.vg-pcard__add:active,
.vg-newsletter__form button:active,
.vg-search-form button:active,
.vg-shop-sidebar .button:active,.vg-shop-sidebar button:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce div.product form.cart .button:active,
.vg-summary__cta a:active,.vg-summary__cta .button:active,.vg-summary .checkout-button:active,
.vg-cart-actions__update:active{
  transform:translateY(0);
  box-shadow:0 10px 22px rgba(11,40,27,0.22);
}

/* دسترسی با صفحه‌کلید: جای هاور را برای کسی که ماوس ندارد می‌گیرد */
.vg-btn:focus-visible,
.vg-pcard__add:focus-visible,
.vg-iconbtn:focus-visible,
.vg-newsletter__form button:focus-visible,
.vg-search-form button:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.vg-summary__cta a:focus-visible,.vg-summary .checkout-button:focus-visible,
.vg-cart-actions__update:focus-visible{
  outline:3px solid var(--vg-green);
  outline-offset:3px;
}

/* دکمه‌های آیکنی هدر */
.vg-iconbtn{transition:background-color .18s ease,box-shadow .22s ease,transform .18s ease;}
.vg-iconbtn:hover{box-shadow:0 14px 30px rgba(11,40,27,0.18);transform:translateY(-2px);}

/* احترام به تنظیم سیستمیِ کاهش حرکت */
@media (prefers-reduced-motion:reduce){
  .vg-btn,.vg-pcard__add,.vg-iconbtn,
  .woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
  .vg-summary__cta a,.vg-summary .checkout-button,.vg-cart-actions__update{transition:none;}
  .vg-btn:hover,.vg-pcard__add:hover,.vg-iconbtn:hover,
  .woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
  .vg-summary__cta a:hover,.vg-summary .checkout-button:hover,.vg-cart-actions__update:hover{transform:none;}
}

/* ==================== Product reviews ==================== */
.vg-reviews{max-width:1000px;margin:0 auto;}

/* خلاصه: امتیاز کلی + توزیع ستاره‌ها */
.vg-reviews__summary{
  display:grid;grid-template-columns:220px 1fr auto;gap:36px;align-items:center;
  background:var(--vg-white);border-radius:26px;padding:30px 32px;margin-bottom:34px;
  box-shadow:0 20px 46px rgba(11,40,27,0.06);
}
.vg-reviews__score{text-align:center;border-inline-end:1px solid var(--vg-line);padding-inline-end:32px;}
.vg-reviews__num{font-size:52px;font-weight:800;line-height:1;color:var(--vg-ink);margin-bottom:10px;}
.vg-reviews__count{font-size:13px;color:var(--vg-muted);margin-top:10px;}

.vg-stars{display:inline-flex;gap:3px;font-size:17px;line-height:1;}
.vg-stars__s{color:rgba(11,40,27,0.18);}
.vg-stars__s.is-on{color:var(--vg-gold);}

.vg-reviews__bars{display:flex;flex-direction:column;gap:10px;}
.vg-reviews__bar{display:grid;grid-template-columns:76px 1fr 34px;align-items:center;gap:12px;font-size:13px;}
.vg-reviews__barlabel{color:var(--vg-muted);}
.vg-reviews__track{height:8px;border-radius:999px;background:var(--vg-mint);overflow:hidden;}
.vg-reviews__fill{display:block;height:100%;width:var(--vg-pct,0%);border-radius:999px;background:var(--vg-gold);}
.vg-reviews__barnum{color:var(--vg-muted);text-align:center;}

/* کارت نظر */
.vg-reviews__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.vg-review{list-style:none;}
.vg-review__box{
  background:var(--vg-white);border-radius:22px;padding:24px 26px;
  box-shadow:0 14px 34px rgba(11,40,27,0.05);
  transition:box-shadow .22s ease,transform .18s ease;
}
.vg-review__box:hover{box-shadow:0 22px 48px rgba(11,40,27,0.09);transform:translateY(-2px);}
.vg-review__head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.vg-review__ava{
  width:46px;height:46px;flex:0 0 46px;border-radius:16px;background:var(--vg-ink);color:var(--vg-gold);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;
}
.vg-review__who{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;}
.vg-review__name{font-weight:700;font-size:15px;}
.vg-review__sub{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--vg-muted);}
.vg-review__verified{
  background:var(--vg-mint);color:var(--vg-green);border-radius:999px;
  padding:3px 10px;font-weight:700;font-size:11.5px;
}
.vg-review__rate{flex:0 0 auto;}
.vg-review__body{font-size:14.5px;line-height:2;color:rgba(11,40,27,0.78);}
.vg-review__body p{margin:0 0 10px;}
.vg-review__body p:last-child{margin-bottom:0;}
.vg-review__pending{margin:14px 0 0;font-size:12.5px;color:var(--vg-green);font-weight:700;}

/* حالت خالی */
.vg-reviews__empty{
  background:var(--vg-white);border-radius:22px;padding:46px 26px;text-align:center;
  box-shadow:0 14px 34px rgba(11,40,27,0.05);color:var(--vg-muted);
}
.vg-reviews__emptyicon{font-size:34px;display:block;margin-bottom:14px;}
.vg-reviews__empty p{margin:0;font-size:14.5px;}

/* فرم ثبت نظر */
.vg-reviews__formwrap{
  background:var(--vg-white);border-radius:26px;padding:30px 32px;margin-top:34px;
  box-shadow:0 20px 46px rgba(11,40,27,0.06);
}
.vg-reviews__formtitle{font-size:20px;font-weight:800;display:block;margin-bottom:22px;}
.vg-reviews .comment-form label{display:block;font-weight:700;font-size:14px;margin-bottom:8px;}
.vg-reviews .comment-form input[type=text],
.vg-reviews .comment-form input[type=email],
.vg-reviews .comment-form textarea,
.vg-reviews .comment-form select{
  width:100%;padding:14px 16px;border-radius:16px;border:1.5px solid var(--vg-line);
  background:var(--vg-bg);font-family:inherit;font-size:15px;color:var(--vg-ink);
}
.vg-reviews .comment-form textarea{min-height:140px;resize:vertical;}
.vg-reviews .comment-form input:focus,
.vg-reviews .comment-form textarea:focus,
.vg-reviews .comment-form select:focus{outline:none;border-color:var(--vg-green);}
.vg-reviews .comment-form p{margin:0 0 18px;}
.vg-reviews .required{color:#c0392b;}
.vg-reviews__pager{margin-top:24px;}
.vg-reviews__locked{
  background:var(--vg-mint);border-radius:18px;padding:20px 24px;margin-top:28px;
  font-size:14px;color:var(--vg-ink);text-align:center;
}

@media (max-width:860px){
  .vg-reviews__summary{grid-template-columns:1fr;gap:24px;text-align:center;}
  .vg-reviews__score{border-inline-end:none;padding-inline-end:0;border-bottom:1px solid var(--vg-line);padding-bottom:22px;}
  .vg-review__head{flex-wrap:wrap;}
  .vg-review__rate{width:100%;}
}

/* ==================== دیدگاه‌های نوشته (comments.php) ==================== */
.vg-comments{max-width:1000px;margin:0 auto;}
.vg-comments__head{margin-bottom:28px;}
.vg-comments__title{font-size:28px;font-weight:800;margin:0;}

.vg-comments__list{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-direction:column;gap:16px;}
.vg-comments__list .children{list-style:none;margin:16px 0 0;padding-inline-start:34px;display:flex;flex-direction:column;gap:16px;border-inline-start:2px solid var(--vg-line);}

.vg-comment__box{
  background:var(--vg-white);border-radius:22px;padding:24px 26px;
  box-shadow:0 14px 34px rgba(11,40,27,0.05);
  transition:box-shadow .22s ease,transform .18s ease;
}
.vg-comment__box:hover{box-shadow:0 22px 48px rgba(11,40,27,0.09);}
.vg-comment__head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.vg-comment__ava{flex:0 0 auto;line-height:0;}
.vg-comment__ava img{width:46px;height:46px;border-radius:16px;display:block;}
.vg-comment__who{display:flex;flex-direction:column;gap:5px;min-width:0;}
.vg-comment__name{font-weight:700;font-size:15px;}
.vg-comment__date{font-size:12.5px;color:var(--vg-muted);}
.vg-comment__date a{color:inherit;}
.vg-comment__date a:hover{color:var(--vg-green);}
.vg-comment__body{font-size:15px;line-height:2;color:rgba(11,40,27,0.78);}
.vg-comment__body p{margin:0 0 10px;}
.vg-comment__body p:last-child{margin-bottom:0;}
.vg-comment__pending{margin:0 0 12px;font-size:12.5px;color:var(--vg-green);font-weight:700;}
.vg-comment__foot{margin-top:14px;}
.vg-comment__reply a{
  display:inline-block;font-size:13px;font-weight:700;color:var(--vg-green);
  background:var(--vg-mint);padding:7px 16px;border-radius:999px;transition:background .2s,color .2s;
}
.vg-comment__reply a:hover{background:var(--vg-green);color:var(--vg-white);}
.comment-reply-title small a{
  display:inline-block;margin-inline-start:10px;font-size:12px;font-weight:700;color:var(--vg-muted);
}

.vg-comments__empty{
  background:var(--vg-white);border-radius:22px;padding:46px 26px;text-align:center;margin-bottom:30px;
  box-shadow:0 14px 34px rgba(11,40,27,0.05);color:var(--vg-muted);
}
.vg-comments__emptyicon{font-size:34px;display:block;margin-bottom:14px;}
.vg-comments__empty p{margin:0;font-size:14.5px;}

.vg-comments__pager{margin:-8px 0 30px;}
.vg-comments__pager ul{list-style:none;display:flex;gap:8px;margin:0;padding:0;}
.vg-comments__pager a,.vg-comments__pager span{
  display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;
  border-radius:12px;background:var(--vg-mint2);font-size:14px;font-weight:700;color:var(--vg-ink);
}
.vg-comments__pager a:hover{background:var(--vg-mint);}
.vg-comments__pager .current{background:var(--vg-green);color:var(--vg-white);}

.vg-comments__formwrap{
  background:var(--vg-white);border-radius:26px;padding:30px 32px;
  box-shadow:0 20px 46px rgba(11,40,27,0.06);
}
.vg-comments__formtitle{font-size:20px;font-weight:800;display:block;margin-bottom:22px;}
.vg-comments .comment-form label{display:block;font-weight:700;font-size:14px;margin-bottom:8px;}
.vg-comments .comment-form input[type=text],
.vg-comments .comment-form input[type=email],
.vg-comments .comment-form input[type=url],
.vg-comments .comment-form textarea{
  width:100%;border:1px solid var(--vg-line);border-radius:14px;padding:13px 16px;
  font-family:inherit;font-size:15px;background:var(--vg-bg);transition:border-color .2s;
}
.vg-comments .comment-form textarea{min-height:130px;resize:vertical;}
.vg-comments .comment-form input:focus,
.vg-comments .comment-form textarea:focus{outline:none;border-color:var(--vg-green);}
.vg-comments .comment-form p{margin:0 0 18px;}
.vg-comments .comment-form .comment-form-cookies-consent{display:flex;align-items:center;gap:8px;}
.vg-comments .comment-form .comment-form-cookies-consent label{margin:0;font-weight:400;font-size:13px;}
.vg-comments .required{color:#c0392b;}
.vg-comments__closed{
  background:var(--vg-mint);border-radius:18px;padding:20px 24px;
  font-size:14px;color:var(--vg-ink);text-align:center;
}

@media (max-width:640px){
  .vg-comments__list .children{padding-inline-start:18px;}
  .vg-comments__formwrap{padding:24px 20px;}
}

/* ==================== Product tabs ====================
   ووکامرس تب‌ها را با قاب خاکستری، لبه‌های گوشِ فیلی و یک خط زیرین می‌سازد و هر سه را
   با شبه‌عنصر می‌کشد. برای رسیدن به تب قرصی‌شکل برند، آن شبه‌عنصرها باید خاموش شوند؛
   خاموش نکردنشان همان قاب خاکستری را زیر طرح جدید باقی می‌گذارد. */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex!important;flex-wrap:wrap;gap:10px!important;
  list-style:none!important;margin:0 0 28px!important;padding:0!important;
  overflow:visible!important;border:none!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{
  display:none!important;content:none!important;border:none!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:var(--vg-mint)!important;border:none!important;border-radius:999px!important;
  margin:0!important;padding:0!important;box-shadow:none!important;
  transition:background-color .18s ease,box-shadow .22s ease,transform .18s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block!important;padding:12px 26px!important;
  font-weight:700!important;font-size:14.5px!important;color:var(--vg-ink)!important;
  text-decoration:none!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover{
  background:var(--vg-mint2)!important;box-shadow:0 12px 26px rgba(11,40,27,0.10);transform:translateY(-2px);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:var(--vg-ink)!important;box-shadow:0 16px 34px rgba(11,40,27,0.22);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--vg-gold)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible{
  outline:3px solid var(--vg-green);outline-offset:3px;border-radius:999px;
}

/* پنل محتوای تب */
.woocommerce div.product .woocommerce-tabs .panel{
  background:var(--vg-white);border-radius:26px;padding:32px 34px;margin:0!important;
  box-shadow:0 20px 46px rgba(11,40,27,0.06);
}
.woocommerce div.product .woocommerce-tabs .panel>h2:first-child{
  font-size:20px;font-weight:800;margin:0 0 18px;color:var(--vg-ink);
}
.woocommerce div.product .woocommerce-tabs .panel p{line-height:2;color:rgba(11,40,27,0.78);}
.woocommerce div.product .woocommerce-tabs .panel ul{line-height:2.1;color:rgba(11,40,27,0.78);padding-inline-start:20px;}

/* پنل نظرات ظرف سفید خودش را دارد، پس ظرف دوم لازم نیست */
.woocommerce div.product .woocommerce-tabs #tab-reviews.panel{
  background:transparent;box-shadow:none;padding:0;
}

@media (prefers-reduced-motion:reduce){
  .woocommerce div.product .woocommerce-tabs ul.tabs li{transition:none;}
  .woocommerce div.product .woocommerce-tabs ul.tabs li:hover{transform:none;}
}

/* ==================== Product gallery ==================== */
.woocommerce div.product div.images{margin-bottom:0;}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0;}
.woocommerce div.product div.images img{
  border-radius:32px!important;box-shadow:0 20px 60px rgba(11,40,27,0.10);display:block;width:100%;height:auto;
}
/* بندانگشتی‌ها: شبکهٔ چهارتایی مثل طرح، نه ردیف شناور پیش‌فرض */
.woocommerce div.product div.images .flex-control-thumbs{
  display:grid!important;grid-template-columns:repeat(4,1fr);gap:14px;
  margin:18px 0 0!important;padding:0!important;list-style:none;overflow:visible;
}
.woocommerce div.product div.images .flex-control-thumbs li{
  width:auto!important;float:none!important;margin:0!important;list-style:none;
}
.woocommerce div.product div.images .flex-control-thumbs img{
  border-radius:18px!important;box-shadow:none;opacity:1;cursor:pointer;
  border:2px solid transparent;background:var(--vg-mint2);
  transition:border-color .18s ease,transform .18s ease;
}
.woocommerce div.product div.images .flex-control-thumbs img:hover{transform:translateY(-2px);}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{
  border-color:var(--vg-gold)!important;opacity:1;
}
/* دکمهٔ بزرگ‌نمایی ووکامرس با گوشهٔ گرد جدید همخوان نبود */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  top:20px;inset-inline-end:20px;border-radius:14px;
}

/* ==================== Quantity stepper ==================== */
.woocommerce .quantity{
  display:inline-flex!important;align-items:center;
  border:1.5px solid var(--vg-line)!important;border-radius:18px!important;
  overflow:hidden;background:var(--vg-white);
}
.woocommerce .quantity input.qty{
  width:56px!important;height:56px;border:none!important;background:transparent!important;
  text-align:center;font-family:inherit;font-weight:700;font-size:16px;color:var(--vg-ink);
  padding:0!important;-moz-appearance:textfield;box-shadow:none!important;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.vg-qty__btn{
  width:48px;height:56px;border:none;background:transparent;cursor:pointer;
  font-size:20px;font-weight:700;color:var(--vg-ink);line-height:1;font-family:inherit;
  transition:background-color .18s ease,color .18s ease;
}
.vg-qty__btn:hover{background:var(--vg-mint);color:var(--vg-green);}
.vg-qty__btn:focus-visible{outline:3px solid var(--vg-green);outline-offset:-3px;}

/* ==================== Global breadcrumb ==================== */
.vg-crumb--global{padding-top:22px;padding-bottom:2px;}
.vg-crumb--global .rank-math-breadcrumb p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.vg-crumb--global a{color:var(--vg-muted);text-decoration:none;}
.vg-crumb--global a:hover{color:var(--vg-green);text-decoration:underline;}
.vg-crumb--global .last,.vg-crumb--global .separator{color:var(--vg-muted);}
.vg-crumb--global .last{color:var(--vg-green);font-weight:700;}

@media (max-width:700px){
  .woocommerce div.product div.images .flex-control-thumbs{grid-template-columns:repeat(3,1fr);}
}
