/* لایه‌ی مخصوص راهنمای کاربران روی style.css مشترک اسناد (plan/docs.html §۲) */
/* شمارنده‌ی ارقام فارسی صریح — سبک از پیش‌تعریف‌شده‌ی `persian` در Safari پیاده نشده و به 1،2،3 برمی‌گردد */
@counter-style fa-digits {
  system: numeric;
  symbols: '۰' '۱' '۲' '۳' '۴' '۵' '۶' '۷' '۸' '۹';
}
.crumbs { font-size: .8rem; color: var(--text-muted); margin: 1.2rem 0 0; }
.crumbs a { color: var(--accent-light); text-decoration: none; }
.article-id { direction: ltr; display: inline-block; font-size: .72rem; padding: .1rem .55rem; border-radius: 999px; background: var(--glass-bg); border: 1px solid var(--glass-border); color: var(--accent-light); }
.meta-row { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; margin-top: .8rem; }
.steps { counter-reset: step; list-style: none; padding: 0; margin: 0; }
.steps > li { counter-increment: step; position: relative; padding: 0 3rem 1.4rem 0; }
.steps > li::before { content: counter(step, fa-digits); position: absolute; right: 0; top: 0; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.shots { display: flex; gap: 1.2rem; flex-wrap: wrap; justify-content: center; margin: 1rem 0 .4rem; }
.shot { margin: 0; text-align: center; }
.shot img { width: 240px; max-width: 100%; border-radius: 22px; border: 5px solid #0f172a; box-shadow: 0 12px 40px -16px rgba(0,0,0,.6); display: block; }
.shot.wide img { width: 560px; border-radius: 12px; border-width: 3px; }
.shot figcaption { font-size: .78rem; color: var(--text-muted); margin-top: .5rem; }
.faq dt { font-weight: 700; margin-top: .9rem; }
.faq dd { margin: .25rem 0 0; color: var(--text-muted); }
.related a { color: var(--accent-light); }
.map { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .8rem; }
.map .node { border: 1px solid var(--glass-border); background: var(--glass-bg); border-radius: var(--radius-sm); padding: .9rem; }
.map .node h4 { margin: 0 0 .3rem; font-size: .95rem; }
.map .node p { margin: 0; font-size: .82rem; color: var(--text-muted); }
@media print { .shot img { border-width: 2px; box-shadow: none; } }

/* نور تزئینی .hero::before (۷۰۰px در style.css) در موبایل صفحه را عریض‌تر از گوشی می‌چید */
.hero::before { width: min(700px, 100vw); }

/* بزرگ‌نمایی تصاویر (assets/lightbox.js) */
.shot img[role='button'] { cursor: zoom-in; transition: transform .15s ease; }
.shot img[role='button']:hover, .shot img[role='button']:focus-visible { transform: scale(1.02); outline: 3px solid var(--accent); outline-offset: 3px; }
html.lb-open { overflow: hidden; }
.lb { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; gap: .5rem; padding: 1rem; background: rgba(2, 6, 23, .88); backdrop-filter: blur(4px); }
.lb[hidden] { display: none; }
.lb-fig { margin: 0; max-width: min(96vw, 1100px); max-height: 92vh; display: flex; flex-direction: column; align-items: center; }
.lb-fig img { max-width: 100%; max-height: 84vh; object-fit: contain; border-radius: 14px; box-shadow: 0 20px 60px rgba(0, 0, 0, .6); cursor: zoom-out; }
.lb-fig figcaption { color: #e2e8f0; font-size: .9rem; margin-top: .7rem; text-align: center; }
.lb-close, .lb-nav { border: 0; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; font-size: 1.4rem; width: 2.75rem; height: 2.75rem; cursor: pointer; flex: none; }
.lb-close:hover, .lb-nav:hover { background: rgba(255, 255, 255, .26); }
.lb-close { position: absolute; top: 1rem; left: 1rem; }
.lb.lb-single .lb-nav { display: none; }
@media (max-width: 600px) { .lb-nav { position: absolute; bottom: 1.2rem; } .lb-prev { right: 1.2rem; } .lb-next { left: 1.2rem; } }
@media print { .lb { display: none !important; } }
