/* ============================================================================
   قوانین — از «قوانین.dc.html»؛ مقدارها از توکن‌ها.
   ============================================================================ */


.sy-terms-page { background: var(--sy-white); }

/* ---------------------------------------------------------------- ظرف مشترک */
.sy-arch-in { max-width: 1180px; margin: 0 auto; padding: clamp(32px, 4.5vw, 54px) clamp(16px, 4vw, 40px); }

/* ------------------------------------------------------------------- هیرو */
.sy-arch-hero { background: linear-gradient(180deg, var(--sy-surface), var(--sy-hairline)); }
.sy-arch-hero .sy-arch-in { padding-block: clamp(28px, 4vw, 50px); }
.sy-arch-eyebrow { display: inline-block; font-size: 15px; font-weight: 700; color: var(--sy-primary); }
.sy-arch-title { margin: 10px 0 14px; font-size: clamp(27px, 4vw, 40px); line-height: 1.3; font-weight: 800; color: var(--sy-ink); }
.sy-arch-lead { margin: 0; max-width: 64ch; font-size: clamp(17px, 2vw, 19px); line-height: 1.9; color: var(--sy-body); }
.sy-arch-lead a { color: var(--sy-primary); font-weight: 700; }

/* --------------------------------------------------------------- بدنه */
.sy-terms-grid { display: grid; grid-template-columns: 250px 1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.sy-terms-nav { position: sticky; top: calc(var(--sy-header-h) + 16px); border: 1px solid var(--sy-border); border-radius: 18px; padding: 20px; background: var(--sy-surface); }
.sy-terms-nav h2 { margin: 0 0 12px; font-size: 16px; font-weight: 800; color: var(--sy-ink); }
.sy-terms-nav nav { display: flex; flex-direction: column; gap: 4px; }
.sy-terms-nav a { padding: 8px 10px; border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--sy-body); }
.sy-terms-nav a:hover { background: var(--sy-surface-tint); color: var(--sy-primary); }
.sy-terms-prose > p { margin: 0 0 18px; font-size: 17px; line-height: 2; color: var(--sy-body); }
.sy-terms-prose h2 { margin: 34px 0 14px; font-size: clamp(20px, 2.4vw, 24px); font-weight: 800; color: var(--sy-ink); scroll-margin-top: calc(var(--sy-header-h) + 20px); }
.sy-terms-prose h2:first-child { margin-top: 0; }
.sy-terms-prose blockquote { margin: 0 0 18px; background: var(--sy-surface-tint); border: 1.5px solid var(--sy-tint); border-radius: 16px; padding: 18px 20px; }
.sy-terms-prose blockquote p { margin: 0; font-size: 16.5px; line-height: 2; color: var(--sy-ink-2); }
.sy-terms-prose a { color: var(--sy-primary); font-weight: 700; }

@media (max-width: 860px) {
	.sy-terms-grid { grid-template-columns: 1fr; }
	.sy-terms-nav { position: static; }
}
