/*
Theme Name: RAHIQ
Theme URI: https://rahiqstore.ir
Description: قالب اختصاصی فروشگاه رحیق — برند مدرن اسلامی. طراحی مینیمال و لوکس، RTL کامل، سازگار با ووکامرس، با پنل مدیریت اختصاصی.
Author: RAHIQ
Version: 1.33.5
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: rahiq
Tags: e-commerce, rtl-language-support, custom-colors, translation-ready
*/

/* ==========================================================================
   RAHIQ — استایل قالب
   رنگ‌ها و فونت‌ها از پنل مدیریت خوانده می‌شوند و به‌صورت متغیر CSS
   در هدر تزریق می‌شوند. اینجا فقط از متغیرها استفاده می‌کنیم.
   ========================================================================== */

/* ---------- فونت‌ها (از jsDelivr — در ایران پایدارتر از Google Fonts) ---------- */
@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource-variable/fraunces@5.3.0/index.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource-variable/fraunces@5.3.0/wght-italic.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/inter@5.2.6/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/inter@5.2.6/500.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/inter@5.2.6/600.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/anton@5.2.5/index.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/baloo-2@5.3.0/600.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/baloo-2@5.3.0/800.css');

@font-face{
  font-family:'Estedad'; font-style:normal; font-weight:800; font-display:swap;
  src:url('https://cdn.jsdelivr.net/gh/aminabedi68/Estedad@8.5/fonts/Statics/webfonts/Estedad-ExtraBold.woff2') format('woff2');
}
@font-face{
  font-family:'Estedad'; font-style:normal; font-weight:900; font-display:swap;
  src:url('https://cdn.jsdelivr.net/gh/aminabedi68/Estedad@8.5/fonts/Statics/webfonts/Estedad-Black.woff2') format('woff2');
}
@font-face{
  font-family:'Estedad'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('https://cdn.jsdelivr.net/gh/aminabedi68/Estedad@8.5/fonts/Statics/webfonts/Estedad-SemiBold.woff2') format('woff2');
}

/* ==========================================================================
   ۱. توکن‌ها
   (مقادیر پیش‌فرض — پنل مدیریت اینها را بازنویسی می‌کند)
   ========================================================================== */
:root{
  --ink:#0A0A0A;
  --paper:#FFFFFF;
  --studio:#ECECEA;
  --gray:#9A9CA1;
  --navy:#2C3A5E;
  --wine:#87202F;

  --ink-soft:#48494C;
  --line:rgba(10,10,10,.12);
  --line-strong:rgba(10,10,10,.28);
  --surface:#F7F7F5;

  --fa-body:'Vazirmatn', system-ui, sans-serif;
  --fa-head:'Estedad','Vazirmatn', system-ui, sans-serif;
  --en-head:'Fraunces Variable','Fraunces', Georgia, serif;
  --en-body:'Inter', system-ui, sans-serif;
  --display:'Anton','Inter', sans-serif;
  --logo:'Baloo 2','Inter', sans-serif;

  --fs-display:clamp(34px, 7vw, 50px);
  --fs-h1:clamp(22px, 3.4vw, 27px);
  --fs-h2:clamp(18px, 2.8vw, 21px);
  --fs-body:15.5px;

  --wrap:1240px;
  --gut:24px;
  --sec:clamp(56px, 9vw, 104px);
  --arch:999px 999px 10px 10px;
  --nav-h:66px;
}

/* این مقدارها فقط پشتیبان‌اند؛ مقدار واقعی از پنل می‌آید و بعد از این می‌نشیند.
   پایه خاکستری تیره است نه مشکی خالص — مشکی مطلق کنتراست را بیش از حد
   بالا می‌برد و چشم را خسته می‌کند. */
[data-theme="night"]{
  --ink:#F3F3F1;
  --paper:#17181C;
  --surface:#222327;
  --studio:#2B2C30;
  --deep:#111114;
  --gray:#8A8C91;
  --navy:#3E4E74;
  --ink-soft:#B7B8BB;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.26);
}

/* ==========================================================================
   ۲. پایه
   ========================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--fa-body); font-size:var(--fs-body); line-height:1.85;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input,select,textarea{ font:inherit; color:inherit; }
h1,h2,h3,h4{ font-family:var(--fa-head); font-weight:800; line-height:1.35; margin:0; }
p{ margin:0 0 1em; }
:focus-visible{ outline:2px solid var(--navy); outline-offset:3px; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.sec{ padding-block:var(--sec); }
.hide{ display:none !important; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

.eyebrow{
  font-family:var(--en-body); font-size:11px; font-weight:500;
  letter-spacing:.28em; text-transform:uppercase; color:var(--gray);
  direction:ltr;
}
.lat{ font-family:var(--en-body); direction:ltr; unicode-bidi:isolate; }
.num{ font-family:var(--en-body); direction:ltr; unicode-bidi:isolate; font-variant-numeric:tabular-nums; }

.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:34px; }
.sec-head h2{ font-size:var(--fs-h1); }
.rule{ height:1px; background:var(--line); border:0; margin:0; }

/* ==========================================================================
   ۳. دکمه‌ها
   ========================================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 30px; border-radius:2px;
  font-family:var(--fa-body); font-weight:600; font-size:15px; line-height:1;
  border:1px solid transparent; cursor:pointer; text-align:center;
}
/* --btn-bg / --btn-fg فقط وقتی در پنل (تم شب) انتخاب شده باشند وجود دارند */
.btn--solid{ background:var(--btn-bg, var(--ink)); color:var(--btn-fg, var(--paper)); }
.btn--ghost{ border-color:var(--line-strong); color:var(--ink); }
.btn--navy{ background:var(--navy); color:#fff; }
.btn--onnavy{ background:#fff; color:var(--navy); }
.btn--full{ width:100%; }
.btn--sm{ padding:11px 20px; font-size:13px; }
.btn[disabled]{ opacity:.4; cursor:not-allowed; }

/* ==========================================================================
   ۴. نوار اعلان + نویگیشن
   ========================================================================== */
.announce{
  background:var(--ink); color:var(--paper);
  text-align:center; font-size:12.5px; padding:9px 16px;
}
[data-theme="night"] .announce{ background:var(--announce-bg, var(--navy)); color:var(--announce-fg, #fff); }

/* --nav-bg فقط وقتی در پنل (تم شب) هدر رنگ جدا گرفته باشد وجود دارد */
.nav{ position:sticky; top:0; z-index:60; background:var(--nav-bg, var(--paper)); border-bottom:1px solid var(--line); }
.nav__in{ height:var(--nav-h); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; }
.nav__links{ display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
.nav__links a{ font-size:14.5px; padding-block:6px; border-bottom:1px solid transparent; display:inline-block; }
.nav__links .current-menu-item > a,
.nav__links .current_page_item > a{ border-bottom-color:var(--navy); color:var(--navy); }
.nav__logo{
  font-family:var(--logo); font-weight:800; font-size:26px; letter-spacing:.06em;
  line-height:1; direction:ltr; text-align:center; padding-inline:8px;
}
.nav__logo img{ max-height:34px; width:auto; margin-inline:auto; }

/* ---------- لوگو در تم روز و شب ----------
   هر دو نسخه چاپ می‌شوند و اینجا یکی انتخاب می‌شود. */
/* فقط در هدر و منوی موبایل پنهان می‌شود — فوتر مستقیم لوگوی سفید را می‌گیرد */
.nav__logo .logo-light,
.mmenu__top .logo-light{ display:none; }
[data-theme="night"] .nav__logo .logo-dark,
[data-theme="night"] .mmenu__top .logo-dark{ display:none; }
[data-theme="night"] .nav__logo .logo-light,
[data-theme="night"] .mmenu__top .logo-light{ display:block; }

/* اگر لوگوی سفید آپلود نشده، تنها لوگوی موجود در تم شب وارونه می‌شود */
[data-theme="night"] .nav__logo img.logo-dark:only-child,
[data-theme="night"] .mmenu__top img.logo-dark:only-child{
  display:block; filter:brightness(0) invert(1);
}
.nav__tools{ display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.icon-btn{
  width:40px; height:40px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; position:relative;
}
.icon-btn:hover{ background:var(--surface); }
.icon-btn svg{ width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.5; }
.cart-count{
  position:absolute; inset-block-start:4px; inset-inline-start:4px;
  min-width:17px; height:17px; padding:0 4px; border-radius:999px;
  background:var(--navy); color:#fff;
  font-family:var(--en-body); font-size:10px; font-weight:600;
  display:flex; align-items:center; justify-content:center;
}
.nav__burger{ display:none; }

.search{ display:none; border-top:1px solid var(--line); background:var(--paper); padding-block:16px; }
.search.is-open{ display:block; }
.search__in{ display:flex; gap:10px; align-items:center; }
.search input[type="search"]{
  flex:1; padding:13px 16px; border:1px solid var(--line-strong);
  border-radius:2px; background:transparent;
}

.mmenu{
  position:fixed; inset:0; z-index:80; background:var(--paper);
  transform:translateX(-100%); visibility:hidden; display:flex; flex-direction:column;
}
.mmenu.is-open{ transform:none; visibility:visible; }
.mmenu__top{ height:var(--nav-h); display:flex; align-items:center; justify-content:space-between; }
.mmenu__links{ list-style:none; margin:0; padding:20px 0 0; display:flex; flex-direction:column; }
.mmenu__links a{
  font-family:var(--fa-head); font-weight:800; font-size:26px;
  padding-block:14px; border-bottom:1px solid var(--line); display:block;
}
.mmenu__foot{ margin-top:auto; padding-block:26px; }

/* ---------- شبکه‌های اجتماعی ---------- */
.socials{ display:flex; gap:10px; align-items:center; }
.social{
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--line-strong);
  display:inline-flex; align-items:center; justify-content:center;
}
.social svg{ width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.5; }
.social:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

.socials--menu{ margin-top:16px; }
.socials--footer{ margin-top:22px; }
.footer .social{ border-color:rgba(255,255,255,.24); color:rgba(255,255,255,.78); }
.footer .social:hover{ background:#fff; color:var(--ink); border-color:#fff; }

/* ==========================================================================
   ۵. هیرو
   ========================================================================== */
.hero{ position:relative; background:var(--paper); padding-top:26px; overflow:hidden; }
.hero__stage{ position:relative; display:flex; align-items:flex-end; justify-content:center; min-height:min(76vh, 640px); }
.hero__word{
  position:absolute; inset-block-start:6%; inset-inline:0; text-align:center; direction:ltr;
  font-family:var(--display); font-size:clamp(84px, 21vw, 300px);
  line-height:.82; color:var(--ink); opacity:.94;
  pointer-events:none; user-select:none;
}
.hero__arch{
  position:relative; z-index:2; width:min(46%, 420px); aspect-ratio:3/4.1;
  background:var(--studio); border-radius:var(--arch);
  display:flex; align-items:flex-end; justify-content:center; overflow:hidden;
}
.hero__arch img,.hero__arch svg{ width:100%; height:100%; object-fit:cover; }
.hero__tag{
  position:absolute; z-index:3; inset-block-end:22px; inset-inline-start:0;
  font-family:var(--tagline-font, var(--fa-head));
  font-style:var(--tagline-style, normal);
  font-weight:var(--tagline-weight, 800);
  font-size:clamp(19px, 2.6vw, 27px); line-height:1.6; max-width:240px;
}
.hero__cta{
  position:absolute; z-index:3; inset-block-end:22px; inset-inline-end:0;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
}
.hero__strap{ margin-top:14px; text-align:center; padding-bottom:26px; }

/* ==========================================================================
   ۶. متن‌نوار
   ========================================================================== */
.marquee{ background:var(--ink); color:var(--paper); padding-block:14px; overflow:hidden; white-space:nowrap; }
.marquee__track{ display:flex; gap:44px; padding-inline:22px; }
.marquee span{
  font-family:var(--en-body); font-size:12px; font-weight:500;
  letter-spacing:.3em; text-transform:uppercase; direction:ltr;
}

/* ==========================================================================
   ۷. کارت محصول
   ========================================================================== */
.grid{ display:grid; gap:26px; }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.grid--4{ grid-template-columns:repeat(4,1fr); }

.card{ display:block; position:relative; }
.card__media{
  position:relative; background:var(--studio);
  border-radius:var(--arch); overflow:hidden; aspect-ratio:3/3.7;
  display:flex; align-items:center; justify-content:center;
}
.card__media img{ width:100%; height:100%; object-fit:cover; }
.card__media svg{ width:78%; height:auto; }
.card__badge{
  position:absolute; inset-block-start:16px; inset-inline-start:16px; z-index:2;
  background:var(--paper); color:var(--ink);
  font-size:11px; letter-spacing:.08em; padding:5px 10px; border-radius:2px;
}
.card__body{ padding-top:14px; display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.card__name{ font-family:var(--fa-head); font-weight:800; font-size:15.5px; min-width:0; }
.card__color{ font-size:13px; color:var(--gray); }
.card__price{ font-size:14px; font-weight:500; white-space:nowrap; flex:0 0 auto; }
.card__price del{ display:none; }

@media (max-width:520px){
  .card__body{ flex-direction:column; align-items:flex-start; gap:4px; }
}

/* ==========================================================================
   ۸. بلوک مانیفست
   ========================================================================== */
.manifest{ background:var(--navy); color:#fff; }
.manifest__in{ max-width:820px; margin-inline:auto; text-align:center; }
.manifest__quote{
  font-family:var(--en-head); font-style:italic; font-weight:400;
  font-size:clamp(24px, 3.6vw, 38px); line-height:1.6; margin:22px 0 26px;
}
.manifest__fa{ font-family:var(--fa-body); font-size:16.5px; line-height:2; opacity:.86; }
.manifest .eyebrow{ color:rgba(255,255,255,.6); }

/* ==========================================================================
   ۹. نظرات
   ========================================================================== */
/* بخش پایین صفحه‌ی خانه — نظرها و سوالات متداول ظاهر مشترک دارند.
   همه‌چیز از پنل: ظاهر کارت (vb--*)، گردی (--vb-r)، رنگ تأکید (--vb-accent)،
   تعداد ستون (--cols) و چیدمان موبایل (vgrid--m-*). */
.vblock{ --vb-accent:var(--navy); }
.vblock__head h2{ margin-top:8px; }
.vblock__sub{ margin:12px 0 0; max-width:560px; color:var(--ink-soft); font-size:15px; line-height:1.95; }
.vblock--center .vblock__head{ justify-content:center; text-align:center; }
.vblock--center .vblock__sub{ margin-inline:auto; }

.vgrid{
  display:grid; grid-template-columns:repeat(var(--cols, 3), minmax(0, 1fr));
  gap:18px; align-items:start;
}
.vgrid--stretch{ align-items:stretch; }

/* کارت — سه ظاهر */
.vcard{ border-radius:var(--vb-r, 2px); padding:26px; margin:0; }
.vb--line  .vcard{ border:1px solid var(--line); background:var(--paper); }
.vb--soft  .vcard{ border:1px solid transparent; background:var(--surface); }
.vb--plain .vcard{
  border:0; border-top:1px solid var(--line-strong); border-radius:0;
  background:transparent; padding-inline:0;
}

/* نظر */
/* ستاره‌ها مشکی‌اند مگر رنگ تأکید دلخواه در پنل انتخاب شده باشد */
.stars{ color:var(--vb-star, var(--ink)); letter-spacing:.18em; font-size:13px; direction:ltr; }
.review__text{ margin:14px 0 18px; font-size:15px; line-height:2; }
.review__who{ font-size:13px; color:var(--gray); }

/* سوال — شماره و متن */
.faq__num{
  font-family:var(--en-body); font-size:12px; font-weight:600; letter-spacing:.18em;
  color:var(--vb-accent); direction:ltr; unicode-bidi:isolate; flex:0 0 auto;
}
.faq-card .faq__q{ font-family:var(--fa-head); font-size:16.5px; line-height:1.75; margin:10px 0 10px; }
.faq__a{ margin:0; font-size:14.5px; line-height:2.05; color:var(--ink-soft); }

/* سوال بازشونده — با <details> خود مرورگر، بدون جاوااسکریپت */
.faq-item{ padding:0; transition:border-color .25s ease, background .25s ease; }
.faq-item > summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:flex-start; gap:12px;
  padding:20px 22px; font-family:var(--fa-head); font-size:15.5px; line-height:1.75;
}
.faq-item > summary::-webkit-details-marker{ display:none; }
.faq-item > summary:focus-visible{ outline:2px solid var(--vb-accent); outline-offset:-2px; }
.faq-item .faq__num{ padding-top:5px; }
.faq__qt{ flex:1; }
.faq-item .faq__a{ padding:0 22px 22px; }
.vb--plain .faq-item > summary{ padding-inline:0; }
.vb--plain .faq-item .faq__a{ padding-inline:0; }
.vb--line .faq-item[open]{ border-color:var(--line-strong); }

/* آیکن به‌علاوه ← منها */
.faq__ico{ flex:0 0 20px; height:20px; position:relative; margin-top:4px; color:var(--vb-accent); }
.faq__ico--plus::before,
.faq__ico--plus::after{
  content:""; position:absolute; inset-inline:3px; top:50%; height:1.6px;
  background:currentColor; border-radius:2px; transform:translateY(-50%);
  transition:transform .3s ease;
}
.faq__ico--plus::after{ transform:translateY(-50%) rotate(90deg); }
.faq-item[open] .faq__ico--plus::after{ transform:translateY(-50%) rotate(0deg); }

/* آیکن فلش */
.faq__ico--chev::before{
  content:""; position:absolute; width:8px; height:8px; top:4px; left:6px;
  border:solid currentColor; border-width:0 1.6px 1.6px 0;
  transform:rotate(45deg); transition:transform .3s ease, top .3s ease;
}
.faq-item[open] .faq__ico--chev::before{ transform:rotate(-135deg); top:8px; }

/* باز شدن نرم — فقط مرورگرهایی که پشتیبانی می‌کنند؛ بقیه بی‌انیمیشن باز می‌شوند */
@supports (interpolate-size:allow-keywords){
  .faq-item{ interpolate-size:allow-keywords; }
  .faq-item::details-content{
    block-size:0; overflow:hidden;
    transition:block-size .35s ease, content-visibility .35s allow-discrete;
  }
  .faq-item[open]::details-content{ block-size:auto; }
}
@media (prefers-reduced-motion:reduce){
  .faq-item::details-content{ transition:none; }
}

/* فهرست تک‌ستونه */
.faq-list{ max-width:820px; margin-inline:auto; display:flex; flex-direction:column; gap:12px; }
.vb--plain .faq-list{ gap:0; }
.vb--plain .faq-list .faq-item:last-child{ border-bottom:1px solid var(--line-strong); }
.vblock--center .faq-list,
.faq--list .vblock__head{ text-align:start; }
.faq--list.vblock--center .vblock__head{ text-align:center; }

/* جمله و دکمه‌ی پایین */
.faq__cta{
  margin-top:30px; display:flex; flex-wrap:wrap; align-items:center; gap:14px;
  color:var(--ink-soft); font-size:14.5px;
}
.vblock--center .faq__cta,
.faq--list .faq__cta{ justify-content:center; }

/* موبایل */
@media (max-width:860px){
  .vgrid{ grid-template-columns:1fr; gap:12px; }
  .vgrid--m-two{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .vgrid--m-two .vcard{ padding:18px; }

  /* کشیدنی: کارت‌ها افقی کنار هم، با انگشت ورق می‌خورند */
  .vgrid--m-swipe{
    grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:84%;
    overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
    margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut); scroll-padding-inline:var(--gut);
  }
  .vgrid--m-swipe::-webkit-scrollbar{ display:none; }
  .vgrid--m-swipe > *{ scroll-snap-align:start; }

  .vblock--center .vblock__head{ align-items:center; }
  .faq-item > summary{ padding:17px 18px; font-size:15px; }
  .faq-item .faq__a{ padding:0 18px 18px; }
}

/* ==========================================================================
   ۱۰. نوار اعتماد
   ========================================================================== */
.trust{ border-block:1px solid var(--line); }
.trust__grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.trust__item{ padding:30px 18px; text-align:center; border-inline-start:1px solid var(--line); }
.trust__item:first-child{ border-inline-start:0; }
.trust__item b{ display:block; font-family:var(--fa-head); font-size:15px; margin-bottom:4px; }
.trust__item span{ font-size:13px; color:var(--gray); }

/* ==========================================================================
   ۱۱. فوتر
   ========================================================================== */
.footer{ background:var(--ink); color:var(--paper); padding-top:64px; }
/* در حالت شب، --paper تیره می‌شود و متن فوتر گم می‌شد؛ رنگ متن را صریح می‌گذاریم.
   پس‌زمینه یک پله عمیق‌تر از خود صفحه است تا فوتر جدا دیده شود — ولی باز هم
   مشکی خالص نیست. */
[data-theme="night"] .footer{ background:var(--deep, #111114); color:#F3F3F1; }
[data-theme="night"] .footer h4{ color:#F3F3F1; }
.footer a{ color:rgba(255,255,255,.72); }
.footer a:hover{ color:#fff; }
.footer__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; }
.footer__logo{ font-family:var(--logo); font-weight:800; font-size:30px; letter-spacing:.06em; direction:ltr; }
.footer__strap{ margin-top:8px; color:rgba(255,255,255,.5); }
.footer h4{ font-size:14px; color:#fff; margin-bottom:16px; }
.footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:14px; }
.news{ display:flex; gap:8px; margin-top:18px; max-width:340px; }
.news input{
  flex:1; background:transparent; border:1px solid rgba(255,255,255,.28);
  color:#fff; padding:12px 14px; border-radius:2px;
}
.news input::placeholder{ color:rgba(255,255,255,.42); }
/* فوتر همیشه تیره است، پس رنگ دکمه ثابت می‌ماند —
   با var(--ink) در تم شب متن سفید روی دکمه‌ی سفید می‌شد. */
.news button{ background:#fff; color:#0A0A0A; padding:0 20px; border-radius:2px; font-weight:600; font-size:14px; }
.news button:hover{ background:#E8E8E6; }
.news button[disabled]{ opacity:.55; cursor:not-allowed; }
.footer__badges{ display:flex; gap:12px; flex-wrap:wrap; padding-block:26px; border-top:1px solid rgba(255,255,255,.14); align-items:center; }
.badge{
  border:1px solid rgba(255,255,255,.22); border-radius:3px; padding:10px 14px;
  font-size:12px; color:rgba(255,255,255,.72);
  display:flex; align-items:center; gap:8px; min-height:52px;
}
.badge img{ max-height:52px; width:auto; }

/* نماد اینماد — لوگوی رسمی خودش پس‌زمینه دارد، پس کادر اضافه نمی‌گذاریم */
.badge--seal{
  background:transparent; border:0; padding:0;
  min-height:0; justify-content:center;
}
.badge--seal a{ display:block; line-height:0; }
.badge--seal img{ max-height:82px; width:auto; height:auto; display:block; border-radius:3px; }

/* نشان تصویری بدون کادر — لوگو مستقیم روی فوتر می‌نشیند */
.badge--img{
  background:transparent; border:0; padding:0;
  min-height:auto; justify-content:center;
}
.badge--img img{ max-height:44px; width:auto; }

/* لوگوی تیره روی فوتر مشکی گم می‌شود؛ این گزینه آن را یکدست سفید می‌کند
   و دیگر نیازی به کادر سفید پشتش نیست. */
.badge--white img{ filter:brightness(0) invert(1); opacity:.92; }
.badge--white:hover img{ opacity:1; }
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.14); padding-block:20px;
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:12.5px; color:rgba(255,255,255,.5);
}

/* ==========================================================================
   ۱۲. صفحات عمومی
   ========================================================================== */
.page-head{ padding-block:clamp(38px,6vw,64px) 30px; }
.page-head h1{ font-size:var(--fs-display); font-family:var(--fa-head); }
.page-head .lead{ max-width:560px; color:var(--ink-soft); margin-top:10px; }
.entry{ padding-bottom:var(--sec); }
.entry img{ border-radius:3px; margin-block:20px; }
.entry h2{ font-size:var(--fs-h1); margin:34px 0 14px; }
.entry h3{ font-size:var(--fs-h2); margin:26px 0 12px; }
.entry ul,.entry ol{ padding-inline-start:22px; }

/* پیگیری سفارش: تیتر هم‌راستای فرم وسط‌چین */
.page-head--center{ text-align:center; }

/* برگه‌های متنی (ارسال، تماس، مرجوعی، قوانین…):
   ستون متن به لبه‌ی راست می‌چسبد — هم‌لبه با تیتر — نه وسط صفحه.
   تراز وسطی که ویرایشگر وردپرس روی پاراگراف‌ها گذاشته هم خنثی می‌شود. */
/* دو کلاس با هم — قاعده‌ی «.entry__narrow» پایین‌تر در همین فایل
   margin خودکار می‌دهد و با یک کلاس، آن برنده می‌شد و ستون وسط می‌ماند */
.entry__narrow.entry__narrow--text{ margin-inline:0 auto; text-align:start; direction:rtl; }
.entry__narrow--text :is(p, h2, h3, h4, h5, h6, li, blockquote, figcaption, .wp-block-heading){
  text-align:start !important;
}
.entry__narrow--text p{ line-height:2.05; }

/* ==========================================================================
   ۱۲.۵ صفحه‌ی داستان برند
   ========================================================================== */
.story-hero{ text-align:center; padding-block:clamp(56px,10vw,110px); }
.story-hero__tag{
  font-family:var(--tagline-font, var(--fa-head));
  font-style:var(--tagline-style, normal);
  font-weight:var(--tagline-weight, 800);
  font-size:clamp(28px,5.5vw,54px); margin:18px 0 0; line-height:1.5;
}

.chapter{
  display:grid; grid-template-columns:1fr 1fr; gap:60px;
  align-items:center; padding-block:var(--sec); border-top:1px solid var(--line);
}
.chapter__num{
  font-family:var(--en-body); font-size:12px; letter-spacing:.3em;
  color:var(--gray); direction:ltr; text-transform:uppercase;
}
.chapter h2{ font-size:var(--fs-h1); margin:12px 0 18px; }
.chapter p{ line-height:2.05; }
.chapter__ar{
  font-family:var(--en-head); font-size:23px; line-height:2;
  color:var(--ink-soft); margin-bottom:14px;
}
.chapter--flip .chapter__media{ order:-1; }

.values{ display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.value{ padding:44px 26px; border-inline-start:1px solid var(--line); }
.value:first-child{ border-inline-start:0; }
.value b{ display:block; font-family:var(--fa-head); font-size:17px; margin-bottom:8px; }
.value span{ color:var(--ink-soft); font-size:14.5px; }

.cta-band{ text-align:center; padding-block:var(--sec); }

/* ==========================================================================
   ۱۳. ووکامرس — استایل پایه
   (قالب‌های اختصاصی فروشگاه در مرحله‌ی بعد می‌آیند)
   ========================================================================== */
.woo-wrap{ padding-block:clamp(30px,5vw,54px) var(--sec); }
.woocommerce-products-header{ margin-bottom:34px; }
.woocommerce-products-header__title{ font-size:var(--fs-display); font-family:var(--fa-head); }

ul.products{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
}
ul.products li.product{ margin:0; }

.woocommerce-ordering select{
  border:1px solid var(--line-strong); border-radius:2px;
  padding:9px 12px; background:transparent; font-size:13.5px;
}

.woocommerce-message,.woocommerce-info,.woocommerce-error,
.woocommerce-NoticeGroup ul{
  border:1px solid var(--line); border-radius:2px;
  padding:14px 18px; margin-bottom:24px; list-style:none;
  background:var(--surface); font-size:14.5px;
}
.woocommerce-message li,.woocommerce-info li,.woocommerce-error li{ list-style:none; margin:0; }
.woocommerce-message,.woocommerce-info,.woocommerce-error{ padding-inline-start:18px; }
.woocommerce-error{ background:#FBEAEC; border-color:#EEC4CA; color:#87202F; }
.woocommerce-privacy-policy-text{ font-size:12.5px; color:var(--gray); }
.woocommerce-privacy-policy-text p{ margin:0 0 12px; }

.ship-bar{ background:var(--surface); border:1px solid var(--line); border-radius:2px; padding:18px 20px; margin-bottom:26px; }
.ship-bar__text{ font-size:14px; margin-bottom:12px; }
.ship-bar__track{ height:6px; background:var(--line); border-radius:999px; overflow:hidden; }
.ship-bar__fill{ height:100%; background:var(--navy); width:0; }

.button,.wp-element-button{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 30px; border-radius:2px; border:1px solid transparent;
  background:var(--ink); color:var(--paper);
  font-family:var(--fa-body); font-weight:600; font-size:15px; line-height:1; cursor:pointer;
}
.button:hover{ opacity:.9; color:var(--paper); }

/* ---------- نوار فیلتر فروشگاه ---------- */
/* عمداً چسبان نیست: با هدرِ جمع‌شونده هماهنگ نمی‌ماند و موقع اسکرول
   تکان می‌خورد. سر جایش بالای فهرست می‌نشیند و همان‌جا می‌ماند. */
.filters{
  background:var(--paper); border-block:1px solid var(--line);
  padding-block:7px; margin-bottom:30px;
}
.filters__in{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.chips{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{ display:inline-block; border:1px solid var(--line-strong); border-radius:999px; padding:5px 13px; font-size:12.5px; }
.chip.is-on{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.filters__right{ display:flex; align-items:center; gap:14px; }
.filters__count{ font-size:12px; color:var(--gray); margin:0; }
.filters .woocommerce-ordering select{ padding:6px 10px; font-size:12.5px; }
.filters__toggle{ display:none; }
.woocommerce-ordering{ margin:0; }

/* ---------- صفحه‌ی محصول ---------- */
.pdp{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; padding-block:36px; align-items:start; }
/* ستون بندانگشتی مطلق است تا هرچقدر عکس باشد، ارتفاع قاب را بلند نکند.
   اگر از عکس اصلی بلندتر شد، خودش داخل خودش اسکرول می‌شود. */
.pdp__media{ position:relative; }
.thumbs{
  position:absolute; inset-block:0; inset-inline-start:0; width:82px;
  display:flex; flex-direction:column; gap:12px;
  overflow-y:auto; overscroll-behavior:contain; scrollbar-width:none;
}
.thumbs::-webkit-scrollbar{ display:none; }
.thumb{ flex:0 0 auto; }
.pdp__media .stage{ margin-inline-start:98px; }
.thumb{
  background:var(--studio); border-radius:999px 999px 6px 6px;
  aspect-ratio:3/3.8; overflow:hidden; border:1px solid transparent; padding:0;
  display:flex; align-items:center; justify-content:center;
}
.thumb img{ width:100%; height:100%; object-fit:cover; }
.thumb.is-on{ border-color:var(--ink); }
.stage{
  background:var(--studio); border-radius:var(--arch); overflow:hidden;
  aspect-ratio:3/3.8; display:flex; align-items:center; justify-content:center;
}
.stage img{ width:100%; height:100%; object-fit:cover; }
.stage svg{ width:74%; height:auto; }

.pdp__info{ position:sticky; top:calc(var(--nav-h) + 22px); }
.pdp__title{ font-size:var(--fs-h1); margin-bottom:6px; }
.pdp__rating{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--gray); margin-bottom:18px; }
.pdp__price{ font-size:24px; font-weight:600; font-family:var(--fa-head); }
.pdp__price del{ opacity:.45; font-size:.7em; margin-inline-end:8px; }
.pdp__note{ font-size:13px; color:var(--gray); margin-top:4px; }
.pdp__excerpt{ margin-top:18px; font-size:15px; color:var(--ink-soft); }

/* فرم خرید ووکامرس */
.pdp__info form.cart{ margin-top:28px; }
.pdp__info .variations{ width:100%; border-collapse:collapse; }
.pdp__info .variations th,
.pdp__info .variations td{ display:block; text-align:start; padding:0; }
.pdp__info .variations th.label{
  font-family:var(--fa-head); font-weight:800; font-size:14.5px; margin-bottom:12px;
}
.pdp__info .variations tr + tr th.label{ margin-top:28px; }
.is-hidden-select{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.reset_variations{ font-size:13px; color:var(--gray); text-decoration:underline; }

/* نام گزینه‌ی انتخاب‌شده و لینک راهنمای سایز، کنار عنوان */
.pdp__info .variations th.label{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.opt__meta{ display:flex; align-items:baseline; gap:14px; font-family:var(--fa-body); font-weight:400; font-size:13px; color:var(--gray); }
.opt__guide{ text-decoration:underline; }
.opt__guide:hover{ color:var(--ink); }

/* رنگ‌ها — دایره‌ی توپر */
.swatches{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.swatch{
  width:40px; height:40px; padding:0; border-radius:50%;
  border:1px solid var(--line); background:transparent;
  display:inline-flex; align-items:center; justify-content:center;
}
.swatch__dot{
  width:26px; height:26px; border-radius:50%;
  background:var(--dot, var(--studio));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.10);
}
.swatch.is-on{ border-color:var(--ink); box-shadow:0 0 0 1px var(--ink); }
.swatch[disabled]{ opacity:.3; cursor:not-allowed; }
.swatch--text{
  width:auto; height:auto; border-radius:2px; padding:10px 16px;
  border-color:var(--line-strong); font-size:13.5px;
}

/* سایزها */
.sizes{ display:flex; gap:10px; flex-wrap:wrap; }
.size{
  min-width:62px; border:1px solid var(--line-strong); border-radius:2px;
  padding:12px 14px; font-family:var(--en-body); font-size:14.5px;
  letter-spacing:.06em; text-align:center;
}
.size.is-on{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.size[disabled]{ opacity:.35; text-decoration:line-through; cursor:not-allowed; }

.woocommerce-variation-price{ margin:22px 0 0; font-size:20px; font-weight:600; }
.woocommerce-variation-availability{ font-size:13.5px; color:var(--gray); }

/* ردیف تعداد + دکمه‌ی خرید — هم‌قد و هماهنگ */
form.cart{ display:flex; align-items:stretch; gap:10px; flex-wrap:wrap; margin-top:26px; }
form.cart.variations_form{ display:block; }
.woocommerce-variation-add-to-cart{ display:flex; align-items:stretch; gap:10px; flex-wrap:wrap; margin-top:20px; }

.quantity{
  display:inline-flex; align-items:stretch;
  border:1px solid var(--line-strong); border-radius:2px; flex:0 0 auto;
  overflow:hidden; min-height:48px;
}
.quantity input{
  width:54px; text-align:center; border:0; background:transparent;
  padding:0; font-family:var(--en-body); font-size:15px; -moz-appearance:textfield;
}
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* فلش‌های بالا و پایین کنار کادر تعداد */
.qty-steps{
  display:flex; flex-direction:column;
  border-inline-start:1px solid var(--line-strong);
}
.qty-step{
  flex:1; width:30px; padding:0; display:flex; align-items:center; justify-content:center;
  background:transparent; border:0; cursor:pointer; color:var(--ink-soft);
}
.qty-step:hover{ background:var(--surface); color:var(--ink); }
.qty-step + .qty-step{ border-top:1px solid var(--line); }
.qty-step svg{ width:11px; height:11px; stroke:currentColor; fill:none; stroke-width:2.2; }
.qty-step[disabled]{ opacity:.3; cursor:not-allowed; }

form.cart .button,
.single_add_to_cart_button{
  height:48px; padding-block:0; min-width:210px; flex:1 1 auto; margin:0;
}
form.cart .button.disabled{ opacity:.35; cursor:not-allowed; }

.perks{ list-style:none; margin:26px 0 0; padding:22px 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:12px; font-size:14px; }
.perks li{ display:flex; gap:10px; align-items:flex-start; }
.perks li::before{ content:"—"; color:var(--gray); }

/* داستان و ادیتوریال */
.story-block{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.story-block__text h2{ font-family:var(--en-head); font-weight:600; font-style:italic; font-size:clamp(26px,3.6vw,40px); direction:ltr; margin-bottom:18px; }
.editorial{ background:var(--studio); border-radius:4px; aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.editorial img{ width:100%; height:100%; object-fit:cover; }
.editorial svg{ width:62%; height:auto; }

/* بخش مشخصات — ستون محتوا محدود می‌شود تا جدول‌ها در فضای خالی گم نشوند */
.specs-wrap{ max-width:860px; }
.specs{ width:100%; border-collapse:collapse; font-size:14px; table-layout:fixed; }
.specs th,.specs td{ text-align:start; padding:12px 6px; border-bottom:1px solid var(--line); vertical-align:top; }
.specs th{ font-family:var(--fa-head); font-weight:800; width:170px; }

/* جدول راهنمای سایز — ستون‌های مساوی و وسط‌چین
   (اعداد جهت لاتین دارند؛ اگر وسط‌چین نباشند با سرستون فارسی هم‌تراز نمی‌شوند) */
.specs--size{ text-align:center; }
.specs--size th,
.specs--size td{ width:33.33%; text-align:center; }
.specs--size thead td,.specs--size thead th{ font-size:12.5px; color:var(--gray); font-weight:600; }
.specs--size thead td b{ font-weight:600; }
.specs--size tbody th{ font-family:var(--en-body); font-weight:600; }

/* دکمه‌ی خرید چسبان */
.sticky-buy{
  display:none; position:fixed; inset-inline:0; inset-block-end:0; z-index:70;
  background:var(--paper); border-top:1px solid var(--line);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  gap:12px; align-items:center;
}
.sticky-buy .btn{ flex:1; }
.sticky-buy__price{ font-size:15px; font-weight:600; white-space:nowrap; }

/* محصولات مرتبط */
/* «شاید بپسندید» — وسط‌چین و با کاشی‌های کوچک‌تر از شبکه‌ی اصلی فروشگاه،
   چون اینجا پیشنهاد جانبی است نه فهرست اصلی. */
.related,.up-sells{ padding-block:var(--sec) 0; text-align:center; }
.related > h2,.up-sells > h2{
  font-size:clamp(20px, 2.4vw, 28px); font-family:var(--fa-head);
  margin-bottom:26px; text-align:center;
}
.related ul.products,
.up-sells ul.products{
  grid-template-columns:repeat(4,1fr); gap:18px;
  max-width:980px; margin-inline:auto; text-align:start;
}
.related .card__name,
.up-sells .card__name{ font-size:13.5px; }
.related .card__price,
.up-sells .card__price{ font-size:13px; }

/* ---------- سبد خرید ---------- */
.woocommerce-cart-form__contents{ width:100%; border-collapse:collapse; }
.woocommerce-cart-form__contents th{
  text-align:start; font-family:var(--fa-head); font-size:13px; color:var(--gray);
  padding:0 8px 14px; border-bottom:1px solid var(--line); font-weight:600;
}
.woocommerce-cart-form__contents td{ padding:20px 8px; border-bottom:1px solid var(--line); vertical-align:middle; }
.woocommerce-cart-form__contents .product-thumbnail img{
  width:88px; border-radius:999px 999px 4px 4px; background:var(--studio);
}
.woocommerce-cart-form__contents .product-name a{ font-family:var(--fa-head); font-weight:800; }
.product-remove a{ color:var(--gray); font-size:20px; text-decoration:none; }
.product-remove a:hover{ color:var(--wine); }

/* مشخصات متغیر زیر نام کالا (رنگ / سایز) */
.woocommerce-cart-form .variation{
  display:flex; flex-wrap:wrap; gap:4px 14px; margin:6px 0 0;
  font-size:12.5px; color:var(--gray);
}
.woocommerce-cart-form .variation dt{ margin:0; font-weight:400; }
.woocommerce-cart-form .variation dd{ margin:0; }
.woocommerce-cart-form .variation dd p{ margin:0; }
.woocommerce-cart-form .product-quantity .quantity{ margin:0; }
.woocommerce-cart-form .product-quantity input{ height:42px; }

/* ردیف کد تخفیف و به‌روزرسانی */
.woocommerce-cart-form .actions{ padding-top:24px; }
.woocommerce-cart-form .actions .coupon{ float:none; display:flex; gap:8px; max-width:380px; }
.woocommerce-cart-form .actions .coupon input{ flex:1; height:46px; }
.woocommerce-cart-form .actions .coupon .button{ height:46px; min-width:auto; padding-inline:22px; white-space:nowrap; }
.woocommerce-cart-form .actions > .button{ height:46px; min-width:auto; padding-inline:22px; margin-top:14px; }
/* دکمه‌ی «بروزرسانی سبد خرید» پنهان می‌شود چون خودکار انجام می‌شود */
.woocommerce-cart-form .actions > .button.is-auto-hidden{ display:none; }

.cart-collaterals{ display:grid; grid-template-columns:1fr; gap:20px; }
.cart_totals{ border:1px solid var(--line); border-radius:2px; padding:26px; }
.cart_totals h2{ font-size:var(--fs-h2); margin-bottom:18px; }
.cart_totals table{ width:100%; border-collapse:collapse; }
.cart_totals th,.cart_totals td{ padding:10px 0; text-align:start; font-size:14.5px; }
.cart_totals th{ font-weight:400; color:var(--ink-soft); }
.cart_totals td{ text-align:end; }
/* ردیف «جمع جزء» وقتی با مجموع یکی است معنایی ندارد (app.js تشخیصش می‌دهد) */
.cart-subtotal.is-redundant{ display:none; }

/* قیمت: بین عدد و «تومان» همیشه فاصله باشد */
.woocommerce-Price-currencySymbol{ margin-inline:.22em; }
.woocommerce-Price-amount{ white-space:nowrap; }
.rahiq-ship-hint{ color:var(--gray); font-size:13.5px; }

.cart_totals .order-total th,.cart_totals .order-total td{
  border-top:1px solid var(--line); padding-top:16px; font-size:17px; font-weight:600; font-family:var(--fa-head);
}
.wc-proceed-to-checkout{ margin-top:18px; }
.wc-proceed-to-checkout .button{ width:100%; }
.coupon{ display:flex; gap:8px; }
.coupon input{ flex:1; border:1px solid var(--line-strong); border-radius:2px; padding:12px 14px; background:transparent; }

/* ---------- چیدمان صفحات سبد و تسویه ---------- */
/* بدون margin خودکار، در چیدمان راست‌به‌چپ به لبه‌ی راست می‌چسبید */
.entry__narrow{ max-width:760px; margin-inline:auto; }

.woocommerce-cart .entry,
.woocommerce-checkout .entry,
.woocommerce-account .entry{ padding-bottom:var(--sec); }

/* سبد: جدول کالاها کنار خلاصه‌ی سفارش */
.woocommerce-cart .woocommerce{
  display:grid; grid-template-columns:1.5fr .9fr; gap:40px; align-items:start;
}
.woocommerce-cart .woocommerce > *{ grid-column:1 / -1; }
.woocommerce-cart .woocommerce > .woocommerce-cart-form{ grid-column:1; grid-row:2; }
.woocommerce-cart .woocommerce > .cart-collaterals{ grid-column:2; grid-row:2; margin:0; }

/* تسویه: فرم کنار خلاصه
   ردیف اول به‌اندازه‌ی عنوان، ردیف دوم بقیه — وگرنه بین عنوان و
   جعبه‌ی خلاصه فاصله‌ی بزرگ می‌افتد. */
form.checkout{
  display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:auto 1fr;
  gap:16px 40px; align-items:start;
}
form.checkout > #customer_details{ grid-column:1; grid-row:1 / span 2; margin:0; }
form.checkout > #order_review_heading{ grid-column:2; grid-row:1; margin:0; }
form.checkout > #order_review{ grid-column:2; grid-row:2; }
form.checkout > .woocommerce-NoticeGroup{ grid-column:1 / -1; }

/* فیلد کشور — مقدارش لازم است ولی نمایشش نه.
   با display:none مقدار همچنان با فرم ارسال می‌شود. */
.rahiq-hidden-field{ display:none !important; }

/* دو فیلد کنار هم */
.form-row-first,.form-row-last{ display:inline-flex; width:calc(50% - 9px); }
.form-row-first{ margin-inline-end:14px; }
.form-row-wide{ width:100%; }

/* ---------- فرم تسویه: دو ستونه، در دسکتاپ و موبایل ----------
   جای هر فیلد با شناسه‌اش مشخص می‌شود (نه با ترتیب صفحه)، چون جاوااسکریپت
   ووکامرس گاهی ردیف‌ها را جابه‌جا می‌کند.
   نام | نام خانوادگی  ·  استان | شهر  ·  آدرس  ·  موبایل | کد پستی  ·  ایمیل */
.woocommerce-billing-fields__field-wrapper{
  display:grid; grid-template-columns:1fr 1fr; column-gap:14px;
  /* اگر برچسب یک فیلد دو خط شد، کادرهای دو ستون باز هم هم‌تراز بمانند */
  align-items:end;
}
.woocommerce-billing-fields__field-wrapper > .form-row > label{ line-height:1.6; }
.woocommerce-billing-fields__field-wrapper > .form-row{
  display:flex; width:100%; margin-inline:0; float:none; min-width:0;
}
#billing_first_name_field{ order:1; }
#billing_last_name_field { order:2; }
#billing_state_field     { order:3; }
#billing_city_field      { order:4; }
#billing_address_1_field { order:5; grid-column:1 / -1; }
#billing_phone_field     { order:6; }
#billing_postcode_field  { order:7; }
#billing_email_field     { order:8; grid-column:1 / -1; }
#billing_country_field   { order:0; }
.woocommerce-billing-fields__field-wrapper .select2-container{ width:100% !important; }

/* روش‌های ارسال — بدون بولت */
#shipping_method,
.woocommerce-shipping-methods{ list-style:none; margin:0; padding:0; }
#shipping_method li{ margin:0 0 6px; display:flex; align-items:center; gap:8px; }
#shipping_method li input{ width:auto; }
.woocommerce-shipping-destination{ font-size:12.5px; color:var(--gray); margin-top:8px; }
.shipping-calculator-button{ font-size:12.5px; text-decoration:underline; }

/* ---------- تسویه‌حساب ---------- */
#customer_details{ margin-bottom:34px; }
.woocommerce-billing-fields h3,
#order_review_heading{ font-size:var(--fs-h2); margin-bottom:20px; }
.form-row{ display:flex; flex-direction:column; margin-bottom:18px; }
.form-row label{ font-family:var(--fa-head); font-size:14px; margin-bottom:8px; }
.form-row .required{ color:var(--wine); text-decoration:none; }
.form-row input[type="text"],
.form-row input[type="tel"],
.form-row input[type="email"],
.form-row input[type="password"],
.form-row textarea,
.form-row select,
.select2-container .select2-selection{
  width:100%; padding:13px 14px; border:1px solid var(--line-strong);
  border-radius:2px; background:transparent; color:var(--ink);
  font-family:var(--fa-body); font-size:15px; height:auto;
}
.woocommerce-checkout-review-order{
  border:1px solid var(--line); border-radius:2px; padding:26px;
}
.woocommerce-checkout-review-order table{ width:100%; border-collapse:collapse; }
.woocommerce-checkout-review-order th,
.woocommerce-checkout-review-order td{ padding:10px 0; text-align:start; font-size:14.5px; }
.woocommerce-checkout-review-order td{ text-align:end; }
.woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout-review-order .order-total td{
  border-top:1px solid var(--line); padding-top:16px; font-size:17px; font-weight:600;
}
#place_order{ width:100%; margin-top:18px; }
.woocommerce-terms-and-conditions-wrapper{ font-size:13px; color:var(--gray); margin-top:14px; }

/* ---------- سبد خالی و پیام‌های وسط‌چین ---------- */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-checkout .cart-empty{
  text-align:center; border:0; background:none;
  font-family:var(--fa-head); font-weight:800;
  font-size:var(--fs-h2); padding:clamp(50px,9vw,90px) 20px 0;
}
.woocommerce-cart .return-to-shop{ text-align:center; padding-bottom:clamp(50px,9vw,90px); margin:0; }
.woocommerce-cart .return-to-shop .button{ margin-top:22px; }

/* ---------- نسخه‌ی بلوکی سبد و تسویه ----------
   توصیه این است که از شورت‌کد استفاده کنی، ولی اگر بلوکی ماند
   حداقل به‌هم‌ریخته نباشد. */
.wp-block-woocommerce-empty-cart-block{ text-align:center; }
.wc-block-cart__empty-cart__title{ font-family:var(--fa-head); font-size:var(--fs-h2); }
.wp-block-woocommerce-empty-cart-block img,
.wp-block-woocommerce-empty-cart-block svg,
.wc-block-cart__empty-cart__title img{ max-width:110px; height:auto; margin-inline:auto; }

.wc-block-components-totals-item__value,
.wc-block-components-product-price,
.wc-block-formatted-money-amount{ white-space:nowrap; }
.wc-block-components-totals-item{ gap:12px; }
.wc-block-cart__totals-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{
  font-family:var(--fa-head);
}
.wc-block-components-button,
.wc-block-cart__submit-button{
  background:var(--ink) !important; color:var(--paper) !important;
  border-radius:2px !important; font-family:var(--fa-body) !important; font-weight:600 !important;
}
.wc-block-components-text-input input,
.wc-block-components-country-input select,
.wc-block-components-state-input select{
  border-radius:2px !important; font-family:var(--fa-body) !important;
}

/* ---------- نقد و بررسی محصول ---------- */
#reviews h2{ font-size:var(--fs-h2); font-family:var(--fa-head); margin-bottom:8px; }
#reviews .woocommerce-noreviews{ color:var(--gray); }
#review_form_wrapper{ margin-top:26px; }
#review_form .comment-reply-title{ display:block; font-family:var(--fa-head); font-size:16px; margin-bottom:18px; }
.comment-form-rating label{ display:block; font-family:var(--fa-head); font-size:14px; margin-bottom:8px; }
.comment-form-rating .stars{ display:flex; gap:6px; margin-bottom:20px; }
.comment-form-rating .stars a{
  font-size:0; width:26px; height:26px; position:relative; color:var(--gray);
}
.comment-form-rating .stars a::before{ content:'★'; font-size:24px; color:currentColor; }
.comment-form-rating .stars a:hover,
.comment-form-rating .stars.selected a.active,
.comment-form-rating .stars.selected a:not(.active){ color:var(--ink); }
#review_form textarea{
  width:100%; padding:13px 14px; border:1px solid var(--line-strong);
  border-radius:2px; background:transparent; color:var(--ink);
  font-family:var(--fa-body); font-size:15px; line-height:1.9;
}
#review_form .comment-form-comment label{ display:block; font-family:var(--fa-head); font-size:14px; margin-bottom:8px; }
#review_form .form-submit{ margin-top:18px; }
.commentlist{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:18px; }
.commentlist .comment_container{ border:1px solid var(--line); border-radius:2px; padding:22px; }
.commentlist .avatar{ display:none; }
.commentlist .meta{ font-size:13px; color:var(--gray); margin-bottom:8px; }

/* ---------- کد رهگیری برای مشتری ---------- */
.rahiq-tracking{
  border:1px solid var(--line); border-radius:2px;
  padding:20px 22px; margin-top:26px; background:var(--surface);
}
.rahiq-tracking__label{ font-size:13px; color:var(--gray); margin-bottom:6px; }
.rahiq-tracking__code{
  font-size:21px; font-weight:600; letter-spacing:.12em;
  margin-bottom:14px; direction:ltr; unicode-bidi:isolate;
}

/* ---------- حساب کاربری ---------- */
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0 0 26px; padding:0; display:flex; gap:8px; flex-wrap:wrap; }
.woocommerce-MyAccount-navigation a{ border:1px solid var(--line-strong); border-radius:999px; padding:8px 16px; font-size:13.5px; display:inline-block; }
.woocommerce-MyAccount-navigation .is-active a{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

/* ==========================================================================
   ۱۴. ریسپانسیو
   ========================================================================== */
@media (max-width:1024px){
  .footer__top{ grid-template-columns:1fr 1fr; gap:34px; }
}

@media (max-width:860px){
  :root{ --gut:18px; --nav-h:58px; }

  /* نویگیشن — لوگو دقیقاً وسط صفحه */
  .nav__in{ grid-template-columns:1fr auto 1fr; }
  .nav__links{ display:none; }
  .nav__burger{ display:inline-flex; justify-self:start; }
  .nav__tools{ justify-self:end; }
  .nav__logo{ font-size:22px; }

  /* هیرو — عناصر زیر هم، نه کنار هم */
  .hero__stage{
    flex-direction:column; align-items:center; justify-content:flex-start;
    min-height:auto; padding-top:64px;
  }
  .hero__word{ font-size:clamp(64px,26vw,150px); inset-block-start:0; }
  .hero__arch{ width:min(72%, 340px); }
  .hero__tag{
    position:static; max-width:none; text-align:center;
    margin:26px 0 0; font-size:21px;
  }
  .hero__cta{
    position:static; align-items:center; margin-top:20px; width:100%;
  }
  .hero__cta .btn{ width:100%; max-width:320px; }

  .grid--3,.grid--4,ul.products{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .related ul.products,.up-sells ul.products{ grid-template-columns:repeat(2,1fr); gap:12px; }

  .trust__grid{ grid-template-columns:1fr 1fr; }
  .trust__item{ padding:22px 12px; }
  .trust__item:nth-child(odd){ border-inline-start:0; }
  .trust__item:nth-child(n+3){ border-top:1px solid var(--line); }

  .footer__top{ grid-template-columns:1fr; gap:30px; }
  .footer__bottom{ flex-direction:column; gap:8px; }

  .sec-head{ flex-direction:column; align-items:flex-start; gap:8px; }

  /* فیلترها جمع‌شونده */
  .filters__body{ display:none; width:100%; }
  .filters__body.is-open{ display:block; }
  .filters__toggle{
    display:flex; width:100%; align-items:center; justify-content:space-between;
    font-size:14px; padding-block:4px;
  }
  .filters__in{ flex-direction:column; align-items:stretch; gap:12px; }
  .filters__right{ justify-content:space-between; }

  /* محصول: همان گالری دسکتاپ — عکس اصلی بزرگ، بندانگشتی‌ها زیرش.
     قبلاً اینجا اسلایدر افقی بود که همه‌ی عکس‌ها را هم‌اندازه نشان می‌داد
     و معلوم نبود کدام عکس اصلی است. */
  .pdp{ grid-template-columns:1fr; gap:24px; }

  /* در موبایل ستون مطلق را به یک ردیف افقی زیر عکس برمی‌گردانیم */
  .pdp__media{ position:static; display:grid; grid-template-columns:1fr; gap:12px; }
  .pdp__media .stage{ order:1; margin-inline-start:0; }
  .pdp__media .thumbs{
    position:static; width:auto; inset:auto;
    order:2; flex-direction:row; gap:10px;
    overflow-x:auto; overflow-y:hidden; scrollbar-width:none;
    margin-inline:calc(var(--gut) * -1); padding-inline:var(--gut);
  }
  .pdp__media .thumbs::-webkit-scrollbar{ display:none; }
  .pdp__media .thumb{ flex:0 0 66px; }

  .pdp__info{ position:static; }

  .sticky-buy{ display:flex; }
  body.has-sticky{ padding-bottom:82px; }
  form.cart .single_add_to_cart_button{ width:100%; }

  .story-block,.chapter{ grid-template-columns:1fr; gap:26px; }
  .chapter--flip .chapter__media{ order:0; }
  .chapter{ padding-block:calc(var(--sec) * .7); }
  .values{ grid-template-columns:1fr; }
  .value{ border-inline-start:0; border-top:1px solid var(--line); padding:30px 0; }
  .value:first-child{ border-top:0; }
  .editorial{ aspect-ratio:4/4.6; }
  .specs th{ width:130px; }
  .specs--size th,.specs--size td{ width:33.33%; }

  .woocommerce-cart .woocommerce,
  form.checkout{ grid-template-columns:1fr; gap:24px; }
  .woocommerce-cart .woocommerce > .woocommerce-cart-form,
  .woocommerce-cart .woocommerce > .cart-collaterals,
  form.checkout > #customer_details,
  form.checkout > #order_review_heading,
  form.checkout > #order_review{ grid-column:1; grid-row:auto; }

  .form-row-first,.form-row-last{ width:100%; }
  .form-row-first{ margin-inline-end:0; }

  .woocommerce-cart-form__contents thead{ display:none; }
  .woocommerce-cart-form__contents,
  .woocommerce-cart-form__contents tbody{ display:block; width:100%; }

  /* هر کالا یک ردیف جمع‌وجور: عکس یک طرف، نام و قیمت و تعداد طرف دیگر */
  .woocommerce-cart-form__contents tr.cart_item{
    display:grid; grid-template-columns:88px 1fr; column-gap:16px; row-gap:2px;
    align-items:start; width:100%;
    border-bottom:1px solid var(--line); padding-block:16px; position:relative;
  }
  .woocommerce-cart-form__contents tr.cart_item > td{
    display:block; width:auto; border:0; padding:0; grid-column:2;
  }
  .woocommerce-cart-form__contents .product-thumbnail{ grid-column:1 !important; grid-row:1 / span 4; }
  .woocommerce-cart-form__contents .product-name     { grid-row:1; padding-inline-end:26px !important; }
  .woocommerce-cart-form__contents .product-price    { grid-row:2; }
  .woocommerce-cart-form__contents .product-quantity { grid-row:3; margin-top:6px !important; }
  .woocommerce-cart-form__contents .product-subtotal { grid-row:4; margin-top:4px !important; font-weight:600; }
  /* وقتی تعداد ۱ است جمع ردیف همان قیمت بالاست — تکرارش فقط شلوغی است */
  .woocommerce-cart-form__contents tr.cart_item.is-single .product-subtotal{ display:none; }
  .woocommerce-cart-form__contents .product-remove{
    display:block; position:absolute; inset-block-start:12px; inset-inline-end:0; width:auto; grid-column:auto;
  }
  .woocommerce-cart-form__contents tr:not(.cart_item){ display:block; }
  .woocommerce-cart-form__contents tr:not(.cart_item) > td{ display:block; width:100%; border:0; padding:4px 0; }

  /* فاصله‌ی اضافه: ظرف‌های خالی اعلان‌ها هم یک ردیف شبکه می‌گیرند */
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:empty{ display:none; }
}

@media print{ .nav,.footer,.announce{ display:none; } }

/* ==========================================================================
   ۱۹. پیگیری سفارش
   ========================================================================== */
.track-page{
  width:100%; max-width:720px;
  margin-inline:auto !important; padding-block:14px 40px;
}

/* ---------- فرم ---------- */
.track-form{ text-align:center; display:flex; flex-direction:column; align-items:center; }
.track-form h1{ font-size:var(--fs-h1); margin-bottom:10px; }
.track-form__lead{ color:var(--ink-soft); font-size:14.5px; max-width:460px; margin-inline:auto; }
.track-form__in{
  width:100%; max-width:380px; margin:26px auto 0;
  display:flex; flex-direction:column; gap:14px; text-align:center;
}
.track-form__in label{
  display:flex; flex-direction:column; gap:6px; align-items:center;
  font-size:13px; color:var(--ink-soft);
}
.track-form__in input{ text-align:center; }
.track-msg{ width:100%; max-width:380px; margin-inline:auto; }
.track-form__in input{
  padding:13px 15px; border:1px solid var(--line-strong); border-radius:3px;
  background:var(--paper); font-size:15px;
}
.track-form__in input:focus{ outline:none; border-color:var(--ink); }
.track-form__help{ margin-top:22px; font-size:13px; color:var(--ink-soft); }

.track-msg{ border-radius:3px; padding:12px 16px; font-size:14px; margin-top:18px; text-align:start; }
.track-msg--err{ background:rgba(135,32,47,.08); border:1px solid rgba(135,32,47,.28); color:var(--wine); }

/* ---------- نتیجه ---------- */
.track-head{
  display:flex; justify-content:space-between; align-items:flex-start; gap:20px;
  padding-bottom:22px; border-bottom:1px solid var(--line);
}
.track-head h1{ font-size:26px; margin:4px 0 2px; }
.track-head__date{ margin:0; font-size:13px; color:var(--ink-soft); }
.track-head__sum{ text-align:end; }
.track-head__sum span{ display:block; font-size:12px; color:var(--ink-soft); }
.track-head__sum b{ font-size:19px; }

/* ---------- خط زمانی ---------- */
.track-steps{ list-style:none; margin:28px 0; padding:0; position:relative; }
.track-steps::before{
  content:''; position:absolute; inset-block:12px; inset-inline-start:7px;
  width:1px; background:var(--line);
}
.track-step{ position:relative; padding-inline-start:32px; padding-bottom:24px; }
.track-step:last-child{ padding-bottom:0; }
.track-step__dot{
  position:absolute; inset-inline-start:0; inset-block-start:6px;
  width:15px; height:15px; border-radius:50%;
  border:2px solid var(--line-strong); background:var(--paper);
}
.track-step b{ display:block; font-size:15px; }
.track-step span:not(.track-step__dot){ display:block; font-size:13px; color:var(--ink-soft); margin-top:2px; }

.track-step.is-done .track-step__dot{ background:var(--ink); border-color:var(--ink); }
.track-step.is-now  .track-step__dot{
  border-color:var(--ink); background:var(--paper);
  box-shadow:0 0 0 4px rgba(10,10,10,.08);
}
.track-step.is-now b{ color:var(--ink); }
.track-step.is-off b,
.track-step.is-off span{ color:var(--gray); }

/* ---------- کد رهگیری ---------- */
.track-code{
  display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  border:1px solid var(--line-strong); border-radius:3px; padding:16px 18px; margin-bottom:10px;
}
.track-code b{ display:block; font-size:17px; letter-spacing:.04em; margin-top:3px; }
.track-note{ font-size:12.5px; color:var(--ink-soft); line-height:1.9; margin:0 0 26px; }

/* ---------- اقلام ---------- */
.track-items h2,
.track-addr h2{ font-size:var(--fs-h2); margin:28px 0 14px; }
.track-item{
  display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center;
  padding:12px 0; border-bottom:1px solid var(--line);
}
.track-item:last-child{ border-bottom:0; }
.track-item__img img{ width:64px; height:78px; object-fit:cover; border-radius:2px; }
.track-item__txt b{ display:block; font-size:14.5px; }
.track-item__txt span{ display:block; font-size:12.5px; color:var(--ink-soft); }
.track-item__price{ font-weight:600; white-space:nowrap; }

.track-addr p{ font-size:14px; line-height:2.1; }

.track-actions{ display:flex; gap:10px; margin-top:32px; }
.track-actions .btn{ flex:1; }

@media (max-width:640px){
  .track-head{ flex-direction:column; gap:10px; }
  .track-head__sum{ text-align:start; }
  .track-item{ grid-template-columns:54px 1fr; }
  .track-item__img img{ width:54px; height:66px; }
  .track-item__price{ grid-column:2; font-size:14px; }
  .track-actions{ flex-direction:column; }
}

/* ==========================================================================
   ۲۰. برگه‌ی قوانین و متن‌های بلند
   ========================================================================== */
.terms{ max-width:760px; margin-inline:auto; }
.terms__lead{
  font-size:16.5px; line-height:2.1; color:var(--ink);
  padding-bottom:20px; border-bottom:1px solid var(--line); margin-bottom:8px;
}
.terms__update{ font-size:12.5px; color:var(--gray); margin-bottom:34px; }
.terms h2{
  font-size:var(--fs-h2); margin:38px 0 12px; padding-top:8px;
}
.terms h3{ font-size:15.5px; margin:22px 0 8px; color:var(--ink); }
.terms p{ line-height:2.1; color:var(--ink-soft); }
.terms ul,.terms ol{ padding-inline-start:20px; margin:0 0 16px; }
.terms li{ line-height:2.1; color:var(--ink-soft); margin-bottom:6px; }
.terms b{ color:var(--ink); }
.terms__foot{
  margin-top:44px; padding-top:20px; border-top:1px solid var(--line);
  font-size:13px; color:var(--gray); text-align:center;
}

/* نشان متنی اینماد — تا وقتی لوگوی رسمی از سرور نیامده */
.badge--seal-fb{
  border-style:dashed; color:rgba(255,255,255,.55); font-size:11.5px;
}

/* ==========================================================================
   ۲۱. حساب کاربری مشتری
   ========================================================================== */

/* نشانه‌ی ورود در هدر */
.icon-btn.is-in::after{
  content:''; position:absolute; inset-block-end:6px; inset-inline-end:6px;
  width:6px; height:6px; border-radius:50%; background:var(--navy);
}

/* ---------- دروازه‌ی ورود ---------- */
.acc-gate{
  max-width:400px; margin-inline:auto; padding-block:20px 50px; text-align:center;
}
.acc-gate__head h2{ font-size:var(--fs-h2); margin:6px 0 10px; }
.acc-gate__head p{ color:var(--ink-soft); font-size:14px; line-height:2; }

.acc-form{ display:flex; flex-direction:column; gap:14px; margin-top:24px; text-align:center; }
.acc-form label{ display:flex; flex-direction:column; gap:6px; align-items:center;
  font-size:13px; color:var(--ink-soft); }
.acc-form input{
  width:100%; padding:14px 15px; border:1px solid var(--line-strong); border-radius:3px;
  background:var(--paper); font-size:16px; text-align:center;
}
.acc-form input:focus{ outline:none; border-color:var(--ink); }
.acc-code{ font-size:26px !important; letter-spacing:.5em; padding-inline-start:.5em !important; }

.acc-msg{ border-radius:3px; padding:12px 16px; font-size:13.5px; margin-top:18px; line-height:1.9; }
.acc-msg--err{ background:rgba(135,32,47,.08); border:1px solid rgba(135,32,47,.28); color:var(--wine); }
.acc-msg--ok{ background:rgba(15,123,79,.08); border:1px solid rgba(15,123,79,.26); color:#0F7B4F; }

.acc-again{ display:flex; gap:8px; justify-content:center; align-items:center;
  margin-top:16px; font-size:13px; color:var(--ink-soft); }
.acc-again button, .acc-switch button{
  font-size:13px; color:var(--ink-soft); border-bottom:1px solid var(--line-strong); padding:0;
}
.acc-again button:hover, .acc-switch button:hover{ color:var(--ink); }
.acc-switch{ margin-top:22px; }
.acc-foot{ margin-top:30px; font-size:13px; color:var(--ink-soft); }
.acc-foot a{ border-bottom:1px solid var(--line-strong); }
.acc-note{ text-align:center; padding-block:40px; }
.acc-link{ border-bottom:1px solid currentColor; }

/* ---------- پنل ---------- */
.acc{ max-width:900px; margin-inline:auto; padding-block:10px 50px; }

.acc-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.acc-top h1{ font-size:var(--fs-h1); margin:4px 0 2px; }
.acc-top__phone{ font-size:13px; color:var(--gray); }
.acc-out{ font-size:13px; color:var(--ink-soft); border-bottom:1px solid var(--line-strong); }

.acc-tabs{ display:flex; gap:4px; margin:24px 0 26px; border-bottom:1px solid var(--line);
  overflow-x:auto; scrollbar-width:none; }
.acc-tabs::-webkit-scrollbar{ display:none; }
.acc-tabs a{
  padding:11px 16px; font-size:14px; color:var(--ink-soft); white-space:nowrap;
  border-bottom:2px solid transparent; margin-bottom:-1px;
}
.acc-tabs a:hover{ color:var(--ink); }
.acc-tabs a.is-on{ color:var(--ink); border-bottom-color:var(--ink); font-weight:600; }

/* ---------- کارت عضویت ---------- */
.acc-card{
  background:linear-gradient(135deg, #0A0A0A 0%, #1C1C1E 62%, var(--tier) 280%);
  color:#fff; border-radius:16px; padding:24px 26px; margin-bottom:20px;
  display:grid; grid-template-columns:1.1fr 1.3fr .7fr; gap:26px; align-items:center;
  position:relative; overflow:hidden;
}
.acc-card::after{
  content:''; position:absolute; inset-block-start:-70px; inset-inline-start:-50px;
  width:230px; height:230px; border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb, var(--tier) 50%, transparent) 0%, transparent 70%);
  pointer-events:none;
}
.acc-card__label{ display:block; font-size:11.5px; color:rgba(255,255,255,.55); }
.acc-card__tier{ display:block; font-size:25px; line-height:1.3; color:var(--tier);
  font-family:var(--fa-head); }
.acc-card__perk{ display:block; font-size:12.5px; color:rgba(255,255,255,.78); margin-top:3px; }
.acc-card__bar{ height:7px; background:rgba(255,255,255,.14); border-radius:99px;
  overflow:hidden; margin:9px 0 7px; }
.acc-card__bar i{ display:block; height:100%; background:var(--tier); border-radius:99px;
  transition:width .6s; }
.acc-card__gap{ font-size:12.5px; color:rgba(255,255,255,.75); }
.acc-card__gap .woocommerce-Price-amount{ color:#fff; }
.acc-card__r{ text-align:center; }
.acc-card__pts{ display:block; font-size:32px; line-height:1.2; color:#C9A227; }

/* ---------- آمار ---------- */
.acc-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:30px; }
.acc-stats > div{ border:1px solid var(--line); border-radius:10px; padding:16px 12px; text-align:center; }
.acc-stats b{ display:block; font-size:20px; }
.acc-stats span{ display:block; font-size:12px; color:var(--ink-soft); margin-top:2px; }

/* ---------- بخش‌ها ---------- */
.acc-sec{ margin-bottom:34px; }
.acc-sec__head{ display:flex; justify-content:space-between; align-items:baseline;
  gap:12px; margin-bottom:16px; }
.acc-sec__head h2{ font-size:var(--fs-h2); }
.acc-hint{ font-size:12.5px; color:var(--gray); }

.acc-empty{ text-align:center; padding:36px 0; }
.acc-empty p{ color:var(--ink-soft); }

/* ---------- کارت سفارش ---------- */
.acc-order{ border:1px solid var(--line); border-radius:12px; padding:18px 20px; margin-bottom:14px; }
.acc-order__top{ display:flex; justify-content:space-between; align-items:flex-start;
  gap:14px; padding-bottom:14px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.acc-order__no{ font-weight:700; }
.acc-order__date{ font-size:12.5px; color:var(--gray); margin-inline-start:10px; }
.acc-order__meta{ display:flex; align-items:center; gap:12px; }
.acc-order__meta b{ font-size:15px; }

.acc-state{ font-size:11.5px; padding:3px 11px; border-radius:99px;
  border:1px solid var(--line-strong); color:var(--ink-soft); white-space:nowrap; }
.acc-state--ok{ color:#0F7B4F; border-color:rgba(15,123,79,.4); }
.acc-state--ship{ color:#8A6D0B; border-color:rgba(201,162,39,.5); }
.acc-state--info{ color:var(--navy); border-color:rgba(44,58,94,.4); }
.acc-state--err{ color:var(--wine); border-color:rgba(135,32,47,.4); }

.acc-order__items{ padding-block:6px; }
.acc-item{ display:grid; grid-template-columns:56px 1fr auto; gap:12px; align-items:center;
  padding:10px 0; }
.acc-item__img img{ width:56px; height:68px; object-fit:cover; border-radius:2px; }
.acc-item__txt b{ display:block; font-size:14px; }
.acc-item__txt span{ display:block; font-size:12.5px; color:var(--ink-soft); }
.acc-item__price{ font-weight:600; white-space:nowrap; font-size:14px; }

/* خط زمانی افقی */
.acc-steps{ list-style:none; margin:14px 0 0; padding:14px 0 0;
  border-top:1px dashed var(--line); display:flex; gap:6px; }
.acc-step{ flex:1; text-align:center; font-size:11.5px; color:var(--gray); }
.acc-step__dot{ display:block; width:10px; height:10px; border-radius:50%;
  border:2px solid var(--line-strong); background:var(--paper); margin:0 auto 6px; }
.acc-step.is-done .acc-step__dot{ background:var(--ink); border-color:var(--ink); }
.acc-step.is-done{ color:var(--ink); }
.acc-step.is-now .acc-step__dot{ border-color:var(--ink); box-shadow:0 0 0 3px rgba(10,10,10,.08); }
.acc-step.is-now{ color:var(--ink); font-weight:600; }

.acc-track{ display:flex; justify-content:space-between; align-items:center; gap:14px;
  flex-wrap:wrap; margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); }
.acc-track b{ display:block; font-size:15px; letter-spacing:.04em; margin-top:2px; }

/* ---------- فرم‌های پنل ---------- */
.acc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
.acc-grid label{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--ink-soft); }
.acc-grid input, .acc-grid select{
  padding:12px 14px; border:1px solid var(--line-strong); border-radius:3px;
  background:var(--paper); font-size:15px; width:100%;
}
.acc-grid input:focus, .acc-grid select:focus{ outline:none; border-color:var(--ink); }
.acc-grid input[disabled]{ opacity:.6; }
.acc-grid small{ font-size:11.5px; color:var(--gray); }
.acc-grid__wide{ grid-column:1/-1; }
.acc-grid__act{ grid-column:1/-1; margin-top:6px; }

@media (max-width:680px){
  .acc-card{ grid-template-columns:1fr; gap:16px; text-align:center; }
  .acc-grid{ grid-template-columns:1fr; }
  .acc-stats{ gap:8px; }
  .acc-stats b{ font-size:17px; }
  .acc-item{ grid-template-columns:48px 1fr; }
  .acc-item__img img{ width:48px; height:58px; }
  .acc-item__price{ grid-column:2; }
  .acc-order__top{ flex-direction:column; gap:8px; }
  .acc-steps{ flex-wrap:wrap; gap:10px 4px; }
  .acc-step{ flex:0 0 calc(50% - 2px); }
}

/* شماره‌ای که هنوز حساب ندارد */
.acc-none{ margin-top:24px; }
.acc-none p{ color:var(--ink-soft); font-size:14px; line-height:2; margin-bottom:20px; }
.acc-none__back{ display:inline-block; margin-top:18px; font-size:13px;
  color:var(--ink-soft); border-bottom:1px solid var(--line-strong); }

/* پیام خطای چندخطی در صفحه‌ی پیگیری */
.track-msg{ line-height:2; text-align:start; }

/* ==========================================================================
   ۲۲. نظرات محصول
   ========================================================================== */
.stars{ display:inline-flex; gap:1px; direction:ltr; }
.star{ font-style:normal; color:var(--line-strong); font-size:14px; line-height:1; }
.star.is-on{ color:#C9A227; }
.star.is-half{ color:#C9A227; opacity:.5; }

.card__stars{ display:flex; align-items:center; gap:6px; margin-top:4px; }
.card__stars .num{ font-size:11.5px; color:var(--gray); }

/* ---------- بخش نظرات در صفحه‌ی محصول ---------- */
#reviews{ padding-block:var(--sec) 0; }
#reviews h2{ font-size:var(--fs-h1); font-family:var(--fa-head); margin-bottom:20px; }

.commentlist{ list-style:none; margin:0 0 34px; padding:0; }
.commentlist li{ border-bottom:1px solid var(--line); padding-block:20px; }
.commentlist li:last-child{ border-bottom:0; }
.comment_container{ display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; }
.commentlist img.avatar{ width:44px; height:44px; border-radius:50%; }
.comment-text .star-rating{ margin-bottom:6px; }
.woocommerce-review__author{ font-weight:700; font-size:14.5px; }
.woocommerce-review__published-date{ font-size:12px; color:var(--gray); margin-inline-start:8px; }
.comment-text p{ font-size:14.5px; line-height:2; color:var(--ink-soft); margin:6px 0 0; }
.woocommerce-review__verified{ font-size:11.5px; color:#0F7B4F; }

#review_form_wrapper{
  border:1px solid var(--line); border-radius:3px; padding:24px; max-width:620px;
}
#reply-title{ font-family:var(--fa-head); font-size:var(--fs-h2); display:block; margin-bottom:8px; }
.comment-form-rating label{ display:block; font-size:13px; color:var(--ink-soft); margin-bottom:6px; }
.comment-form-comment label,
.comment-form-author label,
.comment-form-email label{ display:block; font-size:13px; color:var(--ink-soft); margin-bottom:6px; }
#review_form textarea,
#review_form input[type=text],
#review_form input[type=email]{
  width:100%; padding:12px 14px; border:1px solid var(--line-strong);
  border-radius:3px; background:var(--paper); font:inherit; font-size:15px;
}
#review_form textarea:focus,
#review_form input:focus{ outline:none; border-color:var(--ink); }
#review_form .form-submit input{
  background:var(--ink); color:var(--paper); border:0; border-radius:2px;
  padding:14px 32px; font:inherit; font-weight:600; cursor:pointer; margin-top:10px;
}
.woocommerce-noreviews{ color:var(--ink-soft); }

@media (max-width:640px){
  .comment_container{ grid-template-columns:34px 1fr; gap:10px; }
  .commentlist img.avatar{ width:34px; height:34px; }
  #review_form_wrapper{ padding:16px; }
}

/* ==========================================================================
   ۲۳. شبکه‌ی دسته‌بندی‌ها در صفحه‌ی محصولات
   ========================================================================== */
.cat-grid{
  display:grid; grid-template-columns:repeat(var(--cat-cols,3),1fr);
  gap:22px; padding-block:10px var(--sec);
}
.cat{ display:block; }
.cat__art{
  position:relative; aspect-ratio:3/4; overflow:hidden;
  background:var(--studio); border-radius:var(--arch);
  display:grid; place-items:center;
}
.cat__art img{
  width:100%; height:100%; object-fit:cover; border-radius:0;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.cat:hover .cat__art img{ transform:scale(1.04); }
.cat__word{
  font-family:var(--display); font-size:clamp(28px,4vw,46px);
  letter-spacing:.06em; color:var(--gray); direction:ltr; text-align:center;
  padding-inline:14px;
}
.cat--all .cat__art{ background:var(--ink); }
.cat--all .cat__word{ color:var(--paper); }
/* وقتی عکس گذاشته شده، کادر مشکی لازم نیست */
.cat--all.has-img .cat__art{ background:var(--studio); }

.cat__foot{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:10px; margin-top:12px;
}
.cat__foot b{ font-family:var(--fa-head); font-size:16px; }
.cat__foot .num{ font-size:12.5px; color:var(--gray); }

.shop-back{
  display:inline-block; margin-bottom:20px; font-size:13.5px;
  color:var(--ink-soft); border-bottom:1px solid var(--line-strong);
}
.shop-back:hover{ color:var(--ink); }

@media (max-width:900px){
  .cat-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
}
@media (max-width:520px){
  .cat-grid{ gap:14px; }
  .cat__foot b{ font-size:14.5px; }
}

/* ==========================================================================
   اسلایدر بنر بالای صفحه
   ========================================================================== */
/* قاب بیرونی: نسخه‌ی محوِ همان بنر، تا کارت روی رنگ خودش شناور باشد */
.hero-slider{ position:relative; overflow:hidden; padding:12px; }

.hero-slider__bg{ position:absolute; inset:0; z-index:0; background:var(--studio); }
.hero-slider__bg img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; opacity:0;
  /* عکسِ کوچکِ بزرگ‌شده را محو می‌کنیم؛ برای مرورگر بسیار ارزان‌تر از
     محو کردن عکس تمام‌اندازه است. */
  /* brightness هم در همان یک پاس فیلتر اعمال می‌شود، پس تیره کردنش
     هزینه‌ی اضافه ندارد و لایه‌ی جداگانه لازم نیست. */
  filter:blur(44px) saturate(140%) brightness(.52);
  transform:scale(1.22);
  transition:opacity .7s ease;
}
.hero-slider__bg img.is-on{ opacity:1; }

/* کارت گرد و شناور، نه نوار لبه‌تا‌لبه.
   نسبت ۱۶:۹ در دسکتاپ و موبایل هر دو — یکدست و سینمایی.
   max-height عمداً نداریم: با aspect-ratio می‌جنگید و قاب را از وسط
   بیرون می‌انداخت. به‌جایش عرض را سقف می‌گذاریم و وسط‌چین می‌کنیم. */
.slider{
  position:relative; z-index:1; overflow:hidden;
  background:var(--studio);
  aspect-ratio:var(--bnr-ratio, 2/1);
  max-width:var(--bnr-w, 1240px); margin-inline:auto;
  border-radius:16px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}

.slider__track{ position:absolute; inset:0; }

.slider__slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity .7s ease, visibility .7s;
}
.slider__slide.is-on{ opacity:1; visibility:visible; }

.slider__link{ display:block; width:100%; height:100%; }

.slider__pic,
.slider__pic img{ display:block; width:100%; height:100%; object-fit:cover; }
/* نقطه‌ی مهم عکس برای دسکتاپ و موبایل جدا از پنل می‌آید */
.slider__pic img{ object-position:var(--op-d, center); }

/* ---------- جعبه‌ی متن روی بنر ----------
   جعبه تمام‌قاب است و فقط متن را در ۹ نقطه‌ی قاب می‌چیند (جای افقی × عمودی).
   تمام مقدارها از متغیرهای inline می‌آیند که PHP برای هر بنر و هر دستگاه
   می‌سازد: --d-* دسکتاپ، --m-* موبایل. */
.slider__box{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column;
  direction:rtl;                      /* در راست‌به‌چپ flex-start یعنی راست */
  align-items:var(--d-ai, flex-start);
  justify-content:var(--d-jc, center);
  padding:clamp(18px, 3vw, 44px) clamp(24px, 5vw, 72px);
  color:var(--tc, #FFF);
  text-shadow:var(--ts, none);
  text-align:var(--d-ta, right);
  --fs:var(--d-fs, 1);
  pointer-events:none;                /* فقط خودِ متن و دکمه کلیک بگیرند */
}
/* لینک تمام‌قاب — فقط روی دستگاهی که متن خاموش است فعال می‌شود */
.slider__cover{ display:none; position:absolute; inset:0; z-index:1; }
@media (min-width:768px){
  .slider__cover.cov-d{ display:block; }
  .slider__box.hide-d{ display:none; }
}
@media (max-width:767px){
  .slider__cover.cov-m{ display:block; }
  .slider__box.hide-m{ display:none; }
}

.slider__txt{
  display:flex; flex-direction:column;
  align-items:var(--d-ai, flex-start);
  gap:calc(14px * var(--fs));
  width:100%; max-width:var(--d-w, 46%);
  pointer-events:auto;
}

/* پرده‌ی تیره/روشن پشت متن — به‌طور پیش‌فرض خاموش است.
   شدتش (نرم/متوسط/قوی) برای هر بنر و هر دستگاه جدا انتخاب می‌شود. */
.slider__box::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:var(--d-bg, none);
  pointer-events:none;
}

.slider__title{
  margin:0; font-family:var(--fa-head); font-weight:800;
  font-size:calc(clamp(24px, 3.4vw, 46px) * var(--fs)); line-height:1.4;
}
.slider__sub{
  margin:0; font-size:calc(clamp(14px, 1.4vw, 19px) * var(--fs)); line-height:1.9; opacity:.92;
}

/* ---------- دکمه‌ی روی بنر ----------
   رنگش از رنگ متنِ همان بنر می‌آید (--tc)، نه از روز و شبِ صفحه:
   دکمه‌ای که روی عکس می‌نشیند باید با خودِ عکس بخواند. */
.slider__box .btn,
.slider__box .btn:hover{
  border-radius:var(--br, 999px);
  font-size:calc(14.5px * var(--fs) * var(--bs, 1)); padding:.95em 2.2em;
  display:inline-flex; align-items:center; gap:.7em;
  letter-spacing:.02em; text-shadow:none;
  overflow:hidden; position:relative; isolation:isolate;
  transition:background .35s ease, color .35s ease,
             border-color .35s ease, box-shadow .35s ease;
}

/* پیکان ظریفی که با هاور جلو می‌رود */
.slider__box .btn::before{
  content:"←"; font-size:1.04em; line-height:1;
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
.slider__box .btn:hover::before{ transform:translateX(-5px); }

/* شیشه‌ای (پیش‌فرض) */
.bs-glass .btn{
  background:color-mix(in srgb, var(--tc, #FFF) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--tc, #FFF) 62%, transparent);
  color:var(--tc, #FFF);
  box-shadow:0 6px 26px rgba(0,0,0,.18);
}
/* توپر */
.bs-solid .btn{
  background:var(--tc, #FFF); border:1px solid var(--tc, #FFF);
  color:var(--ct, #0A0A0A);
  box-shadow:0 6px 26px rgba(0,0,0,.18);
}
/* فقط خط دورِ دکمه */
.bs-outline .btn{
  background:transparent; border:1px solid var(--tc, #FFF);
  color:var(--tc, #FFF); box-shadow:none;
}
/* هاور: همه به حالت توپر می‌روند */
.slider__box .btn:hover{
  background:var(--tc, #FFF); color:var(--ct, #0A0A0A);
  border-color:var(--tc, #FFF);
  box-shadow:0 10px 32px rgba(0,0,0,.26);
}

@supports (backdrop-filter:blur(2px)){
  .bs-glass .btn{ backdrop-filter:blur(9px) saturate(140%); }
}

/* رنگ‌های دلخواه دکمه (از پنل) — بر ظاهر انتخابی می‌چربند */
.slider__box.cbg .btn{ background:var(--bb); border-color:var(--bb); backdrop-filter:none; }
.slider__box.cfg .btn,
.slider__box.cbg .btn{ color:var(--bf); }
.slider__box.cbo .btn{ border-color:var(--bo); }
.slider__box.cbg .btn:hover{ background:var(--bb); color:var(--bf); filter:brightness(1.14); }
.slider__box.cfg:not(.cbg) .btn:hover{ background:var(--bf); color:var(--ct, #0A0A0A); border-color:var(--bf); }
.slider__box.cbo .btn:hover{ border-color:var(--bo); }
.slider__box.no-arrow .btn::before{ display:none; }

/* «فقط دکمه» — متن‌ها پنهان می‌شوند */
@media (min-width:768px){
  .slider__box.only-d .slider__title,
  .slider__box.only-d .slider__sub,
  .slider__box.only-d .slider__tag,
  .slider__box.only-d .eyebrow{ display:none; }
}
@media (max-width:767px){
  .slider__box.only-m .slider__title,
  .slider__box.only-m .slider__sub,
  .slider__box.only-m .slider__tag,
  .slider__box.only-m .eyebrow{ display:none; }
}

/* ---------- پیکان‌ها ---------- */
.slider__arrow{
  position:absolute; inset-block-start:50%; transform:translateY(-50%); z-index:3;
  width:42px; height:42px; border:0; border-radius:50%;
  background:rgba(255,255,255,.82); color:#0A0A0A;
  font-size:26px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .25s, background .2s;
}
.slider:hover .slider__arrow,
.slider__arrow:focus-visible{ opacity:1; }
.slider__arrow:hover{ background:#FFF; }

/* راست‌به‌چپ: «قبلی» سمت راست، «بعدی» سمت چپ */
/* جایگاه فیزیکی — هر پیکان رو به بیرونِ کارت */
.slider__arrow--prev{ right:16px; }
.slider__arrow--next{ left:16px; }

.slider__arrow svg{
  width:20px; height:20px;
  fill:none; stroke:currentColor; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round;
}

/* ---------- نقطه‌ها ---------- */
.slider__dots{
  position:absolute; inset-block-end:16px; inset-inline:0; z-index:3;
  display:flex; justify-content:center; gap:8px;
}
.slider__dot{
  width:9px; height:9px; padding:0; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.55); box-shadow:0 0 0 1px rgba(0,0,0,.18);
  transition:width .25s, background .25s;
}
.slider__dot.is-on{ width:26px; border-radius:20px; background:#FFF; }

/* ---------- تگ‌لاین برند روی بنر ---------- */
.slider__tag{
  margin:0;
  font-family:var(--tagline-font, var(--fa-head));
  font-style:var(--tagline-style, normal);
  font-weight:var(--tagline-weight, 800);
  font-size:calc(clamp(26px, 4vw, 52px) * var(--fs)); line-height:1.5;
}
.slider__cta{
  display:flex; align-items:center; gap:calc(18px * var(--fs)); flex-wrap:wrap;
  justify-content:var(--d-ai, flex-start);
}
.slider__box .eyebrow{ color:var(--tc, #FFF); opacity:.85; }
.hero__strap{ margin-top:18px; }

/* ---------- موبایل ----------
   همه‌ی مقدارهای متن از --m-* می‌آیند؛ دسکتاپ و موبایل کاملاً مستقل‌اند. */
@media (max-width:767px){
  .slider{ margin:10px; border-radius:14px; max-height:none; }

  .slider__box{
    align-items:var(--m-ai, flex-start);
    justify-content:var(--m-jc, flex-end);
    text-align:var(--m-ta, right);
    --fs:var(--m-fs, 1);
    /* پایین‌تر از نقطه‌ها (۲۸px) بنشیند تا روی هم نیفتند */
    padding:14px 16px 30px;
  }
  .slider__box::before{ background:var(--m-bg, none); }
  .slider__txt{ align-items:var(--m-ai, flex-start); max-width:var(--m-w, 100%); gap:calc(8px * var(--fs)); }
  .slider__cta{ justify-content:var(--m-ai, flex-start); gap:calc(10px * var(--fs)); }

  /* قاب روی گوشی کوچک است — اندازه‌ها جمع‌وجورند، ضریب انتخابی هم رویشان می‌نشیند */
  .slider__tag{ font-size:calc(clamp(15px, 4.4vw, 21px) * var(--fs)); line-height:1.35; }
  .slider__title{ font-size:calc(clamp(16px, 4.6vw, 22px) * var(--fs)); line-height:1.4; }
  .slider__sub{ font-size:calc(12px * var(--fs)); line-height:1.7; }
  .no-sub-m .slider__sub{ display:none; }

  .slider__box .btn{ font-size:calc(12.5px * var(--fs) * var(--bs, 1)); padding:.8em 1.6em; gap:.55em; }

  .slider__pic img{ object-position:var(--op-m, var(--op-d, center)); }

  .slider__arrow{ display:none; }

  /* نقطه‌ها همیشه وسط پایین‌اند؛ متن بالاتر از آن‌ها می‌نشیند */
  .slider__dots{ inset-block-end:11px; }

  .hero-slider{ padding:10px; }
  /* نسبت قاب موبایل جدا از پنل می‌آید (پیش‌فرض ۱۶:۹) */
  .slider{
    aspect-ratio:var(--bnr-ratio-m, 16/9); max-width:none;
    border-radius:14px; box-shadow:0 10px 30px rgba(0,0,0,.16);
  }
  .hero-slider__bg img{ filter:blur(34px) saturate(150%); }
}

/* اگر کاربر «کاهش حرکت» را روشن کرده، محو شدن هم نرم‌تر برایش اجرا نشود */
@media (prefers-reduced-motion:reduce){
  .slider__slide{ transition:none; }
}

/* ==========================================================================
   جلوه‌های بصری — همه با کلید پنل روشن/خاموش می‌شوند
   ========================================================================== */

/* ---------- ۱. ظاهر شدن تدریجی هنگام اسکرول ----------
   کلاس .r-fx را جاوااسکریپت اضافه می‌کند، نه PHP.
   یعنی اگر جاوااسکریپت اجرا نشود، همه‌چیز عادی دیده می‌شود و
   هیچ‌وقت محتوایی نامرئی گیر نمی‌کند. */
.fx-reveal .r-fx{
  opacity:0; transform:translateY(20px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),
             transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:opacity, transform;
}
.fx-reveal .r-fx.is-in{ opacity:1; transform:none; }

.fx-speed-fast .r-fx{ transition-duration:.4s; }
.fx-speed-slow .r-fx{ transition-duration:1s; }

/* کارت‌های یک شبکه پشت سر هم می‌آیند، نه همه با هم */
.fx-reveal .r-fx[style*="--d"]{ transition-delay:var(--d); }


/* ---------- ۲. هدر شیشه‌ای ---------- */
.fx-navblur .nav{
  transition:height .25s ease, background .25s ease,
             backdrop-filter .25s ease, box-shadow .25s ease;
}
.fx-navblur .nav__in{ transition:height .25s ease; }

.fx-navblur .nav.is-stuck{
  background:color-mix(in srgb, var(--nav-bg, var(--paper)) 72%, transparent);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom-color:transparent;
  box-shadow:0 1px 24px rgba(0,0,0,.07);
}
.fx-navblur .nav.is-stuck .nav__in{ height:calc(var(--nav-h) - 14px); }
.fx-navblur .nav.is-stuck .nav__logo img{ max-height:28px; transition:max-height .25s ease; }

/* data-theme روی <html> است و fx-navblur روی <body> — پس نسبتشان تودرتوست */
[data-theme="night"] .fx-navblur .nav.is-stuck{
  background:color-mix(in srgb, var(--nav-bg, var(--paper)) 66%, transparent);
  box-shadow:0 1px 24px rgba(0,0,0,.5);
}

/* مرورگرهایی که بلور ندارند، لااقل زمینه‌ی توپر بگیرند */
@supports not (backdrop-filter:blur(2px)){
  .fx-navblur .nav.is-stuck{ background:var(--nav-bg, var(--paper)); }
}


/* ---------- ۳. کارت محصول ---------- */
.card__img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s cubic-bezier(.22,.61,.36,1), opacity .5s ease;
}

/* عکس دوم، دقیقاً روی اولی */
.card__img--hover{
  position:absolute; inset:0; opacity:0;
}

@media (hover:hover){
  .fx-cardhover .card.has-hover:hover .card__img--hover{ opacity:1; }
  .fx-cardzoom  .card:hover .card__img{ transform:scale(1.045); }
}

/* در گوشی هاوری نیست — عکس دوم اصلاً نباید جایی بگیرد */
@media (hover:none){
  .card__img--hover{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  .fx-reveal .r-fx{ opacity:1 !important; transform:none !important; transition:none; }
  .card__img{ transition:opacity .2s ease; }
  .fx-cardzoom .card:hover .card__img{ transform:none; }
}


/* ---------- عکس داستان محصول: چند عکس با محو شدن نرم ---------- */
.editorial.is-fading{ position:relative; }
.editorial.is-fading .editorial__img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .9s ease;
}
.editorial.is-fading .editorial__img.is-on{ opacity:1; }

@media (prefers-reduced-motion:reduce){
  .editorial.is-fading .editorial__img{ transition:none; }
}

/* ---------- دسته‌ی «به زودی» ---------- */
.cat--soon{ cursor:default; }
.cat--soon .cat__art{ position:relative; }
.cat--soon .cat__art img{ filter:grayscale(1) brightness(.62); }
.cat--soon .cat__foot b,
.cat--soon .cat__foot .num{ color:var(--gray); }

.cat__soon{
  position:absolute; inset-block-start:50%; inset-inline:0;
  transform:translateY(-50%); text-align:center;
  font-family:var(--fa-head); font-weight:800;
  font-size:clamp(15px, 1.8vw, 20px); letter-spacing:.04em;
  color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.5);
  pointer-events:none;
}
