/*
Theme Name:   Sanjgar
Theme URI:    https://sanjgar.ir
Description:  قالب فرزند GeneratePress برای سنجگر — فونت وزیرمتن میزبانی‌شده روی سرور خودی، تایپوگرافی راست‌چین و استایل‌های محتوای محاسباتی.
Author:       Sanjgar
Template:     generatepress
Version:      1.1.0
Text Domain:  sanjgar
License:      GNU General Public License v2 or later
*/

/* ============================================================
   ۱. فونت — میزبانی محلی، بدون هیچ درخواست به شخص ثالث
   ============================================================
   font-display: swap حیاتی است: بدون آن متن تا لود شدن فونت
   نامرئی می‌ماند و مستقیم به LCP ضربه می‌زند.

   unicode-range را عمداً نگذاشتیم چون وزیرمتن هم فارسی و هم
   لاتین را در یک فایل دارد و تفکیکش فقط پیچیدگی اضافه می‌کند.
*/

@font-face {
	font-family: 'Vazirmatn';
	src: url('fonts/Vazirmatn-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Vazirmatn';
	src: url('fonts/Vazirmatn-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Vazirmatn';
	src: url('fonts/Vazirmatn-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* ============================================================
   ۲. توکن‌های پایه — هم‌راستا با پلاگین ابزارها
   ============================================================ */

:root {
	--sg-ink:       #16222e;
	--sg-ink-soft:  #55636e;
	--sg-paper:     #ffffff;
	--sg-surface:   #f4f6f5;
	--sg-rule:      #dce2e0;
	--sg-rule-firm: #b9c3c0;
	--sg-accent:    #0e6e5a;
	--sg-accent-bg: #e4f0ec;
	--sg-gold:      #96721a;  /* هشدار، ارجاع قانونی، برچسب «به‌زودی/در حال بررسی» */
	--sg-neg:       #a03323;  /* کسورات، خطا */
	--sg-radius:    6px;

	--sg-measure:   42rem;   /* عرض خوانا — با max-width پلاگین یکسان */
}

/* ============================================================
   ۳. تایپوگرافی راست‌چین
   ============================================================ */

body,
button,
input,
select,
textarea {
	font-family: 'Vazirmatn', system-ui, -apple-system, sans-serif;
	font-variant-numeric: tabular-nums;
}

body {
	color: var(--sg-ink);
	line-height: 1.9;          /* فارسی به فاصلهٔ سطر بیشتری از لاتین نیاز دارد */
	letter-spacing: 0;         /* هرگز letter-spacing روی فارسی نگذار — اتصال حروف را می‌شکند */
}

.entry-content {
	font-size: 1.05rem;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
}

h1 { font-size: 1.95rem; margin-bottom: 1rem; }
h2 { font-size: 1.5rem;  margin-top: 2.5rem; margin-bottom: 0.8rem; }
h3 { font-size: 1.2rem;  margin-top: 1.8rem; margin-bottom: 0.6rem; }

/* در فارسی، ایتالیک عملاً وجود ندارد و بد رندر می‌شود */
em, i, cite, blockquote {
	font-style: normal;
}

em, i {
	font-weight: 500;
}

/* ============================================================
   ۴. عناصر محتوایی — مطابق اسکلت صفحات ابزار
   ============================================================ */

/* نقل‌قول مادهٔ قانون */
.entry-content blockquote {
	margin: 1.6rem 0;
	padding: 1.1rem 1.25rem;
	background: var(--sg-surface);
	border: 0;
	border-inline-start: 3px solid var(--sg-accent);
	border-radius: var(--sg-radius);
	font-size: 0.95rem;
	color: var(--sg-ink);
}

.entry-content blockquote p:last-child { margin-bottom: 0; }

/* بلوک فرمول */
.entry-content pre {
	padding: 1rem 1.15rem;
	background: var(--sg-ink);
	color: #e8eeec;
	border-radius: var(--sg-radius);
	font-size: 0.95rem;
	line-height: 2;
	overflow-x: auto;
	direction: ltr;      /* فرمول‌ها چپ‌چین می‌مانند */
	text-align: left;
}

.entry-content :not(pre) > code {
	padding: 0.1em 0.4em;
	background: var(--sg-accent-bg);
	color: var(--sg-accent);
	border-radius: 3px;
	font-size: 0.9em;
}

/* جدول مثال عددی */
.entry-content table {
	width: 100%;
	margin: 1.6rem 0;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.entry-content th,
.entry-content td {
	padding: 0.65rem 0.85rem;
	text-align: right;
	border-bottom: 1px solid var(--sg-rule);
}

.entry-content thead th {
	background: var(--sg-ink);
	color: #fff;
	font-weight: 700;
	border-bottom: 0;
}

.entry-content tbody tr:nth-child(even) {
	background: var(--sg-surface);
}

/* جدول در موبایل: اسکرول افقی به‌جای شکستن چیدمان */
.entry-content .wp-block-table,
.entry-content figure.wp-block-table {
	overflow-x: auto;
}

/* فهرست‌ها */
.entry-content ul,
.entry-content ol {
	padding-inline-start: 1.4rem;
}

.entry-content li { margin-bottom: 0.4rem; }

/* لینک‌های داخل متن */
.entry-content a {
	color: var(--sg-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* ============================================================
   ۵. چیدمان
   ============================================================ */

.site-content .content-area {
	max-width: 100%;
}

/* تمرکز روی محتوا — عرض خوانا، بدون سایدبار */
.entry-content > *:not(.rt-tool):not(.alignwide):not(.alignfull) {
	max-width: var(--sg-measure);
}

/* ============================================================
   ۶. دسترس‌پذیری
   ============================================================ */

a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--sg-accent);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* ============================================================
   ۷. موبایل
   ============================================================ */

@media (max-width: 480px) {
	.entry-content { font-size: 1rem; }
	h1 { font-size: 1.55rem; }
	h2 { font-size: 1.3rem; }
	h3 { font-size: 1.1rem; }

	.entry-content th,
	.entry-content td {
		padding: 0.5rem 0.6rem;
		font-size: 0.88rem;
	}
}

/* ============================================================
   ۸. فوتر
   ============================================================ */

.site-info {
	font-size: 0.85rem;
	line-height: 2;
}

.sg-footer-brand {
	font-weight: 700;
	margin: 0 0 0.3rem;
}

.sg-footer-links { margin: 0 0 0.5rem; }

.sg-footer-links a { margin-inline: 0.4rem; }

.sg-footer-note {
	margin: 0;
	opacity: 0.7;
	font-size: 0.8rem;
}

/* ============================================================
   ۹. صفحات محتوایی — منتقل‌شده از <style> درون‌خطی برگه‌های
   ۳، ۱۷، ۲۲، ۲۶، ۳۰، ۳۳، ۳۹، ۴۱، ۴۳ (فاز ۲، ۲۵ مرداد ۱۴۰۵)
   ------------------------------------------------------------
   هر برگه قبلاً یک <style> کامل با توکن‌های محلی همراه خودش
   پیست می‌شد (--h-ink، --m-ink، --s-ink، --c-ink، --a-ink، یا
   حتی بدون پیشوند). همه به همین --sg-* بالا اشاره می‌کنند —
   رنگ‌ها از اول یکی بودند، فقط اسم متغیر فرق داشت.
   ============================================================ */

/* ---------- ۹-۱. الگوی «قاب سند» — صفحات ۳، ۲۲، ۲۶ ---------- */

.sg-page {
	direction: rtl;
	text-align: right;
	font-family: 'Vazirmatn', sans-serif;
	color: var(--sg-ink);
	line-height: 1.9;
	letter-spacing: 0;
	max-width: 52rem;
	margin: 0 auto;
	padding: 2rem 1.25rem 3rem;
}

.sg-page *,
.sg-page *::before,
.sg-page *::after { box-sizing: border-box; }

.sg-page p { margin: 0 0 1rem; }

.sg-page a {
	color: var(--sg-accent);
	text-decoration: none;
	border-bottom: 1px solid var(--sg-accent-bg);
}

.sg-page a:hover { border-bottom-color: var(--sg-accent); }

.sg-page .sg-lede {
	color: var(--sg-ink-soft);
	font-size: 1.0625rem;
	margin: 0 0 2rem;
	max-width: 42rem;
}

.sg-page .sg-updated {
	display: inline-block;
	font-size: 0.8125rem;
	color: var(--sg-ink-soft);
	background: var(--sg-surface);
	border: 1px solid var(--sg-rule);
	border-radius: 4px;
	padding: 0.25rem 0.6rem;
	margin-bottom: 2rem;
}

/* قاب سند رسمی: گوشه‌های مربع، نوار لنگر عمودی */
.sg-doc-frame {
	position: relative;
	background: var(--sg-paper);
	border: 1px solid var(--sg-rule);
	border-radius: var(--sg-radius);
	padding: 1.75rem 1.75rem 1.75rem 1.5rem;
	margin-bottom: 1.5rem;
	scroll-margin-top: 1.5rem;
}

.sg-doc-frame::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 4px;
	background: var(--sg-accent);
	border-top-right-radius: var(--sg-radius);
	border-bottom-right-radius: var(--sg-radius);
}

.sg-doc-frame.sg-frame-warn::before { background: var(--sg-gold); }

/* برجسته‌سازی موقت وقتی از لینک لنگر وارد می‌شوند (مثلاً #salb-masooliat) */
.sg-doc-frame:target { border-color: var(--sg-gold); }

.sg-doc-frame h2,
.sg-doc-frame h3 {
	font-size: 1.0625rem;
	font-weight: 700;
	margin: 0 0 0.85rem;
}

.sg-doc-frame p { margin: 0 0 0.85rem; }
.sg-doc-frame p:last-child { margin-bottom: 0; }

.sg-note-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sg-note-list li {
	position: relative;
	padding-right: 1.25rem;
	margin-bottom: 0.6rem;
	color: var(--sg-ink);
}

.sg-note-list li::before {
	content: '—';
	position: absolute;
	right: 0;
	color: var(--sg-rule-firm);
}

.sg-note-list.sg-list-yes li::before { content: '✓'; color: var(--sg-accent); }
.sg-note-list.sg-list-no li::before  { content: '×'; color: var(--sg-neg); }

.sg-disclaimer {
	font-size: 0.875rem;
	color: var(--sg-ink-soft);
	border-top: 1px solid var(--sg-rule);
	padding-top: 1.25rem;
	margin-top: 2rem;
}

.sg-disclaimer a { color: var(--sg-accent); }

/* ---------- ۹-۲. اضافه‌های اختصاصی «قاب سند» ---------- */

/* تماس (۲۲): جدول ردیف‌دار اطلاعات تماس */
.sg-row-table {
	width: 100%;
	border-collapse: collapse;
	font-variant-numeric: tabular-nums;
}

.sg-row-table tr { border-bottom: 1px dashed var(--sg-rule-firm); }
.sg-row-table tr:last-child { border-bottom: none; }

.sg-row-table th,
.sg-row-table td {
	text-align: right;
	padding: 0.85rem 0;
	vertical-align: top;
	font-weight: 400;
}

.sg-row-table th {
	color: var(--sg-ink-soft);
	width: 9rem;
	white-space: nowrap;
	font-weight: 500;
}

.sg-row-table td a {
	color: var(--sg-accent);
	text-decoration: none;
	border-bottom: 1px solid var(--sg-accent-bg);
}

.sg-row-table td a:hover { border-bottom-color: var(--sg-accent); }

.sg-todo {
	display: inline-block;
	background: var(--sg-accent-bg);
	color: var(--sg-gold);
	font-size: 0.8125rem;
	font-weight: 500;
	padding: 0.15rem 0.55rem;
	border-radius: 4px;
	border: 1px dashed var(--sg-gold);
}

/* تماس (۲۲): بلوک سرنخ ERP */
.sg-lead-block {
	background: var(--sg-surface);
	border: 1px solid var(--sg-rule);
	border-radius: var(--sg-radius);
	padding: 1.5rem 1.75rem;
	margin-bottom: 2rem;
}

.sg-lead-block h2 { font-size: 1.0625rem; font-weight: 700; margin: 0 0 0.5rem; }
.sg-lead-block p  { color: var(--sg-ink-soft); margin: 0 0 1rem; max-width: 40rem; }

.sg-lead-block .sg-btn {
	display: inline-block;
	background: var(--sg-accent);
	color: var(--sg-paper);
	font-weight: 500;
	padding: 0.65rem 1.4rem;
	border-radius: var(--sg-radius);
	text-decoration: none;
}

/* شرایط استفاده (۲۶): مقایسهٔ دوستونه، نقل‌قول قانونی */
.sg-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

@media (max-width: 560px) {
	.sg-two-col { grid-template-columns: 1fr; }
}

.sg-col h3 {
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--sg-ink-soft);
	margin: 0 0 0.6rem;
}

.sg-legal-quote {
	background: var(--sg-surface);
	border-radius: var(--sg-radius);
	padding: 0.9rem 1.1rem;
	font-size: 0.9375rem;
	color: var(--sg-ink-soft);
	margin: 0.85rem 0;
	border-right: 3px solid var(--sg-gold);
}

/* حریم خصوصی (۳): ردیف وضعیت فعال/غیرفعال */
.sg-status-row {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	padding: 0.6rem 0;
	border-bottom: 1px dashed var(--sg-rule-firm);
}

.sg-status-row:last-child { border-bottom: none; }

.sg-status-tag {
	flex-shrink: 0;
	font-size: 0.75rem;
	font-weight: 500;
	padding: 0.15rem 0.55rem;
	border-radius: 4px;
	white-space: nowrap;
}

.sg-status-off { background: var(--sg-accent-bg); color: var(--sg-accent); }
.sg-status-note { color: var(--sg-ink-soft); font-size: 0.9375rem; }

/* ---------- ۹-۳. خرده‌نان صفحات محتوایی — هاب، روش محاسبه، منابع، تغییرات ---------- */

.sg-breadcrumb {
	font-size: 0.85rem;
	color: var(--sg-ink-soft);
	margin: 0 0 1rem;
}

.sg-breadcrumb a { color: var(--sg-ink-soft); text-decoration: underline; }
.sg-breadcrumb span { margin: 0 0.4rem; }

/* ---------- ۹-۴. الگوی «هاب» — صفحات ۳۰، ۳۳ ---------- */

.sg-hub {
	direction: rtl;
	text-align: right;
	font-family: Vazirmatn, "IRANSans", system-ui, sans-serif;
	color: var(--sg-ink);
	line-height: 1.9;
	font-variant-numeric: tabular-nums;
	max-width: 52rem;
	margin-inline: auto;
}

.sg-hub *,
.sg-hub *::before,
.sg-hub *::after { box-sizing: border-box; }

.sg-hub p { margin: 0 0 1rem; }
.sg-hub a { color: var(--sg-accent); }

.sg-hub .sg-hub-lede {
	color: var(--sg-ink-soft);
	font-size: 1.0625rem;
	max-width: 40rem;
	margin: 0 0 1.5rem;
}

.sg-hub-answer {
	padding: 1.1rem 1.3rem;
	margin: 0 0 1.5rem;
	background: var(--sg-surface);
	border-inline-start: 3px solid var(--sg-accent);
	border-radius: var(--sg-radius);
	font-size: 1.02rem;
	line-height: 1.85;
}

.sg-hub-answer p:last-child { margin-bottom: 0; }

.sg-hub-status {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	font-size: 0.875rem;
	color: var(--sg-ink-soft);
	padding: 0.85rem 1.1rem;
	background: var(--sg-paper);
	border: 1px dashed var(--sg-rule-firm);
	border-radius: var(--sg-radius);
	margin: 0 0 2rem;
}

.sg-hub-status strong { color: var(--sg-ink); font-variant-numeric: tabular-nums; }

.sg-hub-footnote {
	font-size: 0.875rem;
	color: var(--sg-ink-soft);
	border-top: 1px solid var(--sg-rule);
	padding-top: 1.25rem;
	margin-top: 1rem;
}

.sg-hub-footnote a { color: var(--sg-accent); }

/* هاب اصلی (۳۰): شبکهٔ کارت‌های دسته */
.sg-cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: 1rem;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.sg-cat {
	display: block;
	position: relative;
	padding: 1.35rem 1.4rem;
	background: var(--sg-paper);
	border: 1px solid var(--sg-rule-firm);
	border-top: 3px solid var(--sg-accent);
	border-radius: var(--sg-radius);
	text-decoration: none;
	color: inherit;
	height: 100%;
	transition: background-color 0.15s;
}

a.sg-cat:hover { background: var(--sg-surface); }

/* حالت غیرلینک — دسته‌ای که هنوز صفحهٔ هاب ندارد */
div.sg-cat.sg-cat--soon { cursor: default; border-top-color: var(--sg-rule-firm); }

/* حالت «در دست ساخت» — یک درجه متمایزتر از «به‌زودی» صرف */
div.sg-cat.sg-cat--progress { border-top-color: var(--sg-gold); border-top-style: solid; }

.sg-cat__tag {
	position: absolute;
	top: 0.9rem;
	left: 0.9rem;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	white-space: nowrap;
}

.sg-cat--soon .sg-cat__tag {
	color: var(--sg-ink-soft);
	background: var(--sg-surface);
	border: 1px dashed var(--sg-rule-firm);
}

.sg-cat--progress .sg-cat__tag {
	color: var(--sg-gold);
	background: var(--sg-accent-bg);
	border: 1px dashed var(--sg-gold);
}

.sg-cat__name {
	font-weight: 700;
	font-size: 1.08rem;
	margin: 0 0 0.35rem;
	padding-inline-end: 4.5rem; /* جا برای برچسب */
}

.sg-cat__tools {
	font-size: 0.83rem;
	color: var(--sg-accent);
	direction: rtl;
	display: block;
	margin-bottom: 0.55rem;
}

.sg-cat--soon .sg-cat__tools,
.sg-cat--progress .sg-cat__tools { color: var(--sg-ink-soft); }

.sg-cat__desc {
	font-size: 0.89rem;
	color: var(--sg-ink-soft);
	line-height: 1.75;
	margin: 0;
}

/* هاب دسته (۳۳): فهرست ردیفی ابزارها */
.sg-tool-list {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
	border: 1px solid var(--sg-rule-firm);
	border-radius: var(--sg-radius);
	overflow: hidden;
}

.sg-tool-list li + li { border-top: 1px solid var(--sg-rule); }

.sg-tool {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	text-decoration: none;
	color: inherit;
	background: var(--sg-paper);
	transition: background-color 0.15s;
}

a.sg-tool:hover { background: var(--sg-surface); }
.sg-tool--soon { cursor: default; }

.sg-tool__main { display: flex; flex-direction: column; gap: 0.2rem; }
.sg-tool__name { font-weight: 700; font-size: 1rem; color: var(--sg-ink); }
.sg-tool__desc { font-size: 0.85rem; color: var(--sg-ink-soft); }

.sg-tool__tag {
	flex-shrink: 0;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	white-space: nowrap;
	color: var(--sg-ink-soft);
	background: var(--sg-surface);
	border: 1px dashed var(--sg-rule-firm);
}

.sg-tool__arrow { flex-shrink: 0; color: var(--sg-accent); font-size: 1.1rem; }

@media (max-width: 480px) {
	.sg-tool { flex-wrap: wrap; }
}

/* ---------- ۹-۵. روش محاسبه (۳۹) ---------- */

.sg-method {
	direction: rtl;
	text-align: right;
	font-family: Vazirmatn, "IRANSans", system-ui, sans-serif;
	color: var(--sg-ink);
	line-height: 1.9;
	font-variant-numeric: tabular-nums;
	max-width: 52rem;
	margin-inline: auto;
}

.sg-method *,
.sg-method *::before,
.sg-method *::after { box-sizing: border-box; }

.sg-method p { margin: 0 0 1rem; }
.sg-method a { color: var(--sg-accent); }

.sg-method h2 {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 2.25rem 0 0.9rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--sg-rule);
}

.sg-method-lede {
	color: var(--sg-ink-soft);
	font-size: 1.0625rem;
	max-width: 40rem;
	margin: 0 0 1.5rem;
}

.sg-method-answer {
	padding: 1.1rem 1.3rem;
	margin: 0 0 1.5rem;
	background: var(--sg-surface);
	border-inline-start: 3px solid var(--sg-accent);
	border-radius: var(--sg-radius);
	font-size: 1.02rem;
	line-height: 1.85;
}

.sg-method-answer p:last-child { margin-bottom: 0; }

/* پروتکل شماره‌دار */
.sg-protocol {
	list-style: none;
	counter-reset: mproto;
	margin: 0;
	padding: 0;
}

.sg-protocol > li {
	counter-increment: mproto;
	padding: 1.4rem 0;
	border-bottom: 1px solid var(--sg-rule);
}

.sg-protocol > li:last-child { border-bottom: 0; }

.sg-protocol__head {
	display: flex;
	align-items: baseline;
	gap: 0.85rem;
	margin-bottom: 0.5rem;
}

.sg-protocol__head::before {
	content: counter(mproto, decimal);
	flex-shrink: 0;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--sg-accent);
	opacity: 0.45;
}

.sg-protocol__title { font-weight: 700; font-size: 1.05rem; }

.sg-protocol__example {
	margin-inline-start: 2.3rem;
	margin-top: 0.6rem;
	padding: 0.85rem 1rem;
	background: var(--sg-surface);
	border-radius: var(--sg-radius);
	font-size: 0.9rem;
	color: var(--sg-ink-soft);
}

.sg-protocol__example strong { color: var(--sg-ink); }
.sg-protocol__example a { font-weight: 500; }

/* جدول وضعیت ابزارهای نمونه */
.sg-sample-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.25rem 0 2rem;
	font-size: 0.94rem;
}

.sg-sample-table th,
.sg-sample-table td {
	padding: 0.75rem 0.9rem;
	text-align: right;
	border-bottom: 1px solid var(--sg-rule);
	vertical-align: middle;
}

.sg-sample-table thead th {
	color: var(--sg-ink-soft);
	font-weight: 500;
	font-size: 0.85rem;
	border-bottom: 1px solid var(--sg-rule-firm);
}

.sg-sample-table-wrap {
	border: 1px solid var(--sg-rule-firm);
	border-radius: var(--sg-radius);
	overflow: hidden;
	overflow-x: auto;
}

.sg-status-pill {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
}

.sg-status-live { color: var(--sg-accent); background: var(--sg-accent-bg); }
.sg-status-pending {
	color: var(--sg-gold);
	background: var(--sg-accent-bg);
	border: 1px dashed var(--sg-gold);
}

.sg-method-footnote {
	font-size: 0.875rem;
	color: var(--sg-ink-soft);
	border-top: 1px solid var(--sg-rule);
	padding-top: 1.25rem;
	margin-top: 1rem;
}

.sg-method-footnote a { color: var(--sg-accent); }

/* ---------- ۹-۶. منابع قانونی (۴۱) ---------- */

.sg-sources {
	direction: rtl;
	text-align: right;
	font-family: Vazirmatn, "IRANSans", system-ui, sans-serif;
	color: var(--sg-ink);
	line-height: 1.9;
	font-variant-numeric: tabular-nums;
	max-width: 52rem;
	margin-inline: auto;
}

.sg-sources *,
.sg-sources *::before,
.sg-sources *::after { box-sizing: border-box; }

.sg-sources p { margin: 0 0 1rem; }
.sg-sources a { color: var(--sg-accent); }

.sg-sources h2 {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 2.25rem 0 0.5rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--sg-rule);
}

.sg-sources-lede {
	color: var(--sg-ink-soft);
	font-size: 1.0625rem;
	max-width: 40rem;
	margin: 0 0 1.5rem;
}

.sg-sources-answer {
	padding: 1.1rem 1.3rem;
	margin: 0 0 1.5rem;
	background: var(--sg-surface);
	border-inline-start: 3px solid var(--sg-accent);
	border-radius: var(--sg-radius);
	font-size: 1.02rem;
	line-height: 1.85;
}

.sg-sources-answer p:last-child { margin-bottom: 0; }

.sg-section-note {
	font-size: 0.9rem;
	color: var(--sg-ink-soft);
	margin: -0.4rem 0 1rem;
}

.sg-src-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.sg-src-table th,
.sg-src-table td {
	padding: 0.75rem 0.85rem;
	text-align: right;
	border-bottom: 1px solid var(--sg-rule);
	vertical-align: top;
}

.sg-src-table thead th {
	color: var(--sg-ink-soft);
	font-weight: 500;
	font-size: 0.82rem;
	border-bottom: 1px solid var(--sg-rule-firm);
	white-space: nowrap;
}

.sg-src-table-wrap {
	border: 1px solid var(--sg-rule-firm);
	border-radius: var(--sg-radius);
	overflow-x: auto;
	margin-bottom: 0.5rem;
}

.sg-article-ref { font-variant-numeric: tabular-nums; white-space: nowrap; }

.sg-verify-flag {
	display: inline-block;
	margin-inline-start: 0.3rem;
	color: var(--sg-gold);
	font-weight: 700;
	cursor: help;
}

.sg-todo-cell { color: var(--sg-gold); font-size: 0.85rem; font-weight: 500; }

.sg-legend { font-size: 0.82rem; color: var(--sg-ink-soft); margin: 0.6rem 0 0; }

.sg-src-status {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	font-size: 0.875rem;
	color: var(--sg-ink-soft);
	padding: 0.85rem 1.1rem;
	background: var(--sg-paper);
	border: 1px dashed var(--sg-rule-firm);
	border-radius: var(--sg-radius);
	margin: 0 0 1rem;
}

.sg-src-status strong { color: var(--sg-ink); }

.sg-sources-footnote {
	font-size: 0.875rem;
	color: var(--sg-ink-soft);
	border-top: 1px solid var(--sg-rule);
	padding-top: 1.25rem;
	margin-top: 2rem;
}

.sg-sources-footnote a { color: var(--sg-accent); }

/* ---------- ۹-۷. تغییرات (۴۳) ---------- */

.sg-changelog {
	direction: rtl;
	text-align: right;
	font-family: Vazirmatn, "IRANSans", system-ui, sans-serif;
	color: var(--sg-ink);
	line-height: 1.9;
	font-variant-numeric: tabular-nums;
	max-width: 52rem;
	margin-inline: auto;
}

.sg-changelog *,
.sg-changelog *::before,
.sg-changelog *::after { box-sizing: border-box; }

.sg-changelog p { margin: 0 0 1rem; }
.sg-changelog a { color: var(--sg-accent); }

.sg-changelog-lede {
	color: var(--sg-ink-soft);
	font-size: 1.0625rem;
	max-width: 40rem;
	margin: 0 0 2rem;
}

.sg-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	border-inline-start: 2px solid var(--sg-rule);
}

.sg-timeline li {
	position: relative;
	padding: 0 0 2rem 0;
	padding-inline-start: 1.75rem;
	margin-inline-start: -2px;
}

.sg-timeline li::before {
	content: '';
	position: absolute;
	inset-inline-start: -7px;
	top: 0.35rem;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--sg-accent);
	border: 2px solid var(--sg-paper);
}

.sg-timeline li.sg-entry--pending::before {
	background: var(--sg-paper);
	border: 2px solid var(--sg-gold);
}

.sg-entry__date {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--sg-ink-soft);
	margin-bottom: 0.35rem;
}

.sg-entry__date--todo {
	color: var(--sg-gold);
	background: var(--sg-accent-bg);
	display: inline-block;
	padding: 0.1rem 0.55rem;
	border-radius: 4px;
	border: 1px dashed var(--sg-gold);
}

.sg-entry__tag {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	margin-inline-start: 0.5rem;
	color: var(--sg-accent);
	background: var(--sg-accent-bg);
	vertical-align: middle;
}

.sg-entry__title { font-size: 1.05rem; font-weight: 700; margin: 0 0 0.4rem; }
.sg-entry__desc { font-size: 0.94rem; color: var(--sg-ink-soft); margin: 0; }
.sg-entry__desc a { font-weight: 500; }

.sg-changelog-footnote {
	font-size: 0.875rem;
	color: var(--sg-ink-soft);
	border-top: 1px solid var(--sg-rule);
	padding-top: 1.25rem;
	margin-top: 1rem;
}

.sg-changelog-footnote a { color: var(--sg-accent); }

/* ---------- ۹-۸. دربارهٔ سنجگر (۱۷) ---------- */

.sg-about {
	direction: rtl;
	text-align: right;
	font-family: Vazirmatn, "IRANSans", system-ui, sans-serif;
	color: var(--sg-ink);
	line-height: 1.9;
	font-variant-numeric: tabular-nums;
	max-width: 52rem;
	margin-inline: auto;
}

.sg-about *,
.sg-about *::before,
.sg-about *::after { box-sizing: border-box; }

.sg-about p { margin: 0 0 1rem; }
.sg-about a { color: var(--sg-accent); }

.sg-about h2 {
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 2.75rem 0 0.9rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--sg-rule);
}

.sg-about h3 { font-size: 1.1rem; font-weight: 700; margin: 1.6rem 0 0.5rem; }

/* کارت شناسنامه */
.sg-dossier {
	display: grid;
	grid-template-columns: 132px 1fr;
	gap: 1.5rem;
	align-items: start;
	padding: 1.75rem;
	background: var(--sg-paper);
	border: 1px solid var(--sg-rule-firm);
	border-radius: var(--sg-radius);
	position: relative;
	overflow: hidden;
}

.sg-dossier::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	width: 4px;
	background: var(--sg-accent);
}

.sg-portrait {
	width: 132px;
	height: 132px;
	object-fit: cover;
	border-radius: var(--sg-radius);
	border: 1px solid var(--sg-rule-firm);
	background: var(--sg-surface);
	display: block;
}

.sg-dossier__name { font-size: 1.6rem; font-weight: 700; line-height: 1.4; margin: 0 0 0.15rem; }
.sg-dossier__role { color: var(--sg-accent); font-weight: 700; font-size: 1rem; margin: 0 0 0.5rem; }
.sg-dossier__meta { font-size: 0.87rem; color: var(--sg-ink-soft); margin: 0 0 1rem; }

.sg-dossier__meta span + span::before {
	content: "·";
	margin-inline: 0.5rem;
	opacity: 0.5;
}

.sg-verify {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sg-verify a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.32rem 0.75rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--sg-accent);
	background: var(--sg-accent-bg);
	border: 1px solid transparent;
	border-radius: 999px;
	text-decoration: none;
	transition: border-color 0.15s;
}

.sg-verify a:hover { border-color: var(--sg-accent); }
.sg-verify svg { width: 13px; height: 13px; flex-shrink: 0; fill: currentColor; }

/* پاسخ کوتاه — هدف رتبهٔ صفر */
.sg-answer {
	padding: 1.1rem 1.3rem;
	margin: 0 0 1.25rem;
	background: var(--sg-surface);
	border-inline-start: 3px solid var(--sg-accent);
	border-radius: var(--sg-radius);
	font-size: 1.02rem;
	line-height: 1.85;
}

.sg-answer p:last-child { margin-bottom: 0; }

/* جدول اطلاعات */
.sg-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.25rem 0;
	font-size: 0.94rem;
}

.sg-table th,
.sg-table td {
	padding: 0.7rem 0.9rem;
	text-align: right;
	border-bottom: 1px solid var(--sg-rule);
	vertical-align: top;
}

.sg-table th {
	width: 34%;
	font-weight: 700;
	color: var(--sg-ink-soft);
	background: var(--sg-surface);
	white-space: nowrap;
}

.sg-table tr:last-child th,
.sg-table tr:last-child td { border-bottom: 0; }

.sg-table-wrap {
	border: 1px solid var(--sg-rule-firm);
	border-radius: var(--sg-radius);
	overflow: hidden;
}

/* پروتکل روش کار — نسخهٔ about، بدون دوستونی‌شدن شمارهٔ سمت‌چپ */
.sg-about .sg-protocol {
	list-style: none;
	counter-reset: proto;
	margin: 1.25rem 0;
	padding: 0;
}

.sg-about .sg-protocol > li {
	counter-increment: proto;
	display: grid;
	grid-template-columns: 2.6rem 1fr;
	gap: 1rem;
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--sg-rule);
}

.sg-about .sg-protocol > li:last-child { border-bottom: 0; }

.sg-about .sg-protocol > li::before {
	content: counter(proto, decimal);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--sg-accent);
	opacity: 0.45;
	text-align: center;
}

.sg-about .sg-protocol__title { font-weight: 700; margin: 0 0 0.25rem; }
.sg-about .sg-protocol p:last-child { margin-bottom: 0; }

/* فهرست محدودیت‌ها */
.sg-limits {
	list-style: none;
	margin: 1.25rem 0;
	padding: 0;
}

.sg-limits li {
	position: relative;
	padding: 0.5rem 1.6rem 0.5rem 0;
	border-bottom: 1px dashed var(--sg-rule);
}

.sg-limits li:last-child { border-bottom: 0; }

.sg-limits li::before {
	content: "—";
	position: absolute;
	inset-inline-start: auto;
	inset-inline-end: 0;
	color: var(--sg-gold);
	font-weight: 700;
}

.sg-limits strong { color: var(--sg-ink); }

/* شبکهٔ پروژه‌ها / کارت‌های دسته */
.sg-ventures {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 0.9rem;
	margin: 1.25rem 0;
	list-style: none;
	padding: 0;
}

.sg-venture {
	display: block;
	padding: 1.1rem 1.2rem;
	background: var(--sg-paper);
	border: 1px solid var(--sg-rule-firm);
	border-top: 3px solid var(--sg-accent);
	border-radius: var(--sg-radius);
	text-decoration: none;
	color: inherit;
	transition: background-color 0.15s;
	height: 100%;
}

.sg-venture:hover { background: var(--sg-surface); }

/* کارت‌های «به‌زودی» — دسته‌ای که هنوز صفحهٔ هاب ندارد.
   عمداً <div> نه <a>، چون مقصدی برای لینک دادن وجود ندارد. */
.sg-venture--soon { position: relative; border-top-color: var(--sg-rule-firm); cursor: default; }
.sg-venture--soon:hover { background: var(--sg-paper); }

.sg-venture__soon-tag {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--sg-gold);
	background: var(--sg-accent-bg);
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	border: 1px dashed var(--sg-gold);
}

.sg-venture__name { font-weight: 700; font-size: 1.02rem; margin: 0 0 0.15rem; color: var(--sg-ink); }

.sg-venture__url {
	font-size: 0.8rem;
	color: var(--sg-accent);
	direction: ltr;
	display: block;
	text-align: right;
	margin-bottom: 0.45rem;
}

.sg-venture--soon .sg-venture__url { color: var(--sg-ink-soft); }

.sg-venture__desc { font-size: 0.87rem; color: var(--sg-ink-soft); line-height: 1.75; margin: 0; }

/* جعبهٔ فراخوان */
.sg-callout {
	padding: 1.4rem 1.5rem;
	margin: 2rem 0;
	background: var(--sg-accent-bg);
	border-radius: var(--sg-radius);
}

.sg-callout h3 { margin-top: 0; }
.sg-callout p:last-child { margin-bottom: 0; }

.sg-about a.sg-cta {
	display: inline-block;
	margin-top: 0.6rem;
	padding: 0.65rem 1.4rem;
	font-weight: 700;
	font-size: 0.92rem;
	color: #fff;
	background: var(--sg-accent);
	border-radius: var(--sg-radius);
	text-decoration: none;
}

.sg-about a.sg-cta:hover { background: #0b5a49; color: #fff; }

/* sg-sr-only — همان الگوی rt-sr-only پلاگین، برای caption مخفی جدول شناسنامه */
.sg-about .sg-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* موبایل — این کلاس‌ها مقیاس تایپوگرافی جدا از h1/h2 سراسری قالب دارند،
   پس به بازنویسی موبایل جدا هم نیاز دارند */
@media (max-width: 560px) {
	.sg-dossier {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
		padding: 1.5rem 1.15rem;
	}
	.sg-dossier__meta { text-align: center; }
	.sg-verify { justify-content: center; }
	.sg-dossier__name { font-size: 1.35rem; }

	.sg-table th,
	.sg-table td { display: block; width: 100%; }
	.sg-table th { border-bottom: 0; padding-bottom: 0.2rem; }

	.sg-about .sg-protocol > li { grid-template-columns: 2rem 1fr; gap: 0.7rem; }
	.sg-about h2 { font-size: 1.25rem; }
}

/* ---------- ۹-۹. مقالات (/maghalat/) — نسخهٔ مرجع: page-khadamat نبود،
   maghale-tafavot-sanavat-va-eydi است. داخل .sg-page استفاده می‌شود. ---------- */

/* بلوک فرمول — همتای rt-formula پلاگین، ولی rtl واقعی چون این صفحه
   بدون شورت‌کد است و tools.css اصلاً بارگذاری نمی‌شود */
.sg-formula {
	margin: 1.25rem 0;
	padding: 1rem 1.15rem;
	background: var(--sg-ink);
	color: #e8eeec;
	border-radius: var(--sg-radius);
	font-size: 0.95rem;
	line-height: 2.1;
	direction: rtl;
	text-align: right;
	overflow-x: auto;
	white-space: pre-wrap;
}

/* سؤالات متداول — همتای rt-faq پلاگین */
.sg-faq { margin: 1.25rem 0; }

.sg-faq__item {
	border-top: 1px solid var(--sg-rule);
}

.sg-faq__item:last-child { border-bottom: 1px solid var(--sg-rule); }

.sg-faq__item summary {
	padding: 0.85rem 0;
	cursor: pointer;
	font-weight: 700;
	font-size: 0.98rem;
	list-style: none;
}

.sg-faq__item summary::-webkit-details-marker { display: none; }

.sg-faq__item summary::after {
	content: "+";
	float: left;
	font-weight: 400;
	color: var(--sg-accent);
}

.sg-faq__item[open] summary::after { content: "−"; }

.sg-faq__item p {
	max-width: 42rem;
	padding: 0 0 1rem;
	color: var(--sg-ink-soft);
}

/* بلوک «محاسبه کن» — دو دکمهٔ کنار هم، همان sg-lead-block/sg-btn تماس */
.sg-lead-block .sg-btn + .sg-btn { margin-inline-start: 0.75rem; }

/* اختصاصیت با .sg-lead-block .sg-btn (پایهٔ سبز پر) برابر نگه داشته شده
   — یک کلاس تنها (.sg-btn--ghost) اینجا می‌بازد، چون آن قاعده دو
   کلاس دارد */
.sg-lead-block .sg-btn--ghost {
	background: transparent;
	color: var(--sg-accent);
	border: 1px solid var(--sg-accent);
}

@media (max-width: 480px) {
	.sg-lead-block .sg-btn {
		display: block;
		text-align: center;
		margin-bottom: 0.6rem;
	}
	.sg-lead-block .sg-btn + .sg-btn { margin-inline-start: 0; }
}
