
.vlegal { --vl-ink:#18181b; --vl-text:#3f3f46; --vl-muted:#71717a; --vl-cream:#f8f6f0; --vl-line:#ece6db; --vl-gold:#c5a880; --vl-gold-deep:#8d623e; --vl-sage:#5f7a60; --vl-sage-bg:#eef2ea; --vl-clay:#9a5a51; --vl-clay-bg:#f6ebe8;
  direction: rtl; color: var(--vl-text); font-size: 0.97rem; line-height: 2.05; max-width: 1180px; margin: 0 auto; }
.vlegal *, .vlegal *::before, .vlegal *::after { box-sizing: border-box; }
.vl-hero-badge { display:inline-flex; align-items:center; gap:.45rem; padding:.35rem .9rem; margin-bottom:1rem; border-radius:999px; background:rgba(197,168,128,.16); border:1px solid rgba(197,168,128,.4); color:#e8d5b5; font-size:.8rem; font-weight:800; }
.vl-hero-meta { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin-top:1.4rem; }
.vl-hero-meta span { display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .85rem; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); color:#d4d4d8; font-size:.76rem; font-weight:700; }
.vl-hero-meta svg { color: var(--vl-gold); width:15px; height:15px; }

.vl-summary { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1rem; margin-bottom:2.2rem; }
.vl-sum-card { background:#fff; border:1px solid var(--vl-line); border-radius:18px; padding:1.1rem 1.15rem; box-shadow:0 4px 16px rgba(0,0,0,.04); }
.vl-sum-card .vl-sum-icon { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:13px; margin-bottom:.65rem; color:var(--vl-gold-deep); background:linear-gradient(135deg,#faf5ec,#f1e6d3); border:1px solid #ecdfc9; }
.vl-sum-card strong { display:block; color:var(--vl-ink); font-size:.92rem; font-weight:900; line-height:1.6; }
.vl-sum-card span { display:block; color:var(--vl-muted); font-size:.78rem; line-height:1.8; margin-top:.2rem; }

.vl-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:1.8rem; align-items:start; }
.vl-toc { position:sticky; top:96px; background:#fff; border:1px solid var(--vl-line); border-radius:20px; padding:1.1rem; box-shadow:0 4px 16px rgba(0,0,0,.04); max-height:calc(100vh - 120px); overflow:auto; }
.vl-toc summary { list-style:none; cursor:default; display:flex; align-items:center; gap:.5rem; font-weight:900; color:var(--vl-ink); font-size:.92rem; margin-bottom:.7rem; }
.vl-toc summary::-webkit-details-marker { display:none; }
.vl-toc summary svg { color: var(--vl-gold-deep); }
.vl-toc ol { list-style:none; margin:0; padding:0; counter-reset: toc; }
.vl-toc li { counter-increment: toc; }
.vl-toc a { display:flex; gap:.55rem; align-items:flex-start; padding:.45rem .6rem; border-radius:10px; color:var(--vl-muted); font-size:.82rem; font-weight:700; line-height:1.7; text-decoration:none; transition:background .2s,color .2s; }
.vl-toc a::before { content: counter(toc, persian); flex-shrink:0; width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; background:var(--vl-cream); color:var(--vl-gold-deep); font-size:.72rem; font-weight:900; margin-top:.15rem; }
.vl-toc a:hover { background:var(--vl-cream); color:var(--vl-ink); }
.vl-toc a.is-active { background:var(--vl-ink); color:#fff; }
.vl-toc a.is-active::before { background:var(--vl-gold); color:#fff; }

.vl-section { scroll-margin-top:100px; background:#fff; border:1px solid var(--vl-line); border-radius:22px; padding:1.7rem 1.9rem; margin-bottom:1.2rem; box-shadow:0 4px 18px rgba(0,0,0,.035); }
.vl-section h2 { display:flex; align-items:center; gap:.75rem; margin:0 0 1rem; color:var(--vl-ink); font-size:1.18rem; font-weight:900; line-height:1.6; }
.vl-num { width:38px; height:38px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; background:linear-gradient(135deg,#d4b88f,#a98458); color:#fff; font-size:.95rem; font-weight:900; box-shadow:0 6px 14px -6px rgba(141,98,62,.7); }
.vl-section h3 { margin:1.3rem 0 .5rem; color:var(--vl-ink); font-size:.98rem; font-weight:900; }
.vl-section p { margin:0 0 .85rem; }
.vl-section ul, .vl-section ol { margin:0 0 .9rem; padding:0; list-style:none; }
.vl-section ul > li { position:relative; padding-inline-start:1.4rem; margin-bottom:.45rem; }
.vl-section ul > li::before { content:''; position:absolute; inset-inline-start:.2rem; top:.85em; width:7px; height:7px; border-radius:50%; background:var(--vl-gold); }
.vl-section ol { counter-reset: item; }
.vl-section ol > li { counter-increment:item; position:relative; padding-inline-start:2rem; margin-bottom:.5rem; }
.vl-section ol > li::before { content:counter(item, persian); position:absolute; inset-inline-start:0; top:.35em; width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; background:var(--vl-cream); color:var(--vl-gold-deep); font-size:.74rem; font-weight:900; line-height:1; }
.vl-section strong { color: var(--vl-ink); }
.vl-section a { color: var(--vl-gold-deep); font-weight:800; text-decoration:underline; text-underline-offset:4px; }

.vl-callout { display:flex; gap:.8rem; align-items:flex-start; padding:.95rem 1.1rem; border-radius:16px; margin:1rem 0; font-size:.9rem; line-height:1.95; border:1px solid; }
.vl-callout svg { flex-shrink:0; margin-top:.3rem; }
.vl-callout.is-note { background:#faf6ee; border-color:#ecdfc9; color:#5c4524; }
.vl-callout.is-note svg { color: var(--vl-gold-deep); }
.vl-callout.is-warn { background:var(--vl-clay-bg); border-color:#ead8d2; color:#6e3f39; }
.vl-callout.is-warn svg { color: var(--vl-clay); }
.vl-callout.is-ok { background:var(--vl-sage-bg); border-color:#d9e1d3; color:#3f5640; }
.vl-callout.is-ok svg { color: var(--vl-sage); }

.vl-split { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1rem 0; }
.vl-split > div { border-radius:18px; padding:1.1rem 1.2rem; border:1px solid; }
.vl-split .is-yes { background:var(--vl-sage-bg); border-color:#d9e1d3; }
.vl-split .is-no { background:var(--vl-clay-bg); border-color:#ead8d2; }
.vl-split h4 { display:flex; align-items:center; gap:.5rem; margin:0 0 .6rem; font-size:.95rem; font-weight:900; }
.vl-split .is-yes h4 { color:var(--vl-sage); } .vl-split .is-no h4 { color:var(--vl-clay); }
.vl-split h4 span { width:26px; height:26px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; color:#fff; }
.vl-split .is-yes h4 span { background:var(--vl-sage); } .vl-split .is-no h4 span { background:var(--vl-clay); }
.vl-split ul { margin:0; }
.vl-split li { font-size:.88rem; }
.vl-split .is-yes li::before { background:var(--vl-sage); } .vl-split .is-no li::before { background:var(--vl-clay); }

.vl-steps { list-style:none; margin:1rem 0 .5rem; padding:0; display:grid; gap:.75rem; counter-reset: step; }
.vl-steps li { counter-increment: step; position:relative; display:flex; gap:1rem; align-items:flex-start; padding:1rem 1.1rem; background:var(--vl-cream); border:1px solid var(--vl-line); border-radius:16px; margin:0 !important; padding-inline-start:1.1rem !important; }
.vl-steps li::before { content: counter(step, persian) !important; position:static !important; flex-shrink:0; width:36px !important; height:36px !important; border-radius:50% !important; background:var(--vl-ink) !important; color:#fff !important; font-size:.95rem !important; display:inline-flex; align-items:center; justify-content:center; }
.vl-steps strong { display:block; font-size:.93rem; line-height:1.7; }
.vl-steps span { display:block; font-size:.84rem; color:var(--vl-muted); line-height:1.9; }

.vl-contact { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; padding:1.6rem 1.8rem; margin-top:1.4rem; border-radius:22px; background:linear-gradient(135deg,#18181b 0%,#2b2620 100%); color:#e4e4e7; }
.vl-contact strong { display:block; color:#fff; font-size:1.05rem; font-weight:900; margin-bottom:.2rem; }
.vl-contact span { font-size:.85rem; color:#a1a1aa; }
.vl-contact-actions { display:flex; gap:.6rem; flex-wrap:wrap; }
.vl-btn { display:inline-flex; align-items:center; gap:.45rem; padding:.7rem 1.2rem; border-radius:12px; font-size:.85rem; font-weight:800; text-decoration:none !important; transition:transform .2s, background .2s; }
.vl-btn:hover { transform:translateY(-2px); }
.vl-btn-gold { background:linear-gradient(135deg,#d4b88f,#c5a880); color:#18181b !important; }
.vl-btn-ghost { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:#fff !important; }
.vl-foot-note { margin-top:1rem; font-size:.78rem; color:var(--vl-muted); text-align:center; }

@media (max-width: 1024px) {
  .vl-summary { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .vl-layout { grid-template-columns:minmax(0,1fr); }
  .vl-toc { position:static; max-height:none; }
  .vl-toc summary { cursor:pointer; margin-bottom:0; }
  .vl-toc summary::after { content:'▾'; margin-inline-start:auto; color:var(--vl-muted); }
  .vl-toc[open] summary { margin-bottom:.7rem; }
}
@media (max-width: 640px) {
  .vlegal { font-size:.92rem; line-height:2; }
  .vl-summary { gap:.65rem; margin-bottom:1.4rem; }
  .vl-sum-card { padding:.9rem; border-radius:16px; }
  .vl-sum-card strong { font-size:.84rem; } .vl-sum-card span { font-size:.72rem; }
  .vl-section { padding:1.2rem 1.1rem; border-radius:18px; }
  .vl-section h2 { font-size:1.04rem; gap:.6rem; }
  .vl-num { width:32px; height:32px; border-radius:10px; font-size:.85rem; }
  .vl-split { grid-template-columns:1fr; }
  .vl-contact { padding:1.3rem; }
  .vl-contact-actions, .vl-btn { width:100%; justify-content:center; }
}
@media (prefers-reduced-motion: reduce) { .vl-btn, .vl-btn:hover { transition:none; transform:none; } }
.vl-hero { text-align:center; padding:3.6rem 1.5rem 3.2rem; margin-bottom:2rem; border-radius:24px; background:linear-gradient(135deg,#18181b 0%,#2b2620 60%,#3a3127 100%); color:#fff; }
.vl-hero-badge { margin-bottom:1rem; }
.vl-hero-title { margin:0; color:#fff; font-size:clamp(1.5rem, 4vw, 2.15rem); font-weight:900; line-height:1.5; }
.vl-hero-sub { margin:.6rem auto 0; max-width:640px; color:#a1a1aa; font-size:.95rem; line-height:1.9; }
.vl-layout.no-toc { grid-template-columns:minmax(0,1fr); }
@media (max-width: 640px) { .vl-hero { padding:2.4rem 1.1rem 2.1rem; border-radius:20px; margin-bottom:1.3rem; } }
