/* ═══════════════════════════════════════════════════════════
   MAISON GOHARBIN — نمونه وب‌سایت
   دو دنیای بصری: «سینی مخمل» (تیره) و «گالری پرسلان» (روشن)
   ═══════════════════════════════════════════════════════════ */

/* جهت از خود صفحه می‌آید (dir روی <html>)، نه از CSS — وگرنه نسخه‌ی
   انگلیسی هم راست‌به‌چپ می‌ماند و ویژگی‌های منطقی برعکس می‌چینند. */
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

:root{
  /* پرسلان روشن */
  --ground:#EDEEEA;
  --ground-2:#F5F6F3;
  --surface:#FBFBF9;
  --ink:#15171A;
  --ink-2:#4B5055;
  --ink-3:#7E848B;
  --gold:#8E6E30;
  --gold-hi:#B8994F;
  --hair:rgba(21,23,26,.13);
  --hair-strong:rgba(21,23,26,.24);
  --shadow:0 1px 2px rgba(20,22,26,.05), 0 14px 44px -20px rgba(20,22,26,.24);
  --ok:#2E7D5B; --warn:#9A6B1F; --bad:#A33A33;

  /* ثابت در هر دو تم — سطوح تصویری */
  --velvet:#0A0C11;
  --velvet-2:#111520;
  --velvet-ink:#EDE8DC;
  --velvet-ink-2:#9C9A8E;
  --prism:#8FC7CE;

  --maxw:1240px;
  --nav-h:58px;
  --fs-display:clamp(2.3rem,6vw,4.9rem);
  --fs-h1:clamp(1.9rem,4.2vw,3.1rem);
  --fs-h2:clamp(1.55rem,3vw,2.35rem);
  --fs-h3:1.15rem;
  --fs-body:1.0625rem;
  --fs-sm:.875rem;
  --fs-xs:.75rem;
  --ease:cubic-bezier(.2,.7,.2,1);
  --facet:14px;
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0A0C11; --ground-2:#0D1016; --surface:#131823;
    --ink:#EAE5D9; --ink-2:#A6A296; --ink-3:#787569;
    --gold:#C9A65C; --gold-hi:#EBDCB0;
    --hair:rgba(234,229,217,.14); --hair-strong:rgba(234,229,217,.28);
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 20px 56px -22px rgba(0,0,0,.75);
    --ok:#69C79B; --warn:#D9B368; --bad:#E08A82;
  }
}
:root[data-theme="dark"]{
  --ground:#0A0C11; --ground-2:#0D1016; --surface:#131823;
  --ink:#EAE5D9; --ink-2:#A6A296; --ink-3:#787569;
  --gold:#C9A65C; --gold-hi:#EBDCB0;
  --hair:rgba(234,229,217,.14); --hair-strong:rgba(234,229,217,.28);
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 20px 56px -22px rgba(0,0,0,.75);
  --ok:#69C79B; --warn:#D9B368; --bad:#E08A82;
}

*{ box-sizing:border-box; }
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"Vazirmatn","Segoe UI",Tahoma,sans-serif;
  font-size:var(--fs-body); line-height:1.85;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ display:block; max-inline-size:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
:focus-visible{ outline:2px solid var(--gold-hi); outline-offset:3px; }

/* ── کمکی‌ها ─────────────────────────────────────────────── */
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.15rem,4vw,2.5rem); }
.wrap--narrow{ max-width:760px; }
.facet{ clip-path:polygon(0 var(--facet),var(--facet) 0,100% 0,100% calc(100% - var(--facet)),calc(100% - var(--facet)) 100%,0 100%); }
.sr{ position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
.num{ font-variant-numeric:tabular-nums; }
/* شماره تلفن: رشته‌ی LTR جداشده، وگرنه در متن RTL گروه‌های عدد جابه‌جا می‌شوند */
.tel{
  display:inline-block; direction:ltr; unicode-bidi:isolate;
  font-variant-numeric:tabular-nums; letter-spacing:.04em; white-space:nowrap;
}
.nastaliq{ font-family:"Noto Nastaliq Urdu","Vazirmatn",serif; font-weight:500; line-height:2.2; }
.latin{
  font-family:"Cormorant","Times New Roman",serif; letter-spacing:.14em;
  text-transform:uppercase; font-variant-numeric:tabular-nums;
}
h1,h2,h3,h4{ margin:0; font-weight:500; text-wrap:balance; }
p{ margin:0; }

.eyebrow{ display:flex; align-items:center; gap:.7rem; font-size:var(--fs-xs); color:var(--gold); font-weight:600; }
.eyebrow::before{ content:""; inline-size:2.1rem; block-size:1px; background:currentColor; opacity:.65; flex:none; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.82rem 1.55rem; font-size:var(--fs-sm); font-weight:600; cursor:pointer;
  border:1px solid var(--gold); background:none; color:var(--gold);
  transition:background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
  clip-path:polygon(0 11px,11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%);
}
.btn:hover:not(:disabled){ background:var(--gold); color:var(--ground); }
.btn--fill{ background:linear-gradient(180deg,var(--gold-hi),var(--gold)); color:#0A0C11; border-color:transparent; }
.btn--fill:hover:not(:disabled){ filter:brightness(1.1); background:linear-gradient(180deg,var(--gold-hi),var(--gold)); color:#0A0C11; }
.btn--ghost{ border-color:var(--hair-strong); color:var(--ink-2); }
.btn--ghost:hover{ background:none; border-color:var(--gold); color:var(--gold); }
.btn--sm{ padding:.5rem 1rem; font-size:var(--fs-xs); }
.btn--wide{ inline-size:100%; }
.btn:disabled{ opacity:.45; cursor:not-allowed; }
.btn--onvelvet{ color:var(--gold-hi); }
.btn--onvelvet:hover{ background:var(--gold); color:#0A0C11; }

.link{ color:var(--gold); border-block-end:1px solid transparent; transition:border-color .3s; }
.link:hover{ border-block-end-color:currentColor; }

.pill{
  display:inline-flex; align-items:center; gap:.35rem; font-size:var(--fs-xs);
  padding:.14rem .5rem; border:1px solid var(--hair); color:var(--ink-2);
}
.pill--gold{ border-color:var(--gold); color:var(--gold); }
.pill--ok{ border-color:var(--ok); color:var(--ok); }

/* ── نوار ناوبری ─────────────────────────────────────────── */
.nav{
  position:fixed; inset-block-start:0; inset-inline:0; z-index:70;
  min-block-size:var(--nav-h);
  display:flex; align-items:center; gap:1.1rem; white-space:nowrap;
  padding:.35rem clamp(1.15rem,4vw,2.5rem);
  color:#EDE8DC; border-block-end:1px solid rgba(237,232,220,.12);
  background:linear-gradient(to bottom,rgba(10,12,17,.86),rgba(10,12,17,.24));
  backdrop-filter:blur(16px) saturate(1.1);
  transition:background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease);
}
.nav.solid{
  color:var(--ink); border-block-end-color:var(--hair);
  background:color-mix(in srgb, var(--ground) 90%, transparent);
}
.brand{ display:flex; align-items:baseline; gap:.7rem; margin-inline-end:auto; }
.brand .mark{ font-size:1.3rem; }
.brand .sub{ font-family:"Cormorant",serif; font-size:.64rem; letter-spacing:.32em; text-transform:uppercase; opacity:.6; }
.navlinks{ display:flex; align-items:center; gap:1.35rem; font-size:var(--fs-sm); }
.navlinks > *{ position:relative; }
.navlinks a{ display:block; padding-block:.9rem; opacity:.88; }
.navlinks a:hover, .navlinks a.on{ opacity:1; }
.navlinks a::after{
  content:""; position:absolute; inset-block-end:.55rem; inset-inline:0; block-size:1px;
  background:var(--gold-hi); transform:scaleX(0); transform-origin:right;
  transition:transform .4s var(--ease);
}
.navlinks a:hover::after, .navlinks a.on::after{ transform:scaleX(1); }
.has-sub > .submenu{
  position:absolute; inset-block-start:100%; inset-inline-end:0; min-inline-size:11rem;
  background:var(--surface); color:var(--ink); border:1px solid var(--hair);
  box-shadow:var(--shadow); padding:.5rem 0; display:grid;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
}
.has-sub:hover > .submenu, .has-sub:focus-within > .submenu{ opacity:1; visibility:visible; transform:none; }
.submenu a{ padding:.42rem 1.1rem; font-size:var(--fs-sm); opacity:.85; }
.submenu a::after{ display:none; }
.submenu a:hover{ background:var(--ground-2); color:var(--gold); opacity:1; }
.submenu .sep{ block-size:1px; background:var(--hair); margin:.4rem .9rem; }
.submenu a.all{ font-size:var(--fs-xs); color:var(--gold); }
.has-sub > .submenu{ min-inline-size:12.5rem; }

.navtools{ display:flex; align-items:center; gap:.45rem; }
.tool{
  background:none; border:1px solid transparent; color:inherit; cursor:pointer;
  padding:.4rem .5rem; font-size:var(--fs-xs); display:flex; align-items:center; gap:.35rem;
  opacity:.85; transition:opacity .25s, border-color .25s;
}
.tool:hover{ opacity:1; border-color:currentColor; }
.tool .cnt{
  min-inline-size:1.15rem; padding:0 .2rem; font-size:.66rem; font-weight:700;
  background:var(--gold); color:#0A0C11; text-align:center; line-height:1.15rem;
}
.tool .cnt[data-zero="1"]{ background:none; color:inherit; border:1px solid currentColor; }
.rate-chip{
  display:flex; align-items:center; gap:.45rem; font-size:var(--fs-xs);
  padding:.28rem .65rem; border:1px solid currentColor; opacity:.82; cursor:pointer;
  background:none; color:inherit;
  clip-path:polygon(0 7px,7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%);
}
.rate-chip:hover{ opacity:1; }
.dot{ inline-size:5px; block-size:5px; border-radius:50%; background:#5FBF8A; box-shadow:0 0 0 3px rgba(95,191,138,.2); flex:none; }
.burger{ display:none; }

/* پنل نرخ طلا */
.ratepanel{
  position:fixed; inset-block-start:var(--nav-h); inset-inline-end:clamp(1.15rem,4vw,2.5rem);
  z-index:69; inline-size:min(23rem,calc(100vw - 2rem));
  background:var(--surface); color:var(--ink); border:1px solid var(--hair);
  box-shadow:var(--shadow); padding:1.25rem; display:grid; gap:.7rem;
  transform:translateY(-8px); opacity:0; visibility:hidden;
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
}
.ratepanel.open{ opacity:1; visibility:visible; transform:none; }
.ratepanel h4{ font-size:var(--fs-sm); }
.ratepanel p{ font-size:var(--fs-xs); color:var(--ink-3); line-height:1.7; }
.ratepanel output{ font-size:1.15rem; font-weight:700; color:var(--gold); }

input[type=range]{ -webkit-appearance:none; appearance:none; inline-size:100%; block-size:20px; background:none; cursor:pointer; margin:0; }
input[type=range]::-webkit-slider-runnable-track{ block-size:2px; background:var(--hair-strong); }
input[type=range]::-moz-range-track{ block-size:2px; background:var(--hair-strong); }
input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; inline-size:15px; block-size:15px; margin-block-start:-6.5px; background:var(--gold); border:none; transform:rotate(45deg); }
input[type=range]::-moz-range-thumb{ inline-size:13px; block-size:13px; background:var(--gold); border:none; border-radius:0; }

/* کشوی موبایل */
.drawer{
  position:fixed; inset:0; z-index:90; background:rgba(10,12,17,.6);
  backdrop-filter:blur(4px); opacity:0; visibility:hidden; transition:opacity .35s, visibility .35s;
}
.drawer.open{ opacity:1; visibility:visible; }
.drawer-panel{
  position:absolute; inset-block:0; inset-inline-end:0; inline-size:min(20rem,86vw);
  background:var(--ground); border-inline-start:1px solid var(--hair);
  padding:1.2rem clamp(1rem,4vw,1.6rem); overflow-y:auto;
  transform:translateX(-100%); transition:transform .4s var(--ease);
  display:grid; gap:.1rem; align-content:start;
}
.drawer.open .drawer-panel{ transform:none; }
.drawer-panel a{ padding:.72rem 0; border-block-end:1px solid var(--hair); font-size:.98rem; }
.drawer-panel a.child{ padding-inline-start:1rem; font-size:var(--fs-sm); color:var(--ink-2); }
.drawer-panel .close{ justify-self:end; background:none; border:1px solid var(--hair); color:var(--ink); padding:.3rem .6rem; cursor:pointer; margin-block-end:.6rem; }

/* ── ساختار صفحه ─────────────────────────────────────────── */
main{ min-block-size:70vh; }
.band{ padding-block:clamp(3.4rem,7vw,6.4rem); }
.band--tight{ padding-block:clamp(2rem,4vw,3.2rem); }
.band--alt{ background:var(--ground-2); border-block:1px solid var(--hair); }
.band--velvet{ background:var(--velvet); color:var(--velvet-ink); }
.band--velvet .head p, .band--velvet .muted{ color:var(--velvet-ink-2); }

.head{ display:grid; gap:.75rem; margin-block-end:clamp(1.8rem,4vw,3rem); max-inline-size:62ch; }
.head h2{ font-size:var(--fs-h2); line-height:1.36; font-weight:300; }
.head p{ color:var(--ink-2); }
.head--center{ justify-items:center; text-align:center; margin-inline:auto; }

.pagehead{
  padding-block:calc(var(--nav-h) + clamp(2.6rem,6vw,4.6rem)) clamp(1.8rem,4vw,3rem);
  border-block-end:1px solid var(--hair);
}
.pagehead h1{ font-size:var(--fs-h1); font-weight:300; line-height:1.28; margin-block:.5rem .7rem; }
.pagehead p{ color:var(--ink-2); max-inline-size:60ch; }
.crumbs{ display:flex; gap:.45rem; font-size:var(--fs-xs); color:var(--ink-3); flex-wrap:wrap; }
.crumbs a:hover{ color:var(--gold); }

.divider{ block-size:1px; background:var(--hair); position:relative; }
.divider::after{
  content:""; position:absolute; inset-block-start:-3px; inset-inline-start:50%;
  inline-size:7px; block-size:7px; background:var(--gold); transform:translateX(-50%) rotate(45deg);
}

.reveal{ opacity:1; }
.js-anim .reveal{ opacity:0; transform:translateY(20px); }
.js-anim .reveal.in{ opacity:1; transform:none; transition:opacity .85s var(--ease), transform .85s var(--ease); }
@media (prefers-reduced-motion:reduce){
  .js-anim .reveal{ opacity:1; transform:none; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ── هیرو ────────────────────────────────────────────────── */
.hero{
  position:relative; min-block-size:min(94svh,860px);
  display:grid; align-items:end; background:var(--velvet); color:var(--velvet-ink);
  overflow:hidden; isolation:isolate;
}
/* ── اسلایدهای هیرو ─────────────────────────────────────── */
.hero-img{
  position:absolute; inset:0; z-index:0; inline-size:100%; block-size:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1.5s var(--ease);
  will-change:opacity, transform;
}
.hero-img.on{ opacity:1; }

/* حرکت آرام دوربین. ۱۰ ثانیه برای ۶٪ بزرگ‌نمایی — باید دیده نشود، حس شود. */
@media (prefers-reduced-motion:no-preference){
  .hero-img.on{ animation:heroDrift 10s linear forwards; }
}
@keyframes heroDrift{
  from{ transform:scale(1); }
  to{ transform:scale(1.06); }
}
.hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(to left,rgba(10,12,17,.93) 2%,rgba(10,12,17,.58) 32%,rgba(10,12,17,.12) 66%),
    linear-gradient(to top,rgba(10,12,17,.92) 1%,transparent 46%);
}
.hero-inner{
  position:relative; z-index:3; inline-size:100%;
  max-width:var(--maxw); margin-inline:auto;
  padding:calc(var(--nav-h) + 4rem) clamp(1.15rem,4vw,2.5rem) clamp(2.6rem,6vh,4.6rem);
  display:grid; justify-items:start;
}
.hero-inner > *{ max-inline-size:min(100%,56ch); }
.hero h1{ font-size:var(--fs-display); line-height:1.2; font-weight:300; margin-block:.7rem 1rem; letter-spacing:-.01em; }
.hero h1 .glow{
  background:linear-gradient(100deg,var(--gold-hi),#F7EFD7 42%,var(--prism) 94%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero .lead{ color:var(--velvet-ink-2); max-inline-size:46ch; margin-block-end:1.8rem; }
.cta-row{ display:flex; flex-wrap:wrap; gap:.8rem; }
.hero-specs{
  margin:2.4rem 0 0; padding-block-start:1.1rem;
  border-block-start:1px solid rgba(237,232,220,.2);
  display:flex; flex-wrap:wrap; gap:.9rem 0;
}
.hero-specs .spec{ flex:1 1 9rem; padding-inline:1.05rem; border-inline-start:1px solid rgba(237,232,220,.14); display:grid; gap:.05rem; }
.hero-specs .spec:first-of-type{ padding-inline-start:0; border-inline-start:none; }
.hero-specs dt{ font-size:var(--fs-xs); color:var(--velvet-ink-2); line-height:1.6; }
.hero-specs dd{ margin:0; font-size:.94rem; line-height:1.6; }

/* ── کادر بزرگ‌نمایی ────────────────────────────────────────
   عمداً کنار تصویر است، نه رویش: ذره‌بینِ روی تصویر هر چیزی را که
   زیرش بود می‌پوشاند — و وقتی روی متن می‌رفت، متن ناخوانا می‌شد.

   حالا دو چیز جدا داریم: یک حلقه‌ی نازک که *جای* بزرگ‌نمایی را
   نشان می‌دهد، و یک کادر در سمت خالی کادر که *محتوای* آن را.
   ─────────────────────────────────────────────────────────── */
.zoombox{
  position:absolute; z-index:4;
  /* ⚠ در چیدمان RTL، inline-start سمت راست است — همان‌جا که متن می‌نشیند.
     کادر زوم باید در سمت خالیِ کادر باشد، پس inline-end. */
  inset-inline-end:clamp(1.15rem,4vw,2.5rem);
  inset-block-start:50%;
  inline-size:clamp(11rem,20vw,17.5rem);
  aspect-ratio:1;
  pointer-events:none;
  background-repeat:no-repeat;
  background-color:var(--velvet);
  transform:translateY(-50%) scale(.94);
  opacity:0; visibility:hidden;
  transition:opacity .45s var(--ease), transform .45s var(--ease), visibility .45s;
  box-shadow:
    0 0 0 1px rgba(201,166,92,.85),
    0 0 0 8px rgba(10,12,17,.45),
    0 0 0 9px rgba(143,199,206,.2),
    0 30px 70px -18px rgba(0,0,0,.9);
}
.zoombox.on{ opacity:1; visibility:visible; transform:translateY(-50%) scale(1); }

/* برچسب بزرگ‌نمایی، زیر کادر */
.zoombox::after{
  content:attr(data-zoom);
  position:absolute; inset-block-end:-1.7rem; inset-inline:0;
  text-align:center; font-family:"Cormorant",serif;
  font-size:.62rem; letter-spacing:.22em; color:rgba(237,232,220,.6);
}

/* حلقه‌ی نشانگر روی تصویر — فقط خط، نه پوشش */
.lens-ring{
  position:absolute; z-index:3; inline-size:5.5rem; aspect-ratio:1;
  border-radius:50%; pointer-events:none;
  border:1px solid rgba(201,166,92,.9);
  box-shadow:0 0 0 1px rgba(10,12,17,.35), inset 0 0 18px rgba(10,12,17,.25);
  transform:translate(-50%,-50%) scale(.85);
  opacity:0; transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.lens-ring.on{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.lens-ring::after{
  content:""; position:absolute; inset-block-start:50%; inset-inline-start:50%;
  inline-size:3px; block-size:3px; border-radius:50%;
  background:var(--prism); transform:translate(-50%,-50%);
}

/* راهنمای بزرگ‌نمایی — بالای همان کادری که توضیحش می‌دهد */
.hint{
  position:absolute; z-index:5;
  inset-inline-end:clamp(1.15rem,4vw,2.5rem);
  inset-block-start:calc(var(--nav-h) + 1.6rem);
  inline-size:max-content; pointer-events:none;
  display:flex; align-items:center; gap:.5rem;
  font-size:var(--fs-xs); color:rgba(237,232,220,.55);
  transition:opacity .5s var(--ease);
}
.hint::before{ content:"◎"; color:var(--prism); font-size:.9rem; }

/* ── ناوبری اسلایدها ───────────────────────────────────── */
.hero-nav{
  position:absolute; z-index:4;
  inset-block-end:clamp(1.4rem,3vh,2.2rem);
  inset-inline-end:clamp(1.15rem,4vw,2.5rem);   /* سمت چپ، زیر کادر زوم */
  display:grid; gap:.55rem; justify-items:start;
  inline-size:max-content;
}
.hero-cap{
  font-size:var(--fs-xs); color:rgba(237,232,220,.55);
  display:none; align-items:center; gap:.45rem;
}
.hero-cap.on{ display:flex; }
.hero-cap b{ color:var(--velvet-ink); font-weight:600; }
.hero-cap .latin{ font-size:.66rem; opacity:.7; }
.hero-dots{ display:flex; gap:.45rem; }
.hero-dot{
  position:relative; inline-size:2.4rem; block-size:2px; padding:0;
  border:none; cursor:pointer; background:rgba(237,232,220,.22);
  overflow:hidden;
}
.hero-dot::after{
  content:""; position:absolute; inset:0;
  background:var(--gold-hi); transform:scaleX(0); transform-origin:right;
}
.hero-dot.on::after{ transform:scaleX(1); }
@media (prefers-reduced-motion:no-preference){
  .hero-dot.on::after{ animation:dotFill 7s linear forwards; }
}
@keyframes dotFill{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
.hero-dot:hover{ background:rgba(237,232,220,.4); }

/* مکث خودکار وقتی کاربر دارد تصویر را بررسی می‌کند —
   چیزی که قرار است عوض شود، زوم‌کردنی نیست. */
.hero.inspecting .hero-dot.on::after{ animation-play-state:paused; }
.hero.inspecting .hero-img.on{ animation-play-state:paused; }

/* گروه مشخصات، هم‌زمان با تصویر عوض می‌شود */
.spec-group{ display:none; }
.spec-group.on{ display:flex; }

/* ── کالکشن‌های خانه ────────────────────────────────────── */
.colls{ display:grid; gap:1px; background:var(--hair); grid-template-columns:repeat(auto-fit,minmax(min(100%,232px),1fr)); }
.coll{
  position:relative; display:block; min-block-size:clamp(17rem,30vw,23rem);
  overflow:hidden; background:var(--velvet); color:var(--velvet-ink);
}
.coll img{ position:absolute; inset:0; inline-size:100%; block-size:100%; object-fit:cover; transition:transform 1.1s var(--ease), opacity .6s; opacity:.72; }
.coll:hover img{ transform:scale(1.06); opacity:.9; }
.coll .body{
  position:relative; z-index:2; min-block-size:100%; padding:clamp(1.2rem,2.4vw,1.8rem);
  display:grid; align-content:end; gap:.35rem;
  background:linear-gradient(to top,rgba(10,12,17,.88) 6%,rgba(10,12,17,.15) 62%,transparent);
}
.coll .idx{ font-family:"Cormorant",serif; font-size:.7rem; letter-spacing:.2em; color:var(--gold-hi); }
.coll h3{ font-size:1.16rem; }
.coll p{ font-size:var(--fs-sm); color:var(--velvet-ink-2); line-height:1.7; }
.coll .go{ font-size:var(--fs-xs); color:var(--gold-hi); margin-block-start:.3rem; transform:translateX(8px); opacity:0; transition:.45s var(--ease); }
.coll:hover .go{ transform:none; opacity:1; }

/* ── شبکه محصولات ───────────────────────────────────────── */
.toolbar{
  display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1.1rem;
  padding-block:1rem; border-block-end:1px solid var(--hair); margin-block-end:2rem;
  font-size:var(--fs-sm);
}
.toolbar .count{ color:var(--ink-3); font-size:var(--fs-xs); margin-inline-end:auto; }
.chips{ display:flex; flex-wrap:wrap; gap:.4rem; }
.chip{
  background:none; border:1px solid var(--hair); color:var(--ink-2); cursor:pointer;
  padding:.3rem .75rem; font-size:var(--fs-xs); transition:.3s var(--ease);
}
.chip:hover{ border-color:var(--gold); color:var(--gold); }
.chip[aria-pressed=true]{ background:var(--gold); border-color:var(--gold); color:var(--ground); }
select{
  font-family:inherit; font-size:var(--fs-xs); padding:.35rem .6rem;
  background:var(--surface); color:var(--ink); border:1px solid var(--hair);
}

.grid-p{ display:grid; gap:clamp(1rem,2.2vw,1.7rem); grid-template-columns:repeat(auto-fill,minmax(min(100%,248px),1fr)); }
.card{
  position:relative; border:1px solid var(--hair); background:var(--surface);
  display:grid; align-content:start; transition:border-color .45s var(--ease), transform .45s var(--ease);
  clip-path:polygon(0 16px,16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
}
.card:hover{ border-color:var(--gold); transform:translateY(-4px); }
.card .thumb{ position:relative; aspect-ratio:1/1; background:var(--velvet); overflow:hidden; border-block-end:1px solid var(--hair); }
.card .thumb img{ inline-size:100%; block-size:100%; object-fit:cover; transition:transform 1s var(--ease), opacity .5s; }
.card:hover .thumb img{ transform:scale(1.05); }
.card .thumb img.alt{ position:absolute; inset:0; opacity:0; }
.card:hover .thumb img.alt{ opacity:1; }
.card .tag{
  position:absolute; inset-block-start:.65rem; inset-inline-start:.65rem; z-index:3;
  font-size:.62rem; font-weight:700; padding:.18rem .5rem; color:#0A0C11;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold));
}
.card .fav{
  position:absolute; inset-block-start:.5rem; inset-inline-end:.5rem; z-index:3;
  background:rgba(10,12,17,.5); border:1px solid rgba(237,232,220,.25); color:#EDE8DC;
  cursor:pointer; inline-size:1.9rem; block-size:1.9rem; font-size:.85rem; line-height:1;
  display:grid; place-items:center; transition:.3s;
}
.card .fav:hover{ border-color:var(--gold-hi); color:var(--gold-hi); }
.card .fav[aria-pressed=true]{ color:var(--gold-hi); border-color:var(--gold-hi); }
.card .body{ padding:1rem 1.1rem 1.2rem; display:grid; gap:.42rem; }
.card .sku{ font-family:"Cormorant",serif; font-size:.66rem; letter-spacing:.2em; color:var(--ink-3); }
.card h3{ font-size:1.02rem; font-weight:600; line-height:1.55; }
.card .stone{ font-size:var(--fs-xs); color:var(--ink-3); line-height:1.7; }
.price{ display:flex; align-items:baseline; gap:.35rem; font-size:1.12rem; font-weight:700; font-variant-numeric:tabular-nums; margin-block-start:.2rem; }
.price small{ font-size:.68rem; font-weight:400; color:var(--ink-3); }
.price--poa{ font-size:.94rem; font-weight:600; color:var(--gold); }

.empty{ padding:3rem 1rem; text-align:center; color:var(--ink-3); display:grid; gap:1rem; justify-items:center; }

/* ── صفحه محصول ─────────────────────────────────────────── */
.pdp{ display:grid; gap:clamp(1.6rem,4vw,3.2rem); align-items:start; }
@media (min-width:920px){ .pdp{ grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); } }
.gallery{ display:grid; gap:.6rem; }
.gallery .main{ position:relative; aspect-ratio:4/5; background:var(--velvet); overflow:hidden; cursor:zoom-in; }
.gallery .main img{ inline-size:100%; block-size:100%; object-fit:cover; }
.gallery .thumbs{ display:flex; gap:.6rem; flex-wrap:wrap; }
.gallery .thumbs button{
  inline-size:4.6rem; aspect-ratio:1/1; padding:0; cursor:pointer; overflow:hidden;
  border:1px solid var(--hair); background:var(--velvet);
}
.gallery .thumbs button[aria-pressed=true]{ border-color:var(--gold); }
.gallery .thumbs img{ inline-size:100%; block-size:100%; object-fit:cover; }

.pdp-info{ display:grid; gap:1rem; align-content:start; }
.pdp-info h1{ font-size:clamp(1.6rem,3.2vw,2.4rem); font-weight:300; line-height:1.3; }
.pdp-info .desc{ color:var(--ink-2); }
.pdp-price{ display:grid; gap:.3rem; padding-block:.9rem; border-block:1px solid var(--hair); }
.pdp-price .big{ font-size:1.7rem; font-weight:700; font-variant-numeric:tabular-nums; }
.pdp-price .big small{ font-size:.8rem; font-weight:400; color:var(--ink-3); }
.pdp-price .note{ font-size:var(--fs-xs); color:var(--ink-3); }
.specs{ display:grid; gap:0; font-size:var(--fs-sm); }
.specs div{ display:flex; justify-content:space-between; gap:1rem; padding-block:.5rem; border-block-end:1px solid var(--hair); }
.specs div span:first-child{ color:var(--ink-3); font-size:var(--fs-xs); }
.specs div span:last-child{ font-weight:600; font-variant-numeric:tabular-nums; }
.sizes{ display:flex; flex-wrap:wrap; gap:.4rem; }
.field{ display:grid; gap:.35rem; }
.field > label{ font-size:var(--fs-xs); color:var(--ink-3); }
.acc{ border-block-start:1px solid var(--hair); }
.acc button{
  inline-size:100%; background:none; border:none; color:inherit; cursor:pointer;
  padding:.85rem 0; display:flex; justify-content:space-between; align-items:center;
  font-size:var(--fs-sm); font-weight:600; text-align:start;
  border-block-end:1px solid var(--hair);
}
.acc button .chev{ color:var(--gold); transition:transform .3s; font-size:.7rem; }
.acc button[aria-expanded=true] .chev{ transform:rotate(180deg); }
.acc .panel{ display:none; padding:.7rem 0 1.1rem; font-size:var(--fs-sm); color:var(--ink-2); line-height:1.85; border-block-end:1px solid var(--hair); }
.acc .panel.open{ display:block; }
.breakdown{ display:grid; gap:.26rem; font-size:var(--fs-xs); margin-block-start:.5rem; }
.breakdown div{ display:flex; justify-content:space-between; gap:1rem; color:var(--ink-2); }
.breakdown div b{ color:var(--ink); font-weight:600; font-variant-numeric:tabular-nums; }
.breakdown div.total{ border-block-start:1px solid var(--hair); padding-block-start:.3rem; margin-block-start:.18rem; }
.breakdown div.total b{ color:var(--gold); }

/* لایت‌باکس */
.lightbox{
  position:fixed; inset:0; z-index:95; background:rgba(6,8,12,.95);
  display:grid; place-items:center; padding:clamp(1rem,4vw,3rem);
  opacity:0; visibility:hidden; transition:opacity .35s, visibility .35s;
}
.lightbox.open{ opacity:1; visibility:visible; }
.lightbox img{ max-block-size:88vh; max-inline-size:100%; object-fit:contain; }
.lightbox .close{
  position:absolute; inset-block-start:1.2rem; inset-inline-end:1.2rem;
  background:none; border:1px solid rgba(237,232,220,.4); color:#EDE8DC;
  padding:.4rem .75rem; cursor:pointer; font-size:var(--fs-xs);
}

/* ── مزون / روایت ───────────────────────────────────────── */
.story{ display:grid; gap:clamp(1.6rem,4vw,3.4rem); align-items:center; }
@media (min-width:860px){
  .story{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .story--flip > .story-img{ order:2; }
}
.story-img{ position:relative; overflow:hidden; background:var(--velvet); aspect-ratio:4/5; }
.story-img.wide{ aspect-ratio:3/2; }
.story-img img{ inline-size:100%; block-size:100%; object-fit:cover; }
.story-text{ display:grid; gap:1rem; align-content:center; }
.story-text h3{ font-size:var(--fs-h2); font-weight:300; line-height:1.36; }
.story-text p{ color:var(--ink-2); }
.band--velvet .story-text p{ color:var(--velvet-ink-2); }

.timeline{ display:grid; gap:0; }
.tl{ display:grid; grid-template-columns:auto 1fr; gap:1.1rem; padding-block:1.2rem; border-block-end:1px solid var(--hair); }
.tl .yr{ font-family:"Cormorant",serif; font-size:1.5rem; color:var(--gold); line-height:1.2; font-variant-numeric:tabular-nums; min-inline-size:4.2rem; }
.tl h4{ font-size:1rem; font-weight:600; margin-block-end:.2rem; }
.tl p{ font-size:var(--fs-sm); color:var(--ink-2); line-height:1.8; }

.quote{ display:grid; gap:1rem; justify-items:center; text-align:center; padding-block:clamp(2rem,5vw,3.4rem); }
.quote blockquote{ margin:0; font-size:clamp(1.15rem,3vw,1.85rem); color:var(--gold-hi); max-inline-size:30ch; }
.quote cite{ font-size:var(--fs-xs); color:var(--velvet-ink-2); font-style:normal; }

/* ── مراحل / فرم‌ها ─────────────────────────────────────── */
.steps{ display:grid; gap:1px; background:var(--hair); grid-template-columns:repeat(auto-fit,minmax(min(100%,208px),1fr)); }
.step{ background:var(--ground); padding:clamp(1.3rem,2.5vw,1.9rem); display:grid; gap:.45rem; align-content:start; }
.band--velvet .step{ background:var(--velvet); }
.step .n{ font-family:"Cormorant",serif; font-size:1.8rem; color:var(--gold); line-height:1; font-variant-numeric:tabular-nums; }
.step h3{ font-size:.98rem; font-weight:600; }
.step p{ font-size:var(--fs-sm); color:var(--ink-2); line-height:1.75; }
.band--velvet .step p{ color:var(--velvet-ink-2); }

.stepper{ display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin-block-end:2rem; font-size:var(--fs-xs); }
.stepper span{ display:flex; align-items:center; gap:.45rem; color:var(--ink-3); }
.stepper span b{
  inline-size:1.45rem; block-size:1.45rem; display:grid; place-items:center;
  border:1px solid var(--hair-strong); font-size:.7rem; font-weight:700;
}
.stepper span.on{ color:var(--ink); }
.stepper span.on b{ background:var(--gold); border-color:var(--gold); color:var(--ground); }
.stepper span.done b{ border-color:var(--gold); color:var(--gold); }

form{ display:grid; gap:1.1rem; }
.row2{ display:grid; gap:1.1rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); }
input[type=text],input[type=tel],input[type=email],input[type=number],textarea,input[type=file]{
  font-family:inherit; font-size:var(--fs-sm); padding:.68rem .8rem; inline-size:100%;
  background:var(--surface); color:var(--ink); border:1px solid var(--hair);
  transition:border-color .3s;
}
input:focus,textarea:focus{ border-color:var(--gold); }
textarea{ min-block-size:6.5rem; resize:vertical; line-height:1.8; }
fieldset{ border:1px solid var(--hair); padding:1rem 1.1rem; display:grid; gap:.6rem; }
legend{ font-size:var(--fs-xs); color:var(--gold); padding-inline:.4rem; }
.radio{ display:flex; align-items:flex-start; gap:.6rem; font-size:var(--fs-sm); cursor:pointer; padding:.5rem; border:1px solid var(--hair); transition:border-color .3s; }
.radio:hover{ border-color:var(--gold); }
.radio input{ margin-block-start:.42rem; accent-color:var(--gold); flex:none; }
.radio .t{ display:grid; gap:.1rem; }
.radio .t b{ font-weight:600; }
.radio .t span{ font-size:var(--fs-xs); color:var(--ink-3); line-height:1.65; }
.err{ font-size:var(--fs-xs); color:var(--bad); }
.formactions{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:space-between; }

/* ── سبد و تسویه ────────────────────────────────────────── */
.cartgrid{ display:grid; gap:clamp(1.4rem,3vw,2.6rem); align-items:start; }
@media (min-width:880px){ .cartgrid{ grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); } }
.lineitems{ display:grid; gap:0; }
.li{ display:grid; grid-template-columns:auto 1fr auto; gap:1rem; padding-block:1.1rem; border-block-end:1px solid var(--hair); align-items:start; }
.li img{ inline-size:5.4rem; aspect-ratio:1/1; object-fit:cover; background:var(--velvet); }
.li .meta{ display:grid; gap:.25rem; }
.li .meta h4{ font-size:.98rem; font-weight:600; }
.li .meta .sub{ font-size:var(--fs-xs); color:var(--ink-3); }
.li .right{ display:grid; gap:.5rem; justify-items:end; }
.qty{ display:flex; align-items:center; border:1px solid var(--hair); }
.qty button{ background:none; border:none; color:inherit; cursor:pointer; inline-size:1.8rem; block-size:1.8rem; font-size:.95rem; }
.qty button:hover{ color:var(--gold); }
.qty span{ min-inline-size:2rem; text-align:center; font-size:var(--fs-sm); font-variant-numeric:tabular-nums; }
.remove{ background:none; border:none; color:var(--ink-3); cursor:pointer; font-size:var(--fs-xs); padding:0; }
.remove:hover{ color:var(--bad); }
.summary{
  border:1px solid var(--hair); background:var(--surface); padding:1.3rem; display:grid; gap:.55rem;
  box-shadow:var(--shadow);
  clip-path:polygon(0 16px,16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
}
.summary h3{ font-size:var(--fs-h3); font-weight:600; margin-block-end:.4rem; }
.summary .r{ display:flex; justify-content:space-between; gap:1rem; font-size:var(--fs-sm); color:var(--ink-2); }
.summary .r b{ color:var(--ink); font-variant-numeric:tabular-nums; }
.summary .r.tot{ border-block-start:1px solid var(--hair); padding-block-start:.55rem; margin-block-start:.35rem; font-size:1rem; }
.summary .r.tot b{ color:var(--gold); font-size:1.18rem; font-weight:700; }
.lockbar{
  display:flex; align-items:center; gap:.5rem; font-size:var(--fs-xs);
  padding:.55rem .75rem; border:1px dashed var(--gold); color:var(--gold); margin-block-end:1rem;
}

/* ── نتیجه / کارت‌های وضعیت ─────────────────────────────── */
.result{
  border:1px solid var(--hair); background:var(--surface); padding:clamp(1.3rem,3vw,2.2rem);
  display:grid; gap:.8rem; box-shadow:var(--shadow);
  clip-path:polygon(0 18px,18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);
}
.result .big{ font-size:1.5rem; font-weight:300; }
.result .code{ font-family:"Cormorant",serif; font-size:1.5rem; letter-spacing:.14em; color:var(--gold); font-variant-numeric:tabular-nums; }
.kv{ display:grid; gap:0; font-size:var(--fs-sm); }
.kv div{ display:flex; justify-content:space-between; gap:1rem; padding-block:.48rem; border-block-end:1px solid var(--hair); }
.kv div span:first-child{ color:var(--ink-3); font-size:var(--fs-xs); }
.kv div span:last-child{ font-weight:600; }

.assure{ display:grid; gap:1px; background:var(--hair); grid-template-columns:repeat(auto-fit,minmax(min(100%,186px),1fr)); }
.assure > div{ background:var(--ground-2); padding:1.4rem 1.25rem; display:grid; gap:.3rem; align-content:start; }
.assure b{ font-size:var(--fs-sm); font-weight:600; }
.assure span{ font-size:var(--fs-xs); color:var(--ink-3); line-height:1.7; }
.assure .g{ color:var(--gold); font-size:1.05rem; line-height:1; }

/* ── ژورنال ─────────────────────────────────────────────── */
.posts{ display:grid; gap:clamp(1.3rem,3vw,2.2rem); grid-template-columns:repeat(auto-fit,minmax(min(100%,268px),1fr)); }
.post{ display:grid; gap:.6rem; align-content:start; }
.post .ph{ aspect-ratio:3/2; overflow:hidden; background:var(--velvet); }
.post .ph img{ inline-size:100%; block-size:100%; object-fit:cover; transition:transform 1s var(--ease); }
.post:hover .ph img{ transform:scale(1.05); }
.post .meta{ font-size:var(--fs-xs); color:var(--gold); }
.post h3{ font-size:1.06rem; font-weight:600; line-height:1.6; }
.post p{ font-size:var(--fs-sm); color:var(--ink-3); line-height:1.8; }
.post:hover h3{ color:var(--gold); }

.article{ display:grid; gap:1.4rem; }
.article > .ph{ aspect-ratio:16/9; overflow:hidden; background:var(--velvet); }
.article > .ph img{ inline-size:100%; block-size:100%; object-fit:cover; }
.prose{ display:grid; gap:1.15rem; max-inline-size:68ch; }
.prose h3{ font-size:1.3rem; font-weight:600; margin-block-start:.8rem; }
.prose p{ color:var(--ink-2); }
.prose ul{ margin:0; padding-inline-start:1.3rem; display:grid; gap:.5rem; color:var(--ink-2); }
.prose .pull{
  border-inline-start:2px solid var(--gold); padding-inline-start:1.1rem;
  font-size:1.1rem; color:var(--ink); line-height:1.85;
}
.prose table{ inline-size:100%; border-collapse:collapse; font-size:var(--fs-sm); }
.prose th,.prose td{ padding:.55rem .7rem; border:1px solid var(--hair); text-align:start; }
.prose th{ background:var(--ground-2); font-weight:600; font-size:var(--fs-xs); color:var(--ink-3); }
.prose td{ font-variant-numeric:tabular-nums; }
.tablewrap{ overflow-x:auto; }

/* ── تماس ───────────────────────────────────────────────── */
.contactgrid{ display:grid; gap:clamp(1.6rem,4vw,3rem); align-items:start; }
@media (min-width:880px){ .contactgrid{ grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); } }
.infoblock{ display:grid; gap:1.3rem; align-content:start; }
.infoblock .b{ display:grid; gap:.25rem; }
.infoblock .b h4{ font-size:var(--fs-xs); color:var(--gold); font-weight:600; }
.infoblock .b p, .infoblock .b a{ font-size:var(--fs-sm); color:var(--ink-2); line-height:1.85; }
.infoblock .b a:hover{ color:var(--gold); }
.mapstub{
  aspect-ratio:3/2; background:var(--velvet) center/cover; position:relative; overflow:hidden;
  display:grid; place-items:center; color:var(--velvet-ink-2); font-size:var(--fs-xs);
  border:1px solid var(--hair);
}
.mapstub img{ position:absolute; inset:0; inline-size:100%; block-size:100%; object-fit:cover; opacity:.45; }
.mapstub span{ position:relative; z-index:2; background:rgba(10,12,17,.7); padding:.5rem .9rem; border:1px solid rgba(237,232,220,.2); }

/* ── فوتر ───────────────────────────────────────────────── */
footer{ background:var(--velvet); color:var(--velvet-ink); padding-block:clamp(2.8rem,6vw,4.4rem) 1.8rem; margin-block-start:clamp(2rem,5vw,4rem); }
.foot-grid{
  display:grid; gap:clamp(1.6rem,4vw,2.8rem);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));
  padding-block-end:2.2rem; border-block-end:1px solid rgba(237,232,220,.14);
}
.foot-grid h4{ margin:0 0 .8rem; font-size:var(--fs-xs); color:var(--gold); font-weight:600; }
.foot-grid ul{ margin:0; padding:0; list-style:none; display:grid; gap:.42rem; font-size:var(--fs-sm); }
.foot-grid li a{ color:var(--velvet-ink-2); transition:color .3s; }
.foot-grid li a:hover{ color:var(--velvet-ink); }
.foot-grid .about p{ font-size:var(--fs-sm); color:var(--velvet-ink-2); margin-block-start:.4rem; line-height:1.85; }
.badges{ display:flex; gap:.55rem; flex-wrap:wrap; margin-block-start:.9rem; }
.badges span{ font-size:.6rem; border:1px dashed rgba(237,232,220,.3); padding:.42rem .55rem; color:var(--velvet-ink-2); line-height:1.4; text-align:center; }
.foot-base{ padding-block-start:1.4rem; display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; justify-content:space-between; font-size:var(--fs-xs); color:var(--velvet-ink-2); }
.proto-note{
  margin-block-start:1.1rem; padding:.7rem .95rem; font-size:var(--fs-xs); line-height:1.75;
  border:1px solid rgba(143,199,206,.4); color:var(--prism);
}
.newsletter{ display:flex; gap:.5rem; margin-block-start:.7rem; }
.newsletter input{ background:rgba(237,232,220,.06); border-color:rgba(237,232,220,.2); color:var(--velvet-ink); }

/* ── توست ───────────────────────────────────────────────── */
.toast{
  position:fixed; inset-block-end:1.4rem; inset-inline-start:50%; z-index:100;
  transform:translate(-50%,1.2rem); opacity:0; visibility:hidden;
  background:var(--velvet-2); color:var(--velvet-ink); border:1px solid var(--gold);
  padding:.7rem 1.2rem; font-size:var(--fs-sm); box-shadow:0 18px 44px -16px rgba(0,0,0,.8);
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
  max-inline-size:calc(100vw - 2rem); text-align:center;
}
.toast.show{ opacity:1; visibility:visible; transform:translate(-50%,0); }

/* ── واکنش‌گرایی ────────────────────────────────────────── */
@media (max-width:1140px){ .rate-chip .lbl{ display:none; } }
@media (max-width:1040px){
  .navlinks{ display:none; }
  .burger{ display:flex; }
}
/* کادر زوم به فضای خالی سمت چپ نیاز دارد؛ زیر این عرض وجود ندارد */
@media (max-width:1024px){
  .zoombox, .lens-ring, .hint{ display:none !important; }
}

@media (max-width:900px){
  .hero::after{
    background:
      linear-gradient(to top,rgba(10,12,17,.97) 42%,rgba(10,12,17,.74) 62%,rgba(10,12,17,.2) 88%) !important;
  }
  .hint{ display:none; }
}
@media (max-width:560px){
  .li{ grid-template-columns:auto 1fr; }
  .li .right{ grid-column:1 / -1; justify-items:start; }
  .tl{ grid-template-columns:1fr; gap:.3rem; }
}

/* ── نسخه‌ی انگلیسی ─────────────────────────────────────
   بدنه‌ی صفحه تقریباً همه‌جا از ویژگی‌های منطقی (inline/block) استفاده
   می‌کند، پس با dir=ltr خودش می‌چرخد. این بخش فقط جاهایی را درست می‌کند
   که ناگزیر فیزیکی‌اند — transformها — به‌علاوه‌ی تایپوگرافی لاتین. */

/* کشوی موبایل از لبه‌ی inline-end می‌آید؛ translateX فیزیکی است
   و در LTR باید علامتش برعکس شود، وگرنه پنل به داخل صفحه می‌لغزد. */
.drawer-panel{ transform:translateX(var(--drawer-off,-100%)); }
[dir="ltr"] .drawer-panel{ --drawer-off:100%; }

/* فلش «مشاهده» باید در جهت خواندن بلغزد */
.coll .go{ transform:translateX(var(--go-slide,8px)); }
[dir="ltr"] .coll .go{ --go-slide:-8px; }

/* زیرخط منو از سمت شروعِ خط باز شود */
[dir="ltr"] .navlinks a::after{ transform-origin:left; }

/* نشان برند: فارسی نستعلیق دارد، انگلیسی همان سریفِ لاتینِ سایت */
.brand .mark--en{
  font-family:"Cormorant","Times New Roman",serif;
  font-size:1.5rem; letter-spacing:.06em; line-height:1.2;
}
.foot-mark{
  font-family:"Cormorant","Times New Roman",serif;
  font-size:1.6rem; letter-spacing:.06em; display:block;
}

/* کلید تعویض زبان — هم‌وزن بقیه‌ی ابزارها ولی با متن، نه نماد */
.tool--lang{
  font-family:"Cormorant",serif; font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; border-color:color-mix(in srgb, currentColor 35%, transparent);
}
[dir="rtl"] .tool--lang{ font-family:"Vazirmatn",sans-serif; letter-spacing:0; }

/* متن لاتین در بدنه‌ی انگلیسی کمی بازتر نفس می‌کشد */
[dir="ltr"] body{ letter-spacing:.005em; }
[dir="ltr"] .nastaliq{ font-family:"Cormorant","Times New Roman",serif; line-height:1.3; }
