@charset "UTF-8";
/* ═══════════════════════════════════════════════════════════════════════════
 * RSG — ری‌دیزاین صفحه اول راکستارگیم  ·  تم «شب نئون»
 * فقط روی صفحه اول لود می‌شود (شرط is_front_page در rsg-shortcodes.php)
 *
 * فهرست:
 *   ۰۰  توکن‌ها و پالت
 *   ۰۱  پایه‌ی صفحه و ساختار ردیف‌ها
 *   ۰۲  المان‌های مشترک (تیتر، دکمه، چیپ، گلو، ریویل)
 *   ۰۳  هیرو «روبش سیگنال»
 *   ۰۴  نوار اعتماد
 *   ۰۵  کاروسل محصولات (بازطراحی کارت ووکامرس/وودمارت)
 *   ۰۶  سکشن بکاپ‌منیجر
 *   ۰۷  سکشن منیوفا
 *   ۰۸  سه دسته شاخص
 *   ۰۹  گرید آخرین مادها
 *   ۱۰  پرطرفدارترین و پیشنیازها
 *   ۱۱  نوار گیمرکلاب
 *   ۱۲  رسپانسیو
 *   ۱۳  کاهش حرکت / چاپ
 * ═══════════════════════════════════════════════════════════════════════════ */


/* ═══ ۰۰ — توکن‌ها ════════════════════════════════════════════════════════ */

.rsg-page .rsg-hero__count,
.rsg-page .rsg-band__count b,
.rsg-page .rsg-top__n,
.rsg-page .rsg-pre__step,
.rsg-page .rsg-cta__amount {
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
}

.rsg-page {
	--rsg-void:       #0A0B12;
	--rsg-surface:    #0F111A;
	--rsg-raised:     #171A26;
	--rsg-line:       rgba(255, 255, 255, .08);
	--rsg-line-2:     rgba(255, 255, 255, .14);

	--rsg-violet:     #7C3AED;
	--rsg-violet-hi:  #A78BFA;
	--rsg-violet-lo:  #4C1D95;
	--rsg-cyan:       #22D3EE;
	--rsg-cyan-lo:    #0E7490;
	--rsg-orange:     #FF7A18;
	--rsg-orange-hi:  #FFA24D;
	--rsg-rose:       #F43F5E;

	--rsg-fg:         #EDEDF5;
	--rsg-fg-dim:     #9CA0B5;
	--rsg-fg-mute:    #656A80;

	--rsg-container:  1357px;
	--rsg-pad:        clamp(16px, 4vw, 32px);
	--rsg-gap:        clamp(20px, 2.4vw, 32px);
	--rsg-r:          16px;
	--rsg-r-lg:       24px;
	--rsg-r-card:     18px;

	--rsg-ease:       cubic-bezier(.16, 1, .3, 1);
	--rsg-ease-io:    cubic-bezier(.65, 0, .35, 1);

	--rsg-shadow:     0 18px 50px -22px rgba(0, 0, 0, .9);
	--rsg-glow-v:     0 0 0 1px rgba(124, 58, 237, .35), 0 22px 60px -26px rgba(124, 58, 237, .75);

	/* پترن آیکونی خودِ سایت، بدون هیچ تغییری در فایل اصلی.
	   ⚠ آدرس باید مطلق باشد: WP Rocket این فایل CSS را از
	   /wp-content/cache/min/1/... سرو می‌کند و آدرس نسبی ۴۰۴ می‌شود. */
	--rsg-pattern:    url("https://rockstargame.ir/wp-content/uploads/2020/05/Mods-LOGO-Back10.png");
	--rsg-pattern-sz: 346px 206px;
}


/* متغیرهای خودِ وودمارت را فقط داخل سکشن‌های ما بازتعریف می‌کنیم تا هر المان
   قالبی که این وسط استفاده می‌شود (کاروسل، دکمه، بج) با پالت جدید هماهنگ باشد.
   هدر و فوتر و بقیه‌ی سایت دست‌نخورده می‌مانند. */
.rsg {
	--wd-primary-color: #7C3AED;
	--wd-alternative-color: #F43F5E;
	--wd-link-color: #22D3EE;
	--wd-link-color-hover: #A78BFA;
	--wd-text-color: var(--rsg-fg-dim);
	--wd-title-color: var(--rsg-fg);
	--wd-entities-title-color: var(--rsg-fg);
	--wd-entities-title-color-hover: var(--rsg-cyan);
	--color-gray-800: var(--rsg-fg);
	--color-gray-900: var(--rsg-fg);
	--brdcolor-gray-300: rgba(255, 255, 255, .12);
}


/* ═══ ۰۱ — پایه‌ی صفحه ════════════════════════════════════════════════════ */

/* پایه‌ی صفحه هرگز مشکیِ تخت نیست: دو هاله‌ی ثابت که با اسکرول حرکت نمی‌کنند
   و به کل صفحه عمق می‌دهند. */
body.rsg-page {
	/* قالب ‎[class*=color-scheme-light]{--wd-main-bgcolor:#1a1a1a}‎ را با اختصاصیت
	   برابر و بعد از ما لود می‌کند، پس خودِ متغیر را هم بازتعریف می‌کنیم. */
	--wd-main-bgcolor: var(--rsg-void);
	background-color: var(--rsg-void);
	background-image:
		radial-gradient(120% 55% at 50% 0%, rgba(124, 58, 237, .2), transparent 60%),
		radial-gradient(80% 45% at 100% 32%, rgba(34, 211, 238, .085), transparent 58%),
		radial-gradient(80% 50% at 0% 68%, rgba(124, 58, 237, .1), transparent 58%),
		linear-gradient(180deg, #10111C 0%, #0A0B12 42%, #0C0D16 100%);
	background-attachment: fixed;
	background-repeat: no-repeat;
	color: var(--rsg-fg);
}

/* لایه‌ی نویز روی کل صفحه — جو سینمایی بدون فایل تصویری */
body.rsg-page::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: .035;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* وودمارت محتوا را در main.container با پدینگ و عرض محدود می‌پیچد.
   این ریست همان فاصله‌ی خالی بالای هیرو را حذف و ردیف‌ها را تمام‌عرض می‌کند. */
.rsg-page .wd-page-content,
.rsg-page .main-page-wrapper,
.rsg-page .site-content,
.rsg-page .wd-content-area,
.rsg-page main#main-content,
.rsg-page .entry-content,
.rsg-page .wpb-content-wrapper {
	background: transparent;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.rsg-page main#main-content.container,
.rsg-page main#main-content {
	max-width: none;
	width: 100%;
	padding-inline: 0 !important;
}

.rsg-page .wd-content-layout > .wd-content-area {
	width: 100%;
	max-width: none;
	flex: 1 1 100%;
}

/* ردیف‌های ما: حذف فاصله‌های پیش‌فرض VC و کنترل کامل از CSS */
.rsg.vc_row {
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	z-index: 1;
}

/* ⚠ نکته‌ی حیاتی لایه‌بندی:
   ‎.rsg-hero‎ با ‎isolation:isolate‎ یک stacking context می‌سازد، پس z-index
   نوار اعتمادِ داخلش هرچقدر هم بزرگ باشد از سقفِ z-index ردیفِ هیرو بالاتر
   نمی‌رود. چون نوار از لبه‌ی پایینی هیرو بیرون می‌زند، خودِ ردیف هیرو باید
   بالاتر از ردیف‌های بعدی (که z-index:1 دارند) بایستد. */
.rsg-hero-row {
	z-index: 10 !important;
	overflow: visible !important;
}

/* زنجیره‌ی والدها نباید نوارِ بیرون‌زده را ببرد */
.rsg-hero-row > .wpb_column,
.rsg-hero-row > .wpb_column > .vc_column-inner,
.rsg-hero-row > .wpb_column > .vc_column-inner > .wpb_wrapper {
	overflow: visible !important;
}

.rsg > .wpb_column,
.rsg > .wpb_column > .vc_column-inner {
	padding: 0 !important;
	margin: 0 !important;
}

/* کانتینر داخلی برای ردیف‌های عادی */
.rsg > .wpb_column > .vc_column-inner > .wpb_wrapper {
	max-width: var(--rsg-container);
	margin-inline: auto;
	padding-inline: var(--rsg-pad);
}

/* ردیف‌های تمام‌عرض: کانتینر را خودِ سکشن مدیریت می‌کند */
.rsg-bleed > .wpb_column > .vc_column-inner > .wpb_wrapper {
	max-width: none;
	padding-inline: 0;
}

/* ریتم عمودی بین سکشن‌ها (سلکتور دوم و سوم برای فایل پیش‌نمایش محلی است) */
.rsg-section > .wpb_column > .vc_column-inner > .wpb_wrapper,
.rsg-section > .rsg-wrap,
.rsg-section > section {
	position: relative;
	z-index: 1;
	padding-block: clamp(56px, 8vw, 110px);
}

/* خط جداکننده‌ی مویی بالای هر سکشن — دو سرش محو می‌شود */
.rsg-section > .wpb_column > .vc_column-inner > .wpb_wrapper::before,
.rsg-section > .rsg-wrap::before,
.rsg-section > section::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	block-size: 1px;
	background: linear-gradient(90deg, transparent, var(--rsg-line-2) 20%, var(--rsg-line-2) 80%, transparent);
	pointer-events: none;
}

.rsg-no-divider > .wpb_column > .vc_column-inner > .wpb_wrapper::before,
.rsg-no-divider > .rsg-wrap::before,
.rsg-no-divider > section::before {
	display: none;
}

.rsg-wrap {
	max-width: var(--rsg-container);
	margin-inline: auto;
	padding-inline: var(--rsg-pad);
}

/* سکشن محصولات باید نیمه‌ی پایینیِ نوار اعتماد را در خودش جا بدهد،
   پس فاصله‌ی بالایش از نصف ارتفاع نوار بیشتر است. */
.rsg-products > .wpb_column > .vc_column-inner > .wpb_wrapper,
.rsg-products > .rsg-wrap {
	padding-block-start: clamp(78px, 7vw, 104px);
}

.rsg-products > .wpb_column > .vc_column-inner > .wpb_wrapper::before,
.rsg-products > .rsg-wrap::before {
	display: none;
}


/* ─────────────────────────────────────────────────────────────────────────
 * سیستم اتمسفر — هر سکشن هاله و بافت مخصوص خودش را دارد تا صفحه یکنواخت
 * و «مشکیِ تخت» نباشد. ::before هاله‌ی رنگی است، ::after بافت (گرید/نقطه/خط).
 * ───────────────────────────────────────────────────────────────────────── */

.rsg-section::before,
.rsg-section::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

/* ── محصولات گلچین: هاله‌ی بنفش از بالا-راست + پرتوهای نور مورب ── */
.rsg-products::before {
	background:
		radial-gradient(58% 68% at 88% 0%, rgba(124, 58, 237, .26), transparent 62%),
		radial-gradient(64% 62% at 50% 108%, rgba(34, 211, 238, .14), transparent 64%);
}

.rsg-products::after {
	opacity: .8;
	background:
		repeating-linear-gradient(112deg,
			transparent 0 118px,
			rgba(167, 139, 250, .05) 118px 119px,
			transparent 119px 236px,
			rgba(34, 211, 238, .035) 236px 237px);
	mask-image: linear-gradient(to bottom, transparent, #000 26%, #000 74%, transparent);
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 26%, #000 74%, transparent);
}

/* ── بکاپ‌منیجر: شبکه‌ی نقطه‌ای مثل بورد مدار ── */
.rsg-backup-row::before {
	background:
		radial-gradient(52% 60% at 14% 8%, rgba(124, 58, 237, .24), transparent 62%),
		radial-gradient(46% 56% at 96% 92%, rgba(34, 211, 238, .13), transparent 62%);
}

.rsg-backup-row::after {
	opacity: .06;
	background-image: radial-gradient(rgba(255, 255, 255, .9) 1px, transparent 1px);
	background-size: 32px 32px;
	mask-image: radial-gradient(74% 84% at 30% 50%, #000, transparent 78%);
	-webkit-mask-image: radial-gradient(74% 84% at 30% 50%, #000, transparent 78%);
}

/* ── آخرین مادها: نورپردازی + پترن آیکونی سایت به‌عنوان بافت اصلی ──
   نکته‌ی فنی: پترن به‌عنوان ماسک روی یک گرادیان رنگی می‌نشیند، پس آیکون‌ها
   بنفش/سایان می‌شوند نه سفیدِ کدر. محوشدگی لبه‌ها هم از خودِ گرادیان می‌آید،
   یعنی به mask-composite نیازی نیست و روی همه‌ی مرورگرها یکسان کار می‌کند. */
.rsg-latest-row::before {
	background:
		radial-gradient(46% 52% at 3% 2%, rgba(34, 211, 238, .2), transparent 62%),
		radial-gradient(56% 60% at 97% 98%, rgba(124, 58, 237, .2), transparent 62%),
		radial-gradient(72% 50% at 50% 46%, rgba(124, 58, 237, .08), transparent 70%);
}

.rsg-latest-row::after {
	/* فایل پترن ذاتاً آلفای بسیار کمی دارد (حداکثر ۳۳ از ۲۵۵ ≈ ۱۳٪).
	   بدون هیچ تغییری در خود فایل، شش لایه‌ی هم‌مکان روی هم می‌نشیند تا
	   آلفا جمع شود: 1-(0.87^6) ≈ ۵۶٪. این تنها راه دیده شدن آن است. */
	opacity: .72;
	background-image:
		var(--rsg-pattern), var(--rsg-pattern), var(--rsg-pattern);
	background-size: var(--rsg-pattern-sz);
	background-repeat: repeat;
	mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
}

/* ── سه نوار دسته‌ها: گرید بلوپرینت + سطح کمی روشن‌تر ── */
.rsg-bands-row::before {
	background:
		radial-gradient(60% 44% at 88% 4%, rgba(124, 58, 237, .18), transparent 64%),
		radial-gradient(60% 44% at 10% 96%, rgba(34, 211, 238, .12), transparent 64%),
		linear-gradient(180deg, rgba(255, 255, 255, .022), rgba(255, 255, 255, .01));
}

.rsg-bands-row::after {
	opacity: .68;
	background-image:
		var(--rsg-pattern), var(--rsg-pattern);
	background-size: 420px 250px;
	background-repeat: repeat;
	mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
}

/* ── پرطرفدارترین و پیشنیازها: پترن آیکونی ریزتر با تِینت سایان ── */
.rsg-rails-row::before {
	background:
		radial-gradient(58% 66% at 100% 0%, rgba(34, 211, 238, .16), transparent 62%),
		radial-gradient(58% 66% at 0% 100%, rgba(124, 58, 237, .18), transparent 62%);
}

.rsg-rails-row::after {
	opacity: .72;
	background-image:
		var(--rsg-pattern), var(--rsg-pattern), var(--rsg-pattern);
	background-size: 268px 160px;
	background-repeat: repeat;
	mask-image: radial-gradient(130% 110% at 50% 50%, #000 55%, transparent 96%);
	-webkit-mask-image: radial-gradient(130% 110% at 50% 50%, #000 55%, transparent 96%);
}

/* ── نوار گیمرکلاب ── */
.rsg-club-row::before {
	background: radial-gradient(70% 100% at 50% 100%, rgba(124, 58, 237, .18), transparent 68%);
}

/* ─────────────────────────────────────────────────────────────────────────
 * درزگیری بین سکشن‌ها — هر سکشن یک هاله‌ی افقی نازک بالای خودش دارد تا
 * مرز سکشن‌ها به‌جای یک خط سخت، محو و پیوسته دیده شود.
 * ───────────────────────────────────────────────────────────────────────── */
.rsg-section > .wpb_column > .vc_column-inner > .wpb_wrapper::after,
.rsg-section > .rsg-wrap::after,
.rsg-section > section::after {
	content: "";
	position: absolute;
	inset-block-start: -1px;
	inset-inline: 0;
	block-size: 180px;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(60% 100% at 50% 0%, rgba(167, 139, 250, .1), transparent 72%);
}

/* ── قاب‌های گوشه‌ای (حس رابط کاربری بازی) ── */
.rsg-corner,
.rsg-rail {
	position: relative;
}

.rsg-corner::before,
.rsg-corner::after,
.rsg-rail::before,
.rsg-rail::after {
	content: "";
	position: absolute;
	inline-size: 18px;
	block-size: 18px;
	pointer-events: none;
	opacity: .55;
}

.rsg-corner::before,
.rsg-rail::before {
	inset-block-start: -1px;
	inset-inline-start: -1px;
	border-block-start: 2px solid var(--rsg-cyan);
	border-inline-start: 2px solid var(--rsg-cyan);
	border-start-start-radius: var(--rsg-r);
}

.rsg-corner::after,
.rsg-rail::after {
	inset-block-end: -1px;
	inset-inline-end: -1px;
	border-block-end: 2px solid var(--rsg-violet-hi);
	border-inline-end: 2px solid var(--rsg-violet-hi);
	border-end-end-radius: var(--rsg-r);
}


/* ═══ ۰۲ — المان‌های مشترک ═══════════════════════════════════════════════ */

/* ⚠ ریست حیاتی لیست‌ها
   وودمارت این دو قانون را دارد:
       :is(ul,ol) li            { margin-bottom: 10px }
       :is(ul,ol) li:last-child { margin-bottom: 0    }
   در هر ردیفِ افقی با ‎align-items:center‎، جعبه‌ی مارجینِ آیتم‌های غیرآخر
   ۱۰px بلندتر می‌شود و محتوایشان بالاتر مرکزچین می‌شود — یعنی آیتم آخر
   پایین‌تر می‌افتد. (چیپ‌های هیرو، نوار اعتماد، پیل‌های منیوفا و…)
   همه‌ی فاصله‌گذاری این طرح با gap کنترل می‌شود، پس مارجین عمودی صفر است.
   اختصاصیت (0,2,2) لازم است تا بر ‎li:last-child‎ قالب که (0,1,2) است غلبه کند. */
.rsg-page .rsg :is(ul, ol) > li,
.rsg-page .rsg-hero :is(ul, ol) > li {
	margin-block: 0;
}

/* ── ریویل هنگام اسکرول (فقط وقتی JS فعال باشد) ── */
.rsg-js [data-rsg-reveal] {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .75s var(--rsg-ease), transform .75s var(--rsg-ease);
}

.rsg-js [data-rsg-reveal].is-in {
	opacity: 1;
	transform: none;
}

/* ── تیترها ── */
.rsg-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .04em;
	color: var(--rsg-cyan);
}

.rsg-eyebrow::before {
	content: "";
	inline-size: 26px;
	block-size: 2px;
	flex: 0 0 auto;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--rsg-cyan), transparent);
}

.rsg-h2 {
	margin: 0 0 18px;
	font-size: clamp(26px, 3.4vw, 44px);
	font-weight: 700;
	line-height: 1.22;
	color: var(--rsg-fg);
	letter-spacing: -.01em;
}

.rsg-h2 em {
	font-style: normal;
	background: linear-gradient(100deg, var(--rsg-violet-hi), var(--rsg-cyan));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.rsg-h3 {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 18px;
	font-size: clamp(17px, 1.5vw, 20px);
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-h3 .rsg-i {
	color: var(--rsg-violet-hi);
	flex: 0 0 auto;
}

.rsg-lead {
	margin: 0 0 22px;
	max-inline-size: 54ch;
	font-size: clamp(14px, 1.15vw, 16px);
	line-height: 2;
	color: var(--rsg-fg-dim);
}

.rsg-lead b {
	color: var(--rsg-fg);
	font-weight: 500;
}

/* ── تیتر استاندارد سکشن ── */
.rsg-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-block-end: clamp(26px, 3vw, 40px);
}

.rsg-head--center {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.rsg-head--center .rsg-eyebrow {
	justify-content: center;
}

.rsg-head__main {
	min-inline-size: 0;
}

.rsg-head .rsg-h2 {
	margin-bottom: 0;
}

.rsg-head__text {
	margin: 12px 0 0;
	max-inline-size: 60ch;
	font-size: 14px;
	line-height: 1.9;
	color: var(--rsg-fg-dim);
}

.rsg-head__link {
	flex: 0 0 auto;
}

/* ── دکمه‌ها ── */
.rsg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 24px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .3s var(--rsg-ease), box-shadow .3s var(--rsg-ease),
		background-color .3s var(--rsg-ease), border-color .3s var(--rsg-ease), color .3s var(--rsg-ease);
}

.rsg-btn .rsg-i {
	transition: transform .35s var(--rsg-ease);
}

.rsg-btn:hover .rsg-i--arrow {
	transform: translateX(-4px);
}

.rsg-btn--primary {
	background: linear-gradient(135deg, var(--rsg-orange-hi), var(--rsg-orange));
	color: #17100A;
	box-shadow: 0 10px 30px -12px rgba(255, 122, 24, .8);
}

.rsg-btn--primary:hover,
.rsg-btn--primary:focus-visible {
	color: #17100A;
	transform: translateY(-2px);
	box-shadow: 0 16px 40px -14px rgba(255, 122, 24, .95);
}

.rsg-btn--ghost {
	border-color: var(--rsg-line-2);
	background: rgba(255, 255, 255, .03);
	color: var(--rsg-fg);
	backdrop-filter: blur(6px);
}

.rsg-btn--ghost:hover,
.rsg-btn--ghost:focus-visible {
	color: var(--rsg-fg);
	border-color: rgba(124, 58, 237, .7);
	background: rgba(124, 58, 237, .14);
	transform: translateY(-2px);
}

.rsg-btn:focus-visible {
	outline: 2px solid var(--rsg-cyan);
	outline-offset: 3px;
}

/* ── چیپ‌ها، بج‌ها، نسخه ── */
.rsg-badge,
.rsg-ver {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	white-space: nowrap;
}

.rsg-ver {
	border: 1px solid rgba(34, 211, 238, .4);
	background: rgba(34, 211, 238, .1);
	color: var(--rsg-cyan);
}

.rsg-badge {
	border: 1px solid var(--rsg-line-2);
	background: rgba(255, 255, 255, .04);
	color: var(--rsg-fg-dim);
}

.rsg-verline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-block-end: 26px;
}

.rsg-verline__sep {
	inline-size: 1px;
	block-size: 16px;
	background: var(--rsg-line-2);
}

.rsg-verline__note {
	font-size: 12px;
	color: var(--rsg-fg-mute);
}

/* ── لیست ویژگی‌های تیک‌دار ── */
.rsg-facts {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: grid;
	gap: 11px;
}

.rsg-facts li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.75;
	color: var(--rsg-fg-dim);
}

.rsg-facts .rsg-i {
	flex: 0 0 auto;
	margin-block-start: 4px;
	color: var(--rsg-cyan);
}

.rsg-pills {
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rsg-pills li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 14px;
	border: 1px solid var(--rsg-line);
	border-radius: 999px;
	background: rgba(255, 255, 255, .035);
	font-size: 12.5px;
	color: var(--rsg-fg-dim);
	transition: border-color .3s var(--rsg-ease), color .3s var(--rsg-ease), background-color .3s var(--rsg-ease);
}

.rsg-pills li:hover {
	border-color: rgba(124, 58, 237, .55);
	background: rgba(124, 58, 237, .12);
	color: var(--rsg-fg);
}

.rsg-pills .rsg-i {
	color: var(--rsg-cyan);
	flex: 0 0 auto;
}

/* ── کارت CTA محصول (قیمت زنده) ── */
.rsg-cta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px 18px;
	padding: 16px 18px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r);
	background: linear-gradient(120deg, rgba(124, 58, 237, .1), rgba(15, 17, 26, .6));
	backdrop-filter: blur(10px);
}

.rsg-cta__price {
	display: grid;
	gap: 3px;
	margin-inline-end: auto;
}

.rsg-cta__label {
	font-size: 11.5px;
	color: var(--rsg-fg-mute);
}

.rsg-cta__amount {
	font-size: 17px;
	font-weight: 700;
	color: var(--rsg-cyan);
	line-height: 1.5;
}

.rsg-cta__amount del {
	font-size: 13px;
	font-weight: 400;
	color: var(--rsg-fg-mute);
	opacity: .8;
}

.rsg-cta__amount ins {
	text-decoration: none;
	color: var(--rsg-cyan);
}

.rsg-cta__amount .woocommerce-Price-currencySymbol {
	font-size: .72em;
	font-weight: 400;
	color: var(--rsg-fg-dim);
	margin-inline-start: 3px;
}

.rsg-cta__off {
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--rsg-rose);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

/* ── گلوی پس‌زمینه ── */
.rsg-glow {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	border-radius: 50%;
	filter: blur(90px);
}

.rsg-glow--violet {
	inset-block-start: -12%;
	inset-inline-end: -6%;
	inline-size: min(620px, 58vw);
	block-size: min(620px, 58vw);
	background: radial-gradient(circle, rgba(124, 58, 237, .38), transparent 68%);
}


/* ═══ ۰۳ — هیرو «روبش سیگنال» ═════════════════════════════════════════════ */

.rsg-hero {
	position: relative;
	isolation: isolate;
	/* عمداً hidden نیست: نوار اعتماد باید از لبه‌ی پایین بیرون بزند.
	   کلیپِ لازم برای Ken Burns و پرتو روی ‎.rsg-hero__stage‎ است. */
	overflow: visible;
}

.rsg-hero__stage {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

/* ── لایه‌های تصویر ── */
.rsg-hero__bg {
	position: absolute;
	inset: 0;
	background-image: var(--rsg-bg);
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	opacity: 0;
	visibility: hidden;
	transform: scale(1.06);
	will-change: transform, opacity, filter, clip-path;
}

.rsg-hero__bg.is-focus-left   { background-position: 22% 50%; }
.rsg-hero__bg.is-focus-center { background-position: 50% 50%; }
.rsg-hero__bg.is-focus-right  { background-position: 78% 50%; }

/* پس‌زمینه‌ی جایگزین وقتی تصویر هنوز آپلود نشده — گرادیان مش بنفش/سایان */
.rsg-hero__stage::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(70% 90% at 78% 18%, rgba(124, 58, 237, .5), transparent 62%),
		radial-gradient(60% 80% at 18% 76%, rgba(34, 211, 238, .3), transparent 60%),
		linear-gradient(160deg, #0B0D18, #07080D 62%);
}

.rsg-hero__bg.is-active {
	opacity: 1;
	visibility: visible;
	animation: rsgKen 16s ease-out forwards;
}

.rsg-hero__bg.is-entering {
	opacity: 1;
	visibility: visible;
	animation: rsgKen 16s ease-out forwards, rsgReveal .95s var(--rsg-ease-io) forwards;
}

.rsg-hero__bg.is-leaving {
	opacity: 1;
	visibility: visible;
	animation: rsgLeave .95s var(--rsg-ease-io) forwards;
	z-index: -1;
}

@keyframes rsgKen {
	from { transform: scale(1.02); }
	to   { transform: scale(1.12); }
}

@keyframes rsgReveal {
	from { clip-path: inset(0 0 0 100%); }
	to   { clip-path: inset(0 0 0 0); }
}

@keyframes rsgLeave {
	from { opacity: 1; filter: blur(0) saturate(1);      transform: scale(1.12); }
	to   { opacity: 0; filter: blur(10px) saturate(.35); transform: scale(1.2); }
}

/* ── گرید، اسکن‌لاین، پرتو، اسکریم ── */
.rsg-hero__grid {
	position: absolute;
	inset: 0;
	opacity: .05;
	background-image:
		linear-gradient(rgba(255, 255, 255, .8) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .8) 1px, transparent 1px);
	background-size: 88px 88px;
	mask-image: radial-gradient(120% 90% at 70% 40%, #000 30%, transparent 76%);
	-webkit-mask-image: radial-gradient(120% 90% at 70% 40%, #000 30%, transparent 76%);
}

.rsg-hero__scan {
	position: absolute;
	inset: 0;
	opacity: .35;
	background: repeating-linear-gradient(
		to bottom,
		rgba(255, 255, 255, .035) 0 1px,
		transparent 1px 4px
	);
	animation: rsgScan 9s linear infinite;
}

@keyframes rsgScan {
	from { background-position-y: 0; }
	to   { background-position-y: 88px; }
}

.rsg-hero__beam {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	inline-size: 2px;
	opacity: 0;
	background: linear-gradient(to bottom, transparent, var(--rsg-cyan) 22%, #fff 50%, var(--rsg-cyan) 78%, transparent);
	box-shadow: 0 0 22px 5px rgba(34, 211, 238, .55), 0 0 60px 18px rgba(124, 58, 237, .35);
}

.rsg-hero.is-sweeping .rsg-hero__beam {
	animation: rsgBeam .95s var(--rsg-ease-io) forwards;
}

@keyframes rsgBeam {
	0%   { opacity: 0;  transform: translateX(6px)   scaleY(.6); }
	12%  { opacity: 1; }
	88%  { opacity: 1; }
	100% { opacity: 0;  transform: translateX(-100vw) scaleY(1); }
}

.rsg-hero__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to left, rgba(7, 8, 13, .95) 0%, rgba(7, 8, 13, .82) 34%, rgba(7, 8, 13, .35) 62%, rgba(7, 8, 13, .55) 100%),
		linear-gradient(to top, var(--rsg-void) 0%, rgba(7, 8, 13, .55) 12%, transparent 34%);
}

/* ── محتوای اسلایدها ── */
.rsg-hero__inner {
	position: relative;
	z-index: 3;
	display: grid;
	max-inline-size: var(--rsg-container);
	margin-inline: auto;
	padding: clamp(70px, 11vh, 130px) var(--rsg-pad) clamp(140px, 18vh, 200px);
	min-block-size: min(78vh, 700px);
	align-content: center;
}

.rsg-hero__slide {
	grid-area: 1 / 1;
	justify-self: start;
	/* تا حدود وسط هیرو کشیده می‌شود تا جمله‌های بلند زیر هم نیفتند */
	max-inline-size: min(790px, 62%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.rsg-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* ورود پلکانی محتوا */
.rsg-hero__slide > * {
	opacity: 0;
	transform: translateY(22px);
}

.rsg-hero__slide.is-active > * {
	animation: rsgUp .85s var(--rsg-ease) forwards;
}

.rsg-hero__slide.is-active > *:nth-child(1) { animation-delay: .10s; }
.rsg-hero__slide.is-active > *:nth-child(2) { animation-delay: .16s; }
.rsg-hero__slide.is-active > *:nth-child(3) { animation-delay: .40s; }
.rsg-hero__slide.is-active > *:nth-child(4) { animation-delay: .48s; }
.rsg-hero__slide.is-active > *:nth-child(5) { animation-delay: .56s; }

@keyframes rsgUp {
	to { opacity: 1; transform: none; }
}

.rsg-hero__eyebrow {
	margin: 0 0 16px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .06em;
	color: var(--rsg-cyan);
}

.rsg-hero__eyebrow span {
	position: relative;
	display: inline-block;
	padding-block-end: 8px;
}

.rsg-hero__eyebrow span::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 0;
	block-size: 2px;
	inline-size: 0;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--rsg-cyan), var(--rsg-violet));
}

.rsg-hero__slide.is-active .rsg-hero__eyebrow span::after {
	animation: rsgDraw .7s var(--rsg-ease) .5s forwards;
}

@keyframes rsgDraw {
	to { inline-size: 100%; }
}

/* تیتر: هر خط با ماسک کلیپ بالا می‌آید */
.rsg-hero__title {
	margin: 0 0 18px;
	font-size: clamp(30px, 5.2vw, 62px);
	font-weight: 700;
	line-height: 1.16;
	letter-spacing: -.015em;
	color: #fff;
	/* balance عمداً خطوط را کوتاه و هم‌طول می‌کند و نمی‌گذارد عرض موجود پر شود.
	   pretty فقط از تک‌کلمه ماندن خط آخر جلوگیری می‌کند. */
	text-wrap: pretty;
}

.rsg-hero__line {
	display: block;
	overflow: hidden;
	padding-block: .06em;
}

.rsg-hero__line > span {
	display: block;
	transform: translateY(110%);
}

.rsg-hero__slide.is-active .rsg-hero__line > span {
	animation: rsgLine .95s var(--rsg-ease) forwards;
}

.rsg-hero__slide.is-active .rsg-hero__line:nth-child(1) > span { animation-delay: .18s; }
.rsg-hero__slide.is-active .rsg-hero__line:nth-child(2) > span { animation-delay: .28s; }
.rsg-hero__slide.is-active .rsg-hero__line:nth-child(3) > span { animation-delay: .38s; }

@keyframes rsgLine {
	to { transform: none; }
}

.rsg-hero__title em {
	font-style: normal;
	background: linear-gradient(100deg, var(--rsg-violet-hi) 10%, var(--rsg-cyan) 90%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.rsg-hero__text {
	margin: 0 0 20px;
	max-inline-size: 58ch;
	font-size: clamp(14px, 1.2vw, 16px);
	line-height: 2;
	color: rgba(237, 237, 245, .78);
}

/* مشخصات فنی اسلاید — عمداً هیچ فرم دکمه‌ای ندارد:
   بدون پس‌زمینه، بدون گوشه‌ی گرد، با نشانگر لوزی و جداکننده‌ی مویی. */
.rsg-hero__chips {
	list-style: none;
	margin: 0 0 28px;
	padding-block-start: 13px;
	padding-inline: 0;
	position: relative;
	max-inline-size: none;

	/* گرید تک‌ردیفه: با grid-auto-flow: column آیتم‌ها ذاتاً نمی‌توانند به
	   خط بعد بروند — برخلاف flex که با nowrap هم در شرایطی می‌شکست.
	   روی نمایشگر باریک به‌جای شکستن، ردیف افقی اسکرول می‌شود. */
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: max-content;
	justify-content: start;
	align-items: center;
	gap: 0;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.rsg-hero__chips::-webkit-scrollbar {
	display: none;
}

.rsg-hero__chips::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	block-size: 1px;
	background: linear-gradient(to left, rgba(34, 211, 238, .55), var(--rsg-line) 42%, transparent);
}

.rsg-hero__chips li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding-inline: 13px;
	font-size: 12px;
	line-height: 1.7;
	color: var(--rsg-fg-dim);
	white-space: nowrap;
	flex: 0 0 auto;
}

.rsg-hero__chips li:first-child {
	padding-inline-start: 0;
}

.rsg-hero__chips li + li {
	border-inline-start: 1px solid var(--rsg-line);
}

.rsg-hero__chips li::before {
	content: "";
	flex: 0 0 auto;
	inline-size: 5px;
	block-size: 5px;
	rotate: 45deg;
	background: var(--rsg-cyan);
	box-shadow: 0 0 9px rgba(34, 211, 238, .85);
}

.rsg-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* ── ناوبری هیرو ── */
.rsg-hero__nav {
	position: absolute;
	z-index: 4;
	inset-block-end: clamp(62px, 9vh, 96px);
	inset-inline: 0;
	margin-inline: auto;
	max-inline-size: var(--rsg-container);
	padding-inline: var(--rsg-pad);
	display: flex;
	align-items: center;
	gap: 18px;
}

.rsg-hero__count {
	display: flex;
	align-items: baseline;
	gap: 4px;
	font-size: 13px;
	color: var(--rsg-fg-mute);
	font-variant-numeric: tabular-nums;
}

.rsg-hero__count b {
	font-size: 20px;
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-hero__count i {
	font-style: normal;
	opacity: .5;
}

.rsg-hero__bars {
	display: flex;
	gap: 8px;
	flex: 1 1 auto;
	max-inline-size: 280px;
}

.rsg-hero__bar {
	position: relative;
	flex: 1 1 0;
	block-size: 22px;
	display: flex;
	align-items: center;
	cursor: pointer;
	/* ریست کامل در برابر استایل سراسری button در وودمارت */
	appearance: none;
	-webkit-appearance: none;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	background-color: transparent !important;
	box-shadow: none !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	font-size: 0;
	color: inherit;
	text-transform: none;
	letter-spacing: normal;
}

.rsg-hero__bar::after {
	content: none !important;
}

.rsg-hero__bar::before {
	content: "";
	inline-size: 100%;
	block-size: 3px;
	border-radius: 3px;
	background: rgba(255, 255, 255, .16);
}

.rsg-hero__bar i {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	inline-size: 0;
	block-size: 3px;
	margin-block: auto;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--rsg-violet), var(--rsg-cyan));
}

.rsg-hero__bar.is-active i {
	animation: rsgBar var(--rsg-dwell, 6s) linear forwards;
}

.rsg-hero.is-paused .rsg-hero__bar.is-active i {
	animation-play-state: paused;
}

@keyframes rsgBar {
	from { inline-size: 0; }
	to   { inline-size: 100%; }
}

.rsg-hero__bar:focus-visible {
	outline: 2px solid var(--rsg-cyan);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ── نشانگر اسکرول ── */
.rsg-hero__scroll {
	position: relative;
	flex: 0 0 auto;
	margin-inline-start: auto;
	inline-size: 22px;
	block-size: 36px;
	border: 1px solid var(--rsg-line-2);
	border-radius: 12px;
}

.rsg-hero__scroll span {
	position: absolute;
	inset-inline-start: 50%;
	inset-block-start: 7px;
	inline-size: 3px;
	block-size: 7px;
	margin-inline-start: -1.5px;
	border-radius: 2px;
	background: var(--rsg-cyan);
	animation: rsgScroll 1.9s var(--rsg-ease) infinite;
}

@keyframes rsgScroll {
	0%, 100% { opacity: 0; transform: translateY(0); }
	30%      { opacity: 1; }
	70%      { opacity: 1; transform: translateY(12px); }
}


/* ═══ ۰۴ — نوار اعتماد ════════════════════════════════════════════════════ */

/* نوار اعتماد داخل خودِ هیرو رندر می‌شود و با translateY(50%) دقیقاً روی
   لبه‌ی پایینی می‌نشیند: نیمه بالا روی اسلایدر، نیمه پایین روی سکشن بعدی.
   چون داخل هیروست، هیچ ترتیب لایه‌ای بیرونی نمی‌تواند زیرش بیندازد. */
.rsg-hero__trust {
	position: absolute;
	inset-block-end: 0;
	inset-inline: 0;
	z-index: 40;
	transform: translateY(50%);
	pointer-events: none;
}

.rsg-hero__trust .rsg-trust {
	pointer-events: auto;
}

.rsg-trust {
	max-inline-size: var(--rsg-container);
	margin-inline: auto;
	padding-inline: var(--rsg-pad);
	position: relative;
	z-index: 40;
}

.rsg-trust__list {
	list-style: none;
	margin: 0;
	padding: 16px clamp(16px, 2.5vw, 30px);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px clamp(14px, 2vw, 26px);
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r-lg);
	background: linear-gradient(120deg, rgba(124, 58, 237, .12), rgba(15, 17, 26, .88));
	backdrop-filter: blur(14px);
	box-shadow: var(--rsg-shadow);
}

.rsg-trust__item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-inline-size: 0;
}

.rsg-trust__item + .rsg-trust__item {
	border-inline-start: 1px solid var(--rsg-line);
	padding-inline-start: clamp(14px, 2vw, 26px);
}

.rsg-trust__ic {
	flex: 0 0 auto;
	inline-size: 40px;
	block-size: 40px;
	display: grid;
	place-items: center;
	border-radius: 12px;
	background: rgba(124, 58, 237, .18);
	color: var(--rsg-violet-hi);
}

.rsg-trust__txt {
	display: grid;
	gap: 2px;
	min-inline-size: 0;
}

.rsg-trust__txt b {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--rsg-fg);
}

.rsg-trust__txt i {
	font-style: normal;
	font-size: 11.5px;
	color: var(--rsg-fg-mute);
}


/* ═══ ۰۵ — کاروسل محصولات (بازطراحی کارت وودمارت) ═════════════════════════ */

.rsg-products .wd-product {
	--wd-brd-radius: var(--rsg-r-card);
	position: relative;
	border-radius: var(--rsg-r-card);
	background: var(--rsg-surface);
	border: 1px solid var(--rsg-line);
	transition: transform .4s var(--rsg-ease), border-color .4s var(--rsg-ease), box-shadow .4s var(--rsg-ease);
}

.rsg-products .wd-product:hover {
	transform: translateY(-6px);
	border-color: rgba(124, 58, 237, .55);
	box-shadow: var(--rsg-glow-v);
}

/* ساختار وودمارت: .wd-product-wrapper شامل .wd-product-thumb و سپس عنوان،
   قیمت، شمارش معکوس و دکمه به‌صورت خواهر-برادر است. پدینگ را به خودِ رَپر
   می‌دهیم و تصویر را با مارجین منفی تا لبه‌ی کارت برمی‌گردانیم. */
.rsg-products .wd-product > .wd-product-wrapper {
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding: 0 15px 16px;
	block-size: 100%;
}

.rsg-products .wd-product > .wd-product-wrapper > .wd-product-thumb {
	margin: 0 -15px 5px;
}

.rsg-products .wd-product > .wd-product-wrapper > *:last-child {
	margin-block-start: auto;
	padding-block-start: 3px;
}

.rsg-products .wd-product-thumb {
	border-radius: var(--rsg-r-card) var(--rsg-r-card) 0 0;
	overflow: hidden;
	background: #0A0C14;
}

.rsg-products .wd-product-thumb img {
	transition: transform .6s var(--rsg-ease);
}

.rsg-products .wd-product:hover .wd-product-thumb img {
	transform: scale(1.05);
}

.rsg-products .wd-entities-title,
.rsg-products .wd-entities-title a {
	color: var(--rsg-fg) !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.75;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.rsg-products .wd-entities-title a:hover {
	color: var(--rsg-cyan) !important;
}

.rsg-products .price,
.rsg-products .price .amount,
.rsg-products .price ins {
	color: var(--rsg-cyan) !important;
	font-weight: 700;
	text-decoration: none;
}

.rsg-products .price del,
.rsg-products .price del .amount {
	color: var(--rsg-fg-mute) !important;
	font-weight: 400;
	opacity: .85;
}

.rsg-products .woocommerce-Price-currencySymbol {
	font-size: .74em;
	font-weight: 400;
	color: var(--rsg-fg-dim);
}

/* بج تخفیف */
.rsg-products .product-labels .product-label,
.rsg-products .product-label.onsale {
	border-radius: 999px;
	background: var(--rsg-rose) !important;
	color: #fff !important;
	font-size: 11.5px;
	font-weight: 700;
	padding: 4px 10px;
	box-shadow: 0 6px 18px -8px rgba(244, 63, 94, .9);
}

/* شمارش معکوس — وودمارت به‌صورت پیش‌فرض چهار بلوکِ سفیدِ درشت می‌سازد
   (‎.wd-timer.wd-style-standard متغیرهای ‎--wd-timer-bg: white و سایه را ست می‌کند)
   اینجا به یک نوار تک‌خطیِ تیره و فشرده تبدیلش می‌کنیم. */
.rsg-products .wd-countdown-timer,
.rsg-products .wd-product-countdown {
	margin: 0;
	padding: 6px 8px;
	border: 1px solid rgba(244, 63, 94, .3);
	border-radius: 10px;
	background: rgba(244, 63, 94, .09);
}

.rsg-products .wd-product-countdown .wd-timer,
.rsg-products .wd-timer.wd-style-standard {
	--wd-timer-bg: transparent;
	--wd-timer-shadow: none;
	--wd-timer-size: 14px;
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center;
	justify-content: center;
	gap: 0 !important;
	inline-size: 100%;
	padding-block-start: 0 !important;
	border-block-start: 0 !important;
	direction: ltr;
	font-variant-numeric: tabular-nums;
}

.rsg-products .wd-product-countdown .wd-timer > span,
.rsg-products .wd-timer > span {
	flex: 0 1 auto !important;
	flex-direction: row !important;
	align-items: baseline !important;
	gap: 3px !important;
	min-inline-size: 0 !important;
	min-block-size: 0 !important;
	padding: 0 7px !important;
	margin: 0 !important;
	background: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
}

.rsg-products .wd-timer > span + span {
	border-inline-start: 1px solid rgba(255, 255, 255, .1);
}

.rsg-products .wd-timer-value {
	font-size: 14px !important;
	font-weight: 700;
	color: #FFD3DB !important;
	line-height: 1.2;
}

.rsg-products .wd-timer-text {
	font-size: 10px !important;
	color: var(--rsg-fg-mute) !important;
	text-transform: none;
	opacity: .9;
}

/* دکمه افزودن به سبد — وودمارت از متغیرهای ‎--btn-accented-* استفاده می‌کند،
   پس هم متغیرها و هم خودِ خاصیت‌ها را ست می‌کنیم. */
.rsg-products .wd-add-btn > a,
.rsg-products .add-to-cart-loop {
	--btn-accented-bgcolor: rgba(255, 122, 24, .14);
	--btn-accented-color: var(--rsg-orange-hi);
	--btn-accented-bgcolor-hover: var(--rsg-orange);
	--btn-accented-color-hover: #17100A;
	--btn-accented-box-shadow: none;
	--btn-accented-box-shadow-hover: none;
	--btn-accented-brd-radius: 999px;
	--btn-accented-transform: none;
	border: 1px solid rgba(255, 122, 24, .4) !important;
	font-weight: 500;
	transition: background-color .3s var(--rsg-ease), color .3s var(--rsg-ease), border-color .3s var(--rsg-ease);
}

.rsg-products .wd-add-btn > a:hover,
.rsg-products .add-to-cart-loop:hover {
	border-color: var(--rsg-orange) !important;
}

.rsg-products .wd-action-btn > a {
	color: var(--rsg-fg-dim);
}

.rsg-products .wd-action-btn > a:hover {
	color: var(--rsg-cyan);
}

/* فلش‌های کاروسل وودمارت */
.rsg-products .wd-nav-arrows .wd-btn-arrow,
.rsg-products .wd-btn-arrow {
	--wd-arrow-color: var(--rsg-fg);
	background: rgba(15, 17, 26, .85) !important;
	border: 1px solid var(--rsg-line-2) !important;
	color: var(--rsg-fg) !important;
	backdrop-filter: blur(8px);
}

.rsg-products .wd-btn-arrow:hover {
	background: var(--rsg-violet) !important;
	border-color: var(--rsg-violet) !important;
	color: #fff !important;
}

.rsg-products__foot {
	display: flex;
	justify-content: center;
	margin-block-start: clamp(24px, 3vw, 38px);
}


/* ═══ ۰۶ — سکشن بکاپ‌منیجر ════════════════════════════════════════════════ */

.rsg-backup {
	position: relative;
	isolation: isolate;
}

.rsg-backup__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	align-items: center;
	gap: clamp(28px, 4vw, 60px);
}

.rsg-backup__copy {
	min-inline-size: 0;
}

/* ── ماکاپ پنجره نرم‌افزار ── */
.rsg-backup__visual {
	min-inline-size: 0;
	perspective: 1400px;
}

.rsg-app {
	position: relative;
	border: 1px solid var(--rsg-line-2);
	border-radius: var(--rsg-r-lg);
	overflow: hidden;
	background: var(--rsg-raised);
	box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .95), 0 0 0 1px rgba(124, 58, 237, .18);
	transform: rotateY(6deg) rotateX(2deg) scale(.98);
	transform-origin: center right;
	transition: transform .8s var(--rsg-ease), box-shadow .8s var(--rsg-ease);
}

[data-rsg-tilt].is-in .rsg-app {
	transform: rotateY(2deg) rotateX(1deg) scale(1);
}

.rsg-backup__visual:hover .rsg-app {
	transform: rotateY(0) rotateX(0) scale(1.01);
	box-shadow: 0 46px 110px -40px rgba(0, 0, 0, .95), 0 0 0 1px rgba(124, 58, 237, .45);
}

.rsg-app__chrome {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	border-block-end: 1px solid var(--rsg-line);
	background: linear-gradient(180deg, rgba(255, 255, 255, .05), transparent);
}

.rsg-app__dots {
	display: inline-flex;
	gap: 6px;
}

.rsg-app__dots i {
	inline-size: 9px;
	block-size: 9px;
	border-radius: 50%;
	background: var(--rsg-line-2);
}

.rsg-app__dots i:first-child { background: rgba(244, 63, 94, .7); }
.rsg-app__dots i:nth-child(2) { background: rgba(255, 122, 24, .7); }
.rsg-app__dots i:last-child  { background: rgba(34, 211, 238, .7); }

.rsg-app__name {
	font-size: 11.5px;
	letter-spacing: .04em;
	color: var(--rsg-fg-mute);
	direction: ltr;
}

.rsg-app__shot {
	position: relative;
	line-height: 0;
	background: #0A0C14;
}

/* کارت پین‌ها از لبه‌ی تصویر بیرون می‌زند، پس نباید بریده شود */
.rsg-app {
	overflow: visible;
}

.rsg-app__shot > img {
	border-end-start-radius: var(--rsg-r-lg);
	border-end-end-radius: var(--rsg-r-lg);
}

.rsg-app__shot img {
	inline-size: 100%;
	block-size: auto;
	display: block;
}

/* ── پین‌های هات‌اسپات ── */
/* ⚠ مکان‌یابی عمداً فیزیکی است (left/top) نه منطقی.
   تصویر با جهت متن نمی‌چرخد، ولی ‎inset-inline-end‎ در RTL معادل ‎left‎ می‌شود
   و باعث شد مختصات‌ها آینه‌ای اعمال شوند. مقدار --x یعنی درصد از **چپِ تصویر**. */
.rsg-pin {
	position: absolute;
	left: var(--x);
	top: var(--y);
	inline-size: 0;
	block-size: 0;
	z-index: 3;
}

/* پینِ فعال باید بالاتر از بقیه بایستد، وگرنه کارتش زیر پین‌های کناری
   می‌رود و متنش کامل دیده نمی‌شود. */
.rsg-pin:hover,
.rsg-pin:focus-visible,
.rsg-pin:focus-within {
	z-index: 30;
}

.rsg-pin__dot {
	position: absolute;
	top: -11px;
	left: -11px;
	inline-size: 22px;
	block-size: 22px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(124, 58, 237, .95);
	box-shadow: 0 0 0 4px rgba(124, 58, 237, .22);
	cursor: pointer;
}

.rsg-pin__dot i {
	inline-size: 7px;
	block-size: 7px;
	border-radius: 50%;
	background: #fff;
}

.rsg-pin__dot::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid rgba(124, 58, 237, .8);
	animation: rsgSonar 2.4s var(--rsg-ease) infinite;
}

@keyframes rsgSonar {
	0%   { transform: scale(1);   opacity: .9; }
	100% { transform: scale(2.6); opacity: 0; }
}

.rsg-pin__card {
	position: absolute;
	z-index: 31;
	inline-size: 250px;
	padding: 13px 15px;
	border: 1px solid rgba(124, 58, 237, .45);
	border-radius: 12px;
	background: rgba(10, 12, 20, .96);
	backdrop-filter: blur(10px);
	box-shadow: var(--rsg-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .3s var(--rsg-ease), transform .3s var(--rsg-ease), visibility .3s;
	pointer-events: none;
}

/* کارت روی خودِ پین وسط‌چین می‌شود تا نسبت به نقطه متقارن باشد */
.rsg-pin__card {
	left: 50%;
	transform: translateX(-50%) translateY(6px);
}

.rsg-pin--top .rsg-pin__card {
	bottom: 20px;
}

.rsg-pin--bottom .rsg-pin__card {
	top: 20px;
}

.rsg-pin:hover .rsg-pin__card,
.rsg-pin:focus-visible .rsg-pin__card {
	transform: translateX(-50%);
}

.rsg-pin:hover .rsg-pin__card,
.rsg-pin:focus-visible .rsg-pin__card {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.rsg-pin:focus-visible {
	outline: none;
}

.rsg-pin:focus-visible .rsg-pin__dot {
	box-shadow: 0 0 0 4px rgba(34, 211, 238, .5);
}

.rsg-pin__card b {
	display: block;
	margin-block-end: 5px;
	font-size: 13px;
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-pin__card p {
	margin: 0;
	font-size: 12px;
	line-height: 1.85;
	color: var(--rsg-fg-dim);
}

/* ── ریل چهار مرحله‌ای ── */
.rsg-steps {
	list-style: none;
	margin: clamp(34px, 5vw, 62px) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(12px, 1.6vw, 22px);
	position: relative;
	z-index: 1;
}

.rsg-step {
	position: relative;
	padding: 22px 20px 20px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r);
	background: rgba(15, 17, 26, .6);
	overflow: hidden;
	transition: border-color .4s var(--rsg-ease), background-color .4s var(--rsg-ease), transform .4s var(--rsg-ease);
}

.rsg-step:hover {
	transform: translateY(-4px);
	border-color: rgba(124, 58, 237, .5);
	background: rgba(23, 26, 38, .8);
}

.rsg-step__n {
	position: absolute;
	inset-block-start: -14px;
	inset-inline-start: 6px;
	font-size: 62px;
	font-weight: 700;
	line-height: 1;
	color: rgba(255, 255, 255, .05);
	pointer-events: none;
}

.rsg-step:hover .rsg-step__n {
	color: rgba(124, 58, 237, .22);
}

.rsg-step__t {
	position: relative;
	display: block;
	margin-block-end: 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-step__d {
	position: relative;
	margin: 0;
	font-size: 13px;
	line-height: 1.9;
	color: var(--rsg-fg-dim);
}


/* ═══ ۰۷ — سکشن منیوفا ════════════════════════════════════════════════════ */

.rsg-menyoo {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(64px, 9vw, 120px);
}

.rsg-menyoo__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: var(--rsg-bg);
	background-size: cover;
	background-position: 30% 50%;
	transform: scale(1.04);
}

.rsg-menyoo__scrim {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(to left, rgba(7, 8, 13, .97) 8%, rgba(7, 8, 13, .8) 44%, rgba(7, 8, 13, .48) 100%),
		linear-gradient(to bottom, var(--rsg-void), transparent 18%, transparent 82%, var(--rsg-void));
}

.rsg-menyoo__grid {
	max-inline-size: var(--rsg-container);
	margin-inline: auto;
	padding-inline: var(--rsg-pad);
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	align-items: center;
	gap: clamp(28px, 4vw, 56px);
}

/* ── ماکاپ زنده‌ی منوی فارسی ── */
.rsg-mm {
	inline-size: 100%;
	max-inline-size: 420px;
	margin-inline: auto;
	border: 1px solid rgba(124, 58, 237, .34);
	border-radius: 16px;
	overflow: hidden;
	background: rgba(9, 11, 18, .92);
	backdrop-filter: blur(16px);
	box-shadow: 0 34px 80px -34px rgba(0, 0, 0, .95), 0 0 0 1px rgba(124, 58, 237, .16);
	font-size: 13px;
	user-select: none;
}

.rsg-mm__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 16px;
	background: linear-gradient(100deg, rgba(124, 58, 237, .34), rgba(34, 211, 238, .12));
	border-block-end: 1px solid rgba(124, 58, 237, .3);
}

.rsg-mm__brand {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	letter-spacing: .02em;
}

.rsg-mm__ver {
	font-size: 11px;
	color: rgba(255, 255, 255, .65);
	direction: ltr;
	font-variant-numeric: tabular-nums;
}

.rsg-mm__search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 11px 16px;
	border-block-end: 1px solid var(--rsg-line);
	background: rgba(255, 255, 255, .025);
	color: var(--rsg-fg-mute);
}

.rsg-mm__q {
	font-size: 13px;
	color: var(--rsg-cyan);
	font-weight: 500;
	min-block-size: 1.6em;
	line-height: 1.6;
}

.rsg-mm__caret {
	inline-size: 2px;
	block-size: 15px;
	background: var(--rsg-cyan);
	animation: rsgCaret 1.05s steps(1) infinite;
}

@keyframes rsgCaret {
	0%, 49%   { opacity: 1; }
	50%, 100% { opacity: 0; }
}

.rsg-mm__hint {
	margin-inline-start: auto;
	font-size: 11px;
	color: var(--rsg-fg-mute);
	opacity: 1;
	transition: opacity .3s;
}

.rsg-mm.is-typing .rsg-mm__hint {
	opacity: 0;
}

/* ارتفاع ثابت برای ۶ گزینه — با جست‌وجو تعداد عوض می‌شود ولی قاب نمی‌پرد */
.rsg-mm__list {
	list-style: none;
	margin: 0;
	padding: 6px;
	display: grid;
	grid-auto-rows: max-content;
	gap: 2px;
	align-content: start;
	block-size: 366px;
	overflow: hidden;
}

.rsg-mm__item {
	display: none;
}

.rsg-mm__item.is-on {
	display: grid;
	animation: rsgPop .32s var(--rsg-ease) both;
}

@keyframes rsgPop {
	from { opacity: 0; transform: translateY(-6px) scale(.98); }
	to   { opacity: 1; transform: none; }
}

.rsg-mm__item {
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 2px 10px;
	padding: 9px 12px;
	border-radius: 9px;
	border: 1px solid transparent;
	transition: background-color .3s var(--rsg-ease), border-color .3s var(--rsg-ease),
		opacity .35s var(--rsg-ease), filter .35s var(--rsg-ease), transform .35s var(--rsg-ease);
	cursor: default;
}

.rsg-mm__item.is-sel,
.rsg-mm__item:hover {
	background: rgba(124, 58, 237, .18);
	border-color: rgba(124, 58, 237, .45);
}

.rsg-mm__item.is-hit {
	background: rgba(124, 58, 237, .2);
	border-color: rgba(124, 58, 237, .5);
}

.rsg-mm__t {
	font-size: 13px;
	font-weight: 500;
	color: var(--rsg-fg);
}

.rsg-mm__d {
	grid-column: 1 / -1;
	font-size: 11px;
	color: var(--rsg-fg-mute);
}

.rsg-mm__go {
	color: var(--rsg-fg-mute);
	font-size: 15px;
	line-height: 1;
}

.rsg-mm__item.is-sel .rsg-mm__go,
.rsg-mm__item:hover .rsg-mm__go {
	color: var(--rsg-cyan);
}

.rsg-mm__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 16px;
	border-block-start: 1px solid var(--rsg-line);
	font-size: 11px;
	color: var(--rsg-fg-mute);
}

.rsg-mm__keys b {
	display: inline-block;
	margin-inline-end: 5px;
	padding: 2px 6px;
	border: 1px solid var(--rsg-line-2);
	border-radius: 5px;
	background: rgba(255, 255, 255, .05);
	color: var(--rsg-fg-dim);
	font-size: 10px;
	direction: ltr;
}

.rsg-menyoo__demo {
	min-inline-size: 0;
}

.rsg-menyoo__caption {
	margin: 14px 0 0;
	text-align: center;
	font-size: 11.5px;
	color: var(--rsg-fg-mute);
}


/* ═══ ۰۸ — سه دسته شاخص ═══════════════════════════════════════════════════ */

.rsg-portals {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--rsg-gap);
}

.rsg-portal {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	min-block-size: 420px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r-lg);
	overflow: hidden;
	background: var(--rsg-surface);
	text-decoration: none;
	transition: transform .5s var(--rsg-ease), border-color .5s var(--rsg-ease), box-shadow .5s var(--rsg-ease);
	transition-delay: calc(var(--i, 0) * 60ms);
}

.rsg-portal:hover {
	transform: translateY(-8px);
	border-color: rgba(124, 58, 237, .6);
	box-shadow: var(--rsg-glow-v);
}

.rsg-portal__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	line-height: 0;
}

.rsg-portal__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transform: scale(1.04);
	transition: transform .8s var(--rsg-ease), filter .6s var(--rsg-ease);
	filter: saturate(1.04);
}

.rsg-portal:hover .rsg-portal__media img {
	transform: scale(1.12);
	filter: saturate(1.16) contrast(1.04);
}

.rsg-portal__tint {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, var(--rsg-void) 12%, rgba(7, 8, 13, .78) 46%, rgba(76, 29, 149, .42) 100%);
	transition: opacity .6s var(--rsg-ease);
}

.rsg-portal:hover .rsg-portal__tint {
	background: linear-gradient(to top, var(--rsg-void) 8%, rgba(7, 8, 13, .7) 50%, rgba(124, 58, 237, .3) 100%);
}

.rsg-portal__body {
	position: relative;
	z-index: 2;
	grid-row: 2;
	align-self: end;
	display: grid;
	gap: 10px;
	padding: 24px;
}

.rsg-portal__meta {
	display: inline-flex;
	align-items: center;
	align-self: start;
	padding: 4px 11px;
	border-radius: 999px;
	border: 1px solid rgba(34, 211, 238, .35);
	background: rgba(34, 211, 238, .1);
	font-size: 11.5px;
	color: var(--rsg-cyan);
}

.rsg-portal__title {
	font-size: clamp(19px, 1.8vw, 23px);
	font-weight: 700;
	color: #fff;
	line-height: 1.4;
}

.rsg-portal__list {
	display: grid;
	gap: 7px;
	margin-block-start: 2px;
	max-block-size: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-block-size .55s var(--rsg-ease), opacity .45s var(--rsg-ease), margin .55s var(--rsg-ease);
}

.rsg-portal:hover .rsg-portal__list,
.rsg-portal:focus-visible .rsg-portal__list {
	max-block-size: 160px;
	opacity: 1;
	margin-block-start: 6px;
}

.rsg-portal__row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--rsg-fg-dim);
}

.rsg-portal__row i {
	flex: 0 0 auto;
	inline-size: 5px;
	block-size: 5px;
	margin-block-start: 8px;
	border-radius: 50%;
	background: var(--rsg-cyan);
}

.rsg-portal__row em {
	font-style: normal;
}

.rsg-portal__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-block-start: 4px;
	font-size: 13px;
	font-weight: 500;
	color: var(--rsg-orange-hi);
}

.rsg-portal:hover .rsg-portal__cta .rsg-i {
	transform: translateX(-4px);
}

.rsg-portal__cta .rsg-i {
	transition: transform .35s var(--rsg-ease);
}

.rsg-portal:focus-visible {
	outline: 2px solid var(--rsg-cyan);
	outline-offset: 3px;
}


/* ═══ ۰۸.۵ — سه نوار اختصاصی دسته‌های شاخص ════════════════════════════════
 * هر نوار: ستون هویت (شماره + نام + توضیح + شمارش + دکمه) کنار ریل ۴ مقاله.
 * رنگ اکسنت هر نوار از متغیر --accent می‌آید که PHP ست می‌کند.
 * ═══════════════════════════════════════════════════════════════════════════ */

.rsg-bands {
	display: grid;
	gap: clamp(18px, 2.4vw, 30px);
}

.rsg-band {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
	gap: clamp(20px, 2.6vw, 38px);
	padding: clamp(22px, 2.8vw, 36px);
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r-lg);
	background:
		radial-gradient(70% 130% at 100% 0%, rgba(var(--accent), .16), transparent 62%),
		linear-gradient(120deg, rgba(15, 17, 26, .82), rgba(11, 13, 22, .72));
	transition: border-color .5s var(--rsg-ease), box-shadow .5s var(--rsg-ease);
}

.rsg-band:hover {
	border-color: rgba(var(--accent), .45);
	box-shadow: 0 24px 70px -34px rgba(var(--accent), .6);
}

/* نوار باریک رنگی روی لبه‌ی بالا */
.rsg-band::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	block-size: 2px;
	background: linear-gradient(to left, rgb(var(--accent)), transparent 70%);
	z-index: 2;
}

.rsg-band--flip {
	grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
}

.rsg-band--flip .rsg-band__head {
	order: 2;
}

/* واترمارک درشت نام دسته */
.rsg-band__wm {
	position: absolute;
	inset-block-end: -.16em;
	inset-inline-start: clamp(14px, 1.8vw, 28px);
	z-index: 0;
	font-size: clamp(52px, 6vw, 92px);
	font-weight: 700;
	line-height: .8;
	white-space: nowrap;
	text-align: start;
	direction: ltr;
	letter-spacing: -.02em;
	text-transform: uppercase;
	color: rgba(var(--accent), .085);
	pointer-events: none;
	user-select: none;
}

.rsg-band--flip .rsg-band__wm {
	inset-inline-start: auto;
	inset-inline-end: clamp(14px, 1.8vw, 28px);
	text-align: end;
}

/* ── ستون هویت ── */
.rsg-band__head {
	position: relative;
	z-index: 1;
	display: grid;
	align-content: center;
	gap: 10px;
	padding-inline-end: clamp(0px, 1.6vw, 22px);
}

.rsg-band--flip .rsg-band__head {
	padding-inline: clamp(0px, 1.6vw, 22px) 0;
}

.rsg-band__n {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	color: rgb(var(--accent));
	font-variant-numeric: tabular-nums;
	display: flex;
	align-items: center;
	gap: 9px;
}

.rsg-band__n::after {
	content: "";
	block-size: 1px;
	flex: 1 1 auto;
	background: linear-gradient(to left, rgba(var(--accent), .55), transparent);
}

.rsg-band__title {
	margin: 0;
	font-size: clamp(19px, 2vw, 26px);
	font-weight: 700;
	line-height: 1.4;
	color: var(--rsg-fg);
}

.rsg-band__desc {
	margin: 0;
	font-size: 13px;
	line-height: 1.95;
	color: var(--rsg-fg-dim);
}

.rsg-band__count {
	font-size: 12px;
	color: var(--rsg-fg-mute);
}

.rsg-band__count b {
	color: rgb(var(--accent));
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.rsg-band__cta {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-block-start: 4px;
	padding-block-end: 5px;
	border-block-end: 1px solid rgba(var(--accent), .45);
	font-size: 13px;
	font-weight: 500;
	color: rgb(var(--accent));
	text-decoration: none;
	transition: gap .35s var(--rsg-ease), border-color .35s var(--rsg-ease);
}

.rsg-band__cta:hover {
	color: rgb(var(--accent));
	gap: 12px;
	border-color: rgb(var(--accent));
}

.rsg-band__cta .rsg-i {
	transition: transform .35s var(--rsg-ease);
}

.rsg-band__cta:hover .rsg-i {
	transform: translateX(-3px);
}

/* ── ریل مقالات ── */
.rsg-band__rail {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(10px, 1.2vw, 16px);
}

.rsg-mini {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	border: 1px solid var(--rsg-line);
	border-radius: 12px;
	overflow: hidden;
	background: rgba(7, 8, 13, .55);
	transition: transform .45s var(--rsg-ease), border-color .45s var(--rsg-ease);
}

.rsg-mini:hover {
	transform: translateY(-5px);
	border-color: rgba(var(--accent), .55);
}

.rsg-mini__link {
	position: absolute;
	inset: 0;
	z-index: 3;
}

.rsg-mini__media {
	position: relative;
	overflow: hidden;
	line-height: 0;
	aspect-ratio: 16 / 9;
	background: #0A0C14;
}

.rsg-mini__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	filter: saturate(1.05) contrast(1.03);
	transform: scale(1.02);
	transition: transform .7s var(--rsg-ease), filter .5s var(--rsg-ease);
}

.rsg-mini:hover .rsg-mini__media img {
	filter: none;
	transform: scale(1.09);
}

.rsg-mini__tint {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(7, 8, 13, .82) 0%, rgba(7, 8, 13, .2) 48%, rgba(var(--accent), .16) 82%, transparent);
	transition: opacity .5s var(--rsg-ease);
}

.rsg-mini:hover .rsg-mini__tint {
	opacity: .55;
}

.rsg-mini__body {
	display: grid;
	align-content: start;
	gap: 7px;
	padding: 11px 12px 13px;
}

.rsg-mini__title {
	margin: 0;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.75;
}

.rsg-mini__a {
	color: var(--rsg-fg);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color .3s var(--rsg-ease);
}

.rsg-mini:hover .rsg-mini__a {
	color: rgb(var(--accent));
}

.rsg-mini__a:focus-visible {
	outline: 2px solid rgb(var(--accent));
	outline-offset: 3px;
	border-radius: 4px;
}

.rsg-mini__meta {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: var(--rsg-fg-mute);
}


/* ═══ ۰۹ — گرید آخرین مادها ═══════════════════════════════════════════════ */

.rsg-latest {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--rsg-gap);
}

.rsg-card {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r);
	overflow: hidden;
	background: var(--rsg-surface);
	transition: transform .45s var(--rsg-ease), border-color .45s var(--rsg-ease), box-shadow .45s var(--rsg-ease);
	transition-delay: calc(var(--i, 0) * 40ms);
}

.rsg-card:hover {
	transform: translateY(-6px);
	border-color: rgba(124, 58, 237, .5);
	box-shadow: var(--rsg-glow-v);
}

.rsg-card--lead {
	grid-column: span 2;
	grid-row: span 2;
}

/* لینک اصلی و قابل ایندکس، روی خودِ عنوان است.
   لایه‌ی زیر فقط کل کارت را قابل کلیک می‌کند و از دید اسکرین‌ریدر و کیبورد پنهان است. */
.rsg-card__link {
	position: absolute;
	inset: 0;
	z-index: 3;
}

.rsg-card__a {
	color: inherit;
	text-decoration: none;
}

.rsg-card__a:focus-visible {
	outline: 2px solid var(--rsg-cyan);
	outline-offset: 3px;
	border-radius: 4px;
}

.rsg-card__media {
	position: relative;
	overflow: hidden;
	line-height: 0;
	/* تصاویر شاخص سایت ۱۶:۹ هستند (۳۸۲×۲۱۵ و ۱۰۲۴×۵۷۶)، پس قاب هم ۱۶:۹
	   است تا برشی روی تصویر نیفتد. */
	aspect-ratio: 16 / 9;
	background: #0A0C14;
}

/* کارت شاخص قبلاً ‎block-size:100%‎ داشت؛ چون سلولش ۲×۲ است قاب تقریباً
   مربع می‌شد و تصویر ۱۶:۹ به‌شدت بریده می‌شد. حالا همان نسبت را نگه می‌دارد
   و بدنه فضای باقی‌مانده را پر می‌کند. */
.rsg-card--lead .rsg-card__media {
	aspect-ratio: 16 / 9;
	block-size: auto;
}

.rsg-card--lead {
	grid-template-rows: auto 1fr;
}

.rsg-card--lead .rsg-card__body {
	align-content: start;
}

.rsg-card__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(1.06) contrast(1.04);
	transform: scale(1.02);
	transition: transform .7s var(--rsg-ease), filter .55s var(--rsg-ease);
}

.rsg-card:hover .rsg-card__media img {
	filter: saturate(1.18) contrast(1.06);
	transform: scale(1.08);
}

.rsg-card__tint {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(7, 8, 13, .9) 0%, rgba(7, 8, 13, .35) 42%, rgba(124, 58, 237, .12) 78%, transparent 100%);
	opacity: .82;
	transition: opacity .5s var(--rsg-ease);
}

.rsg-card:hover .rsg-card__tint {
	opacity: .65;
}

.rsg-card__body {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 9px;
	align-content: start;
	padding: 16px 16px 18px;
}

.rsg-card--lead .rsg-card__body {
	margin-block-start: -70px;
	padding: 22px;
	gap: 11px;
	align-content: start;
}

/* خلاصه‌ی مقاله‌ی شاخص باید تمام فضای زیر تصویر را پر کند، نه نیمی از آن.
   بدنه فلکسِ ستونی است و خلاصه فضای باقی‌مانده را می‌گیرد. */
.rsg-card--lead .rsg-card__body {
	display: flex;
	flex-direction: column;
}

.rsg-card--lead .rsg-card__excerpt {
	flex: 1 1 auto;
	-webkit-line-clamp: 9;
	font-size: 13.5px;
	line-height: 2.05;
	margin-block-end: 4px;
}

.rsg-card--lead .rsg-card__meta {
	margin-block-start: auto;
}

.rsg-card__chip {
	justify-self: start;
	padding: 3px 10px;
	border-radius: 999px;
	border: 1px solid rgba(124, 58, 237, .4);
	background: rgba(124, 58, 237, .16);
	font-size: 11px;
	color: var(--rsg-violet-hi);
}

.rsg-card__title {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.8;
	color: var(--rsg-fg);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color .3s var(--rsg-ease);
}

.rsg-card--lead .rsg-card__title {
	font-size: clamp(17px, 1.6vw, 21px);
	font-weight: 700;
	line-height: 1.65;
	-webkit-line-clamp: 3;
}

.rsg-card:hover .rsg-card__title {
	color: var(--rsg-cyan);
}

.rsg-card__excerpt {
	margin: 0;
	font-size: 13px;
	line-height: 1.95;
	color: var(--rsg-fg-dim);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.rsg-card__meta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	color: var(--rsg-fg-mute);
}

.rsg-card__meta .rsg-i {
	opacity: .8;
}

.rsg-latest__foot {
	display: flex;
	justify-content: center;
	margin-block-start: clamp(34px, 4vw, 54px);
}

/* رَپر دکمه‌ی پایان سکشن — قبلاً هیچ استایلی نداشت و دکمه به کارت بالایی می‌چسبید */
.rsg-btnwrap {
	display: flex;
	margin-block-start: clamp(34px, 4vw, 54px);
}

.rsg-btnwrap--center { justify-content: center; }
.rsg-btnwrap--right  { justify-content: flex-start; }
.rsg-btnwrap--left   { justify-content: flex-end; }


/* ── ریل کارت‌های غیرشاخص ──────────────────────────────────────────────
   روی دسکتاپ display:contents است، یعنی خودش محو می‌شود و کارت‌ها مستقیم
   در گرید والد می‌نشینند — پس چیدمان دسکتاپ هیچ تغییری نمی‌کند. */
.rsg-latest__rail {
	display: contents;
}

.rsg-latest__nav {
	display: none;
}

.rsg-railbtn {
	inline-size: 44px;
	block-size: 44px;
	display: grid;
	place-items: center;
	cursor: pointer;
	/* ریست کامل: وودمارت به همه‌ی button پس‌زمینه و پدینگ می‌دهد و
	   دکمه به یک مستطیل طوسیِ خالی تبدیل می‌شد. */
	appearance: none;
	-webkit-appearance: none;
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	font-size: 0 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
	border: 1px solid rgba(124, 58, 237, .5) !important;
	border-radius: 50% !important;
	background: rgba(124, 58, 237, .16) !important;
	color: var(--rsg-violet-hi) !important;
	transition: background-color .3s var(--rsg-ease), border-color .3s var(--rsg-ease),
		color .3s var(--rsg-ease), opacity .3s;
}

.rsg-railbtn::after,
.rsg-railbtn::before {
	content: none !important;
}

.rsg-railbtn .rsg-i {
	inline-size: 18px;
	block-size: 18px;
	color: currentColor;
	fill: currentColor;
}

.rsg-railbtn:hover:not(:disabled) {
	background: var(--rsg-violet) !important;
	border-color: var(--rsg-violet) !important;
	color: #fff !important;
}

.rsg-railbtn:disabled {
	opacity: .35;
	cursor: default;
}

.rsg-railbtn--next .rsg-i {
	transform: rotate(180deg);
}


/* ═══ ۱۰ — پرطرفدارترین و پیشنیازها ═══════════════════════════════════════ */

.rsg-rails {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: var(--rsg-gap);
	align-items: stretch;
}

.rsg-rail {
	display: flex;
	flex-direction: column;
	padding: clamp(20px, 2.4vw, 30px);
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r-lg);
	background: linear-gradient(150deg, rgba(124, 58, 237, .08), rgba(15, 17, 26, .7));
}

.rsg-rail--prereq {
	background: linear-gradient(150deg, rgba(34, 211, 238, .08), rgba(15, 17, 26, .7));
}

.rsg-rail__note {
	margin: -10px 0 18px;
	font-size: 12.5px;
	color: var(--rsg-fg-mute);
}

/* لیست‌ها فضای باقی‌مانده‌ی ستون را پر می‌کنند تا زیرشان خالی نماند */
.rsg-rail > .rsg-toplist,
.rsg-rail > .rsg-prereq {
	flex: 1 1 auto;
}

/* ── لیست پرطرفدارترین ── */
.rsg-toplist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
	counter-reset: rsgtop;
}

.rsg-top {
	display: grid;
	grid-template-columns: auto 68px minmax(0, 1fr);
	align-items: center;
	gap: 13px;
	padding: 9px 10px;
	border-radius: 12px;
	border: 1px solid transparent;
	transition: background-color .35s var(--rsg-ease), border-color .35s var(--rsg-ease);
}

.rsg-top:hover {
	background: rgba(255, 255, 255, .035);
	border-color: var(--rsg-line);
}

.rsg-top__n {
	font-size: 15px;
	font-weight: 700;
	color: var(--rsg-fg-mute);
	font-variant-numeric: tabular-nums;
	transition: color .35s var(--rsg-ease);
}

.rsg-top:hover .rsg-top__n {
	color: var(--rsg-violet-hi);
}

.rsg-top__thumb {
	inline-size: 68px;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #0A0C14;
	line-height: 0;
}

.rsg-top__thumb img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	filter: saturate(1.05);
	transition: filter .45s var(--rsg-ease);
}

.rsg-top:hover .rsg-top__thumb img {
	filter: none;
}

.rsg-top__body {
	display: grid;
	gap: 3px;
	min-inline-size: 0;
}

.rsg-top__title {
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.7;
	color: var(--rsg-fg);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color .3s var(--rsg-ease);
}

.rsg-top__title:hover {
	color: var(--rsg-cyan);
}

.rsg-top__meta {
	font-size: 11px;
	color: var(--rsg-fg-mute);
}

/* ── کارت‌های پیشنیاز نصب (۲×۲، هم‌ارتفاع با ستون پرطرفدارترین) ── */
.rsg-prereq {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 12px;
	block-size: 100%;
}

.rsg-pre {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	border: 1px solid var(--rsg-line);
	border-radius: 12px;
	overflow: hidden;
	background: rgba(7, 8, 13, .5);
	transition: transform .4s var(--rsg-ease), border-color .4s var(--rsg-ease), box-shadow .4s var(--rsg-ease);
}

.rsg-pre:hover {
	transform: translateY(-4px);
	border-color: rgba(34, 211, 238, .5);
	box-shadow: 0 18px 44px -26px rgba(34, 211, 238, .7);
}

.rsg-pre__link {
	position: absolute;
	inset: 0;
	z-index: 3;
}

.rsg-pre__media {
	position: relative;
	display: block;
	overflow: hidden;
	line-height: 0;
	aspect-ratio: 16 / 9;
	background: #0A0C14;
}

.rsg-pre__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	filter: saturate(1.05) contrast(1.03);
	transform: scale(1.02);
	transition: transform .65s var(--rsg-ease), filter .5s var(--rsg-ease);
}

.rsg-pre:hover .rsg-pre__media img {
	filter: none;
	transform: scale(1.08);
}

.rsg-pre__tint {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(7, 8, 13, .92), rgba(14, 116, 144, .3) 68%, transparent);
}

.rsg-pre__body {
	display: grid;
	align-content: space-between;
	gap: 9px;
	padding: 12px 13px 13px;
}

.rsg-pre__a {
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.8;
	color: var(--rsg-fg);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color .3s var(--rsg-ease);
}

.rsg-pre:hover .rsg-pre__a {
	color: var(--rsg-cyan);
}

.rsg-pre__a:focus-visible {
	outline: 2px solid var(--rsg-cyan);
	outline-offset: 3px;
	border-radius: 4px;
}

.rsg-pre__go {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: var(--rsg-fg-mute);
	transition: color .3s var(--rsg-ease), gap .3s var(--rsg-ease);
}

.rsg-pre:hover .rsg-pre__go {
	color: var(--rsg-cyan);
	gap: 10px;
}


/* ═══ ۱۱ — نوار گیمرکلاب ══════════════════════════════════════════════════ */

.rsg-club {
	max-inline-size: var(--rsg-container);
	margin-inline: auto;
	padding-inline: var(--rsg-pad);
}

.rsg-club__inner {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 26px;
	padding: clamp(28px, 4vw, 46px) clamp(24px, 4vw, 54px);
	border: 1px solid rgba(124, 58, 237, .35);
	border-radius: var(--rsg-r-lg);
	background:
		radial-gradient(80% 140% at 88% 8%, rgba(124, 58, 237, .45), transparent 62%),
		radial-gradient(70% 120% at 6% 96%, rgba(34, 211, 238, .22), transparent 60%),
		linear-gradient(120deg, #12142099, #0B0D1699);
	box-shadow: var(--rsg-shadow);
}

.rsg-club__inner::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: .05;
	background-image:
		linear-gradient(rgba(255, 255, 255, .9) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .9) 1px, transparent 1px);
	background-size: 54px 54px;
	mask-image: radial-gradient(90% 100% at 84% 10%, #000, transparent 72%);
	-webkit-mask-image: radial-gradient(90% 100% at 84% 10%, #000, transparent 72%);
}

.rsg-club__copy {
	position: relative;
	z-index: 1;
	min-inline-size: 0;
}

.rsg-club__copy .rsg-h2 {
	font-size: clamp(22px, 2.6vw, 34px);
}

.rsg-club__copy .rsg-lead {
	margin-block-end: 0;
}

.rsg-club__actions {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}


/* ═══ ۱۱.۵ — صفحات داخلی: هیرو و شبکه‌ی دسته‌ها ════════════════════════════ */

.rsg-phero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(48px, 7vw, 88px);
	border-radius: var(--rsg-r-lg);
	background:
		radial-gradient(80% 130% at 88% 0%, rgba(124, 58, 237, .3), transparent 62%),
		radial-gradient(70% 120% at 6% 100%, rgba(34, 211, 238, .16), transparent 60%),
		linear-gradient(120deg, rgba(18, 20, 31, .9), rgba(11, 13, 22, .82));
	border: 1px solid var(--rsg-line);
}

.rsg-phero--img::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: var(--rsg-bg);
	background-size: cover;
	background-position: 50% 40%;
}

.rsg-phero__scrim {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(to left, rgba(10, 11, 18, .95) 6%, rgba(10, 11, 18, .78) 48%, rgba(10, 11, 18, .5) 100%),
		linear-gradient(to top, var(--rsg-void), transparent 60%);
}

/* بافت آیکونی سایت، مثل سکشن‌های صفحه اول */
.rsg-phero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: .68;
	background-image: var(--rsg-pattern), var(--rsg-pattern);
	background-size: var(--rsg-pattern-sz);
	background-repeat: repeat;
	mask-image: radial-gradient(120% 100% at 50% 50%, #000 45%, transparent 92%);
	-webkit-mask-image: radial-gradient(120% 100% at 50% 50%, #000 45%, transparent 92%);
}

.rsg-phero__inner {
	position: relative;
	z-index: 1;
	max-inline-size: 760px;
	padding-inline: clamp(22px, 4vw, 52px);
}

.rsg-phero__title {
	margin: 0 0 16px;
	font-size: clamp(24px, 3.4vw, 40px);
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
	letter-spacing: -.01em;
}

.rsg-phero__title em {
	font-style: normal;
	background: linear-gradient(100deg, var(--rsg-violet-hi), var(--rsg-cyan));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.rsg-phero__text {
	margin: 0;
	max-inline-size: 62ch;
	font-size: clamp(13.5px, 1.15vw, 15.5px);
	line-height: 2.05;
	color: var(--rsg-fg-dim);
}

.rsg-phero__stats {
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.rsg-phero__stats li {
	display: grid;
	gap: 2px;
	padding-inline: 20px;
	border-inline-start: 1px solid var(--rsg-line);
}

.rsg-phero__stats li:first-child {
	padding-inline-start: 0;
	border-inline-start: 0;
}

.rsg-phero__stats b {
	font-size: clamp(20px, 2.4vw, 28px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--rsg-cyan);
	font-variant-numeric: tabular-nums;
}

.rsg-phero__stats i {
	font-style: normal;
	font-size: 12px;
	color: var(--rsg-fg-mute);
}

.rsg-phero__cta {
	margin-block-start: 26px;
}

/* ── شبکه‌ی دسته‌بندی مادها ── */
.rsg-cats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--rsg-gap);
}

.rsg-cat {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
	gap: 4px 16px;
	padding: 22px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r-lg);
	background: linear-gradient(140deg, rgba(124, 58, 237, .09), rgba(15, 17, 26, .75));
	text-decoration: none;
	transition: transform .45s var(--rsg-ease), border-color .45s var(--rsg-ease), box-shadow .45s var(--rsg-ease);
	transition-delay: calc(var(--i, 0) * 40ms);
}

.rsg-cat:hover {
	transform: translateY(-6px);
	border-color: rgba(124, 58, 237, .55);
	box-shadow: var(--rsg-glow-v);
}

.rsg-cat:focus-visible {
	outline: 2px solid var(--rsg-cyan);
	outline-offset: 3px;
}

/* نام انگلیسی به‌صورت واترمارک درشت پشت کارت */
.rsg-cat__en {
	position: absolute;
	inset-block-end: -.24em;
	inset-inline-end: .06em;
	z-index: -1;
	font-size: clamp(44px, 5vw, 66px);
	font-weight: 700;
	line-height: .8;
	direction: ltr;
	text-transform: uppercase;
	letter-spacing: -.03em;
	color: rgba(255, 255, 255, .045);
	pointer-events: none;
	user-select: none;
	transition: color .45s var(--rsg-ease);
}

.rsg-cat:hover .rsg-cat__en {
	color: rgba(167, 139, 250, .13);
}

.rsg-cat__icon {
	grid-row: 1 / span 2;
	inline-size: 60px;
	block-size: 60px;
	display: grid;
	place-items: center;
	border-radius: 16px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid var(--rsg-line);
	transition: background-color .4s var(--rsg-ease), transform .5s var(--rsg-ease);
}

.rsg-cat:hover .rsg-cat__icon {
	background: rgba(124, 58, 237, .2);
	transform: scale(1.06);
}

.rsg-cat__icon img {
	inline-size: 34px;
	block-size: 34px;
	object-fit: contain;
	filter: brightness(0) invert(1);
	opacity: .88;
}

.rsg-cat__body {
	display: grid;
	gap: 4px;
	min-inline-size: 0;
}

.rsg-cat__name {
	font-size: 16px;
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-cat__desc {
	font-size: 12.5px;
	line-height: 1.8;
	color: var(--rsg-fg-dim);
}

.rsg-cat__foot {
	grid-column: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-block-start: 8px;
	font-size: 12.5px;
	color: var(--rsg-orange-hi);
}

.rsg-cat__foot b {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.rsg-cat__foot .rsg-i {
	transition: transform .35s var(--rsg-ease);
}

.rsg-cat:hover .rsg-cat__foot .rsg-i {
	transform: translateX(-4px);
}


/* ═══ ۱۱.۶ — چهار بازی (صفحه‌ی عمومی مادها) ═══════════════════════════════ */

.rsg-games {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--rsg-gap);
}

.rsg-game {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	grid-template-rows: auto 1fr;
	min-block-size: 300px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r-lg);
	background: linear-gradient(150deg, rgba(var(--accent), .12), rgba(15, 17, 26, .8));
	text-decoration: none;
	transition: transform .5s var(--rsg-ease), border-color .5s var(--rsg-ease), box-shadow .5s var(--rsg-ease);
	transition-delay: calc(var(--i, 0) * 55ms);
}

.rsg-game:hover {
	transform: translateY(-8px);
	border-color: rgba(var(--accent), .55);
	box-shadow: 0 26px 70px -34px rgba(var(--accent), .65);
}

.rsg-game:focus-visible {
	outline: 2px solid rgb(var(--accent));
	outline-offset: 3px;
}

.rsg-game::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	block-size: 2px;
	z-index: 3;
	background: linear-gradient(to left, rgb(var(--accent)), transparent 72%);
}

.rsg-game__media {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	line-height: 0;
}

.rsg-game__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(1.05);
	transform: scale(1.03);
	transition: transform .8s var(--rsg-ease);
}

.rsg-game:hover .rsg-game__media img {
	transform: scale(1.1);
}

.rsg-game__tint {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
		rgba(10, 11, 18, .96) 8%,
		rgba(10, 11, 18, .74) 42%,
		rgba(var(--accent), .22) 100%);
	transition: opacity .5s var(--rsg-ease);
}

.rsg-game:hover .rsg-game__tint {
	opacity: .88;
}

.rsg-game__en {
	position: absolute;
	inset-block-start: .02em;
	inset-inline-end: .08em;
	z-index: 0;
	font-size: clamp(38px, 4.4vw, 58px);
	font-weight: 700;
	line-height: 1;
	direction: ltr;
	letter-spacing: -.03em;
	color: rgba(255, 255, 255, .07);
	pointer-events: none;
	user-select: none;
	transition: color .5s var(--rsg-ease);
}

.rsg-game:hover .rsg-game__en {
	color: rgba(var(--accent), .2);
}

.rsg-game__body {
	position: relative;
	z-index: 1;
	grid-row: 2;
	align-self: end;
	display: grid;
	gap: 8px;
	padding: 24px;
}

.rsg-game__name {
	font-size: clamp(18px, 1.9vw, 23px);
	font-weight: 700;
	color: #fff;
}

.rsg-game__desc {
	font-size: 13px;
	line-height: 1.95;
	color: var(--rsg-fg-dim);
	max-inline-size: 46ch;
}

.rsg-game__foot {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-block-start: 4px;
	font-size: 13px;
	color: rgb(var(--accent));
}

.rsg-game__foot b {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.rsg-game__foot .rsg-i {
	transition: transform .35s var(--rsg-ease);
}

.rsg-game:hover .rsg-game__foot .rsg-i {
	transform: translateX(-4px);
}


/* ═══ ۱۱.۷ — درباره‌ی ما ══════════════════════════════════════════════════ */

.rsg-about {
	display: grid;
	gap: clamp(30px, 4vw, 52px);
}

.rsg-about__story {
	max-inline-size: 78ch;
}

.rsg-about__story .rsg-lead:last-child {
	margin-block-end: 0;
}

/* ── خط زمانی ── */
.rsg-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--rsg-gap);
	position: relative;
}

.rsg-ms {
	position: relative;
	display: grid;
	gap: 6px;
	padding: 24px 22px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r-lg);
	background: linear-gradient(150deg, rgba(124, 58, 237, .1), rgba(15, 17, 26, .72));
	transition: transform .4s var(--rsg-ease), border-color .4s var(--rsg-ease);
}

.rsg-ms:hover {
	transform: translateY(-5px);
	border-color: rgba(124, 58, 237, .5);
}

.rsg-ms__ic {
	inline-size: 42px;
	block-size: 42px;
	display: grid;
	place-items: center;
	margin-block-end: 6px;
	border-radius: 13px;
	background: rgba(124, 58, 237, .2);
	color: var(--rsg-violet-hi);
}

.rsg-ms__year {
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--rsg-cyan);
	font-variant-numeric: tabular-nums;
}

.rsg-ms__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-ms__text {
	margin: 0;
	font-size: 13px;
	line-height: 1.95;
	color: var(--rsg-fg-dim);
}

/* ── ارزش‌ها ── */
.rsg-values {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--rsg-gap);
}

.rsg-value {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 4px 16px;
	padding: 22px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r);
	background: rgba(255, 255, 255, .025);
	transition: border-color .4s var(--rsg-ease), background-color .4s var(--rsg-ease);
}

.rsg-value:hover {
	border-color: rgba(34, 211, 238, .45);
	background: rgba(34, 211, 238, .06);
}

.rsg-value__ic {
	grid-row: 1 / span 2;
	inline-size: 46px;
	block-size: 46px;
	display: grid;
	place-items: center;
	border-radius: 14px;
	background: rgba(34, 211, 238, .14);
	color: var(--rsg-cyan);
}

.rsg-value__title {
	font-size: 15.5px;
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-value__text {
	margin: 0;
	font-size: 13px;
	line-height: 1.95;
	color: var(--rsg-fg-dim);
}


/* ═══ ۱۱.۸ — تماس با ما ═══════════════════════════════════════════════════ */

.rsg-contact {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: var(--rsg-gap);
	align-items: start;
}

.rsg-contact__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.rsg-ccard {
	display: grid;
	gap: 5px;
	padding: 24px 22px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r-lg);
	background: linear-gradient(150deg, rgba(124, 58, 237, .1), rgba(15, 17, 26, .75));
	text-decoration: none;
	transition: transform .4s var(--rsg-ease), border-color .4s var(--rsg-ease), box-shadow .4s var(--rsg-ease);
}

.rsg-ccard:hover {
	transform: translateY(-5px);
	border-color: rgba(124, 58, 237, .55);
	box-shadow: var(--rsg-glow-v);
}

.rsg-ccard:focus-visible {
	outline: 2px solid var(--rsg-cyan);
	outline-offset: 3px;
}

.rsg-ccard__ic {
	inline-size: 46px;
	block-size: 46px;
	display: grid;
	place-items: center;
	margin-block-end: 8px;
	border-radius: 14px;
	background: rgba(124, 58, 237, .2);
	color: var(--rsg-violet-hi);
	transition: background-color .4s var(--rsg-ease);
}

.rsg-ccard:hover .rsg-ccard__ic {
	background: rgba(124, 58, 237, .35);
}

.rsg-ccard__title {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-ccard__val {
	font-size: 15px;
	font-weight: 700;
	color: var(--rsg-cyan);
	font-variant-numeric: tabular-nums;
	word-break: break-all;
}

.rsg-ccard__note {
	font-size: 12px;
	line-height: 1.85;
	color: var(--rsg-fg-mute);
}

/* ── ستون کناری ── */
.rsg-contact__side {
	display: grid;
	gap: 14px;
}

.rsg-cbox {
	padding: 20px 22px;
	border: 1px solid var(--rsg-line);
	border-radius: var(--rsg-r);
	background: rgba(255, 255, 255, .025);
}

.rsg-cbox--warn {
	border-color: rgba(255, 122, 24, .35);
	background: rgba(255, 122, 24, .07);
}

.rsg-cbox__title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-block-end: 10px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--rsg-fg);
}

.rsg-cbox__title .rsg-i {
	color: var(--rsg-cyan);
	flex: 0 0 auto;
}

.rsg-cbox--warn .rsg-cbox__title .rsg-i {
	color: var(--rsg-orange-hi);
}

.rsg-cbox p {
	margin: 0;
	font-size: 13px;
	line-height: 2;
	color: var(--rsg-fg-dim);
}

.rsg-cbox p b {
	color: var(--rsg-fg);
	font-weight: 700;
}


/* ═══ ۱۱.۹ — ردیف بنر تبلیغاتی (html_block وودمارت) ═══════════════════════ */

/* بنرهای این بلوک معمولاً تصویر افقی یا GIF هستند؛ قاب و فاصله‌ی یکدست
   می‌گیرند تا با بقیه‌ی صفحه هم‌خانواده باشند. */
.rsg-promo-row > .wpb_column > .vc_column-inner > .wpb_wrapper {
	padding-block: clamp(18px, 2.4vw, 34px);
}

.rsg-promo-row .wpb-content-wrapper > *,
.rsg-promo-row .wpb_text_column {
	margin-block: 0;
}

.rsg-promo-row img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	max-inline-size: 100%;
	border-radius: var(--rsg-r-lg);
	border: 1px solid var(--rsg-line);
}

.rsg-promo-row a {
	display: block;
	border-radius: var(--rsg-r-lg);
	overflow: hidden;
	transition: transform .45s var(--rsg-ease), box-shadow .45s var(--rsg-ease);
}

.rsg-promo-row a:hover {
	transform: translateY(-3px);
	box-shadow: var(--rsg-glow-v);
}


/* ═══ ۱۲ — رسپانسیو ═══════════════════════════════════════════════════════ */

@media (max-width: 1200px) {
	.rsg-backup__grid { grid-template-columns: 1fr; }
	.rsg-backup__visual { order: -1; }
	.rsg-app { transform: none; }
	[data-rsg-tilt].is-in .rsg-app { transform: none; }
	.rsg-menyoo__grid { grid-template-columns: 1fr; }
	.rsg-mm { max-inline-size: 460px; }
	.rsg-latest { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rsg-card--lead { grid-column: span 3; grid-row: auto; }
	.rsg-card--lead .rsg-card__media { aspect-ratio: 21 / 9; block-size: auto; }
	.rsg-card--lead .rsg-card__body { margin-block-start: -60px; }
}

@media (max-width: 1100px) {
	.rsg-band,
	.rsg-band--flip { grid-template-columns: 1fr; }
	.rsg-band--flip .rsg-band__head { order: 0; padding-inline: 0; }
	.rsg-band__head { padding-inline: 0; }
	.rsg-band__rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rsg-band__wm { font-size: clamp(56px, 15vw, 96px); opacity: .8; }
}

@media (max-width: 1024px) {
	.rsg-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rsg-contact { grid-template-columns: 1fr; }
	.rsg-timeline { grid-template-columns: 1fr; }
	.rsg-portals { grid-template-columns: 1fr; }
	.rsg-portal { min-block-size: 320px; }
	.rsg-portal__list { max-block-size: 160px; opacity: 1; margin-block-start: 6px; }
	.rsg-rails { grid-template-columns: 1fr; }
	.rsg-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rsg-trust__list { grid-template-columns: repeat(2, 1fr); }
	.rsg-trust__item:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
	.rsg-trust__item:nth-child(odd) { border-inline-start: 0; padding-inline-start: 0; }
}

@media (max-width: 860px) {
	/* آخرین مادها: کارت شاخص تمام‌عرض، بقیه کاروسل افقی با اسنپ */
	.rsg-latest {
		grid-template-columns: 1fr;
	}

	.rsg-latest .rsg-card--lead {
		grid-column: auto;
		grid-row: auto;
	}

	.rsg-latest__rail {
		display: flex;
		gap: 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--rsg-pad);
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		/* لبه‌ها تا لبه‌ی صفحه کشیده شوند */
		margin-inline: calc(-1 * var(--rsg-pad));
		padding-inline: var(--rsg-pad);
		padding-block-end: 4px;
	}

	.rsg-latest__rail::-webkit-scrollbar {
		display: none;
	}

	/* ⚠ ‎minmax()‎ یک تابع گرید است و در flex-basis نامعتبر؛ کل اعلان دور
	   انداخته می‌شد و flex-shrink پیش‌فرض همه‌ی کارت‌ها را فشرده می‌کرد.
	   حالا دو کارت در هر نما، مثل کاروسل محصولات. */
	.rsg-latest__rail > .rsg-card {
		flex: 0 0 calc((100% - 14px) / 2);
		min-inline-size: 0;
		scroll-snap-align: start;
	}

	/* تایپوگرافی فشرده‌تر تا در عرض نصف صفحه خوانا بماند */
	.rsg-latest__rail .rsg-card__title {
		font-size: 12.5px;
		line-height: 1.75;
	}

	.rsg-latest__rail .rsg-card__body {
		padding: 12px 12px 14px;
		gap: 7px;
	}

	.rsg-latest__rail .rsg-card__chip {
		font-size: 10px;
		padding: 2px 8px;
	}

	.rsg-latest__rail .rsg-card__meta {
		font-size: 10.5px;
	}

	/* کارت شاخص روی موبایل نباید متن بلند داشته باشد */
	.rsg-card--lead .rsg-card__excerpt {
		-webkit-line-clamp: 4;
		font-size: 12.5px;
		line-height: 1.95;
	}

	.rsg-card--lead .rsg-card__body {
		margin-block-start: -46px;
		padding: 16px;
	}

	.rsg-latest__nav {
		display: flex;
		justify-content: center;
		gap: 12px;
		margin-block-start: 18px;
	}

	.rsg-hero__inner { min-block-size: min(80vh, 620px); }
	.rsg-hero__slide { max-inline-size: none; }
	.rsg-hero__scroll { display: none; }
	.rsg-hero__scrim {
		background:
			linear-gradient(to left, rgba(7, 8, 13, .94) 0%, rgba(7, 8, 13, .82) 55%, rgba(7, 8, 13, .62) 100%),
			linear-gradient(to top, var(--rsg-void) 3%, transparent 42%);
	}
	.rsg-latest { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rsg-card--lead { grid-column: span 2; }
	.rsg-club__inner { flex-direction: column; align-items: flex-start; }
	.rsg-prereq { grid-auto-rows: auto; }
	.rsg-hero__chips { max-inline-size: none; }

	/* روی موبایل نوار اعتماد سوار نمی‌شود؛ جا برای نصفه‌شدن نیست */
	.rsg-trust {
		margin-block-start: 0;
		padding-block-start: 26px;
	}

	.rsg-products > .wpb_column > .vc_column-inner > .wpb_wrapper,
	.rsg-products > .rsg-wrap {
		padding-block-start: clamp(34px, 6vw, 48px);
	}

	/* نوار اعتماد روی موبایل: اسکرول افقی نرم به‌جای فشردگی */
	.rsg-trust__list {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: minmax(210px, 1fr);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.rsg-trust__list::-webkit-scrollbar { display: none; }
	.rsg-trust__item { scroll-snap-align: start; }
	.rsg-trust__item + .rsg-trust__item { border-inline-start: 1px solid var(--rsg-line); padding-inline-start: 16px; }
}

@media (max-width: 600px) {
	.rsg-hero__inner { padding-block: 56px 96px; }
	.rsg-hero__title { font-size: clamp(26px, 8vw, 36px); }
	.rsg-hero__bg { background-image: var(--rsg-bg-sm, var(--rsg-bg)); }
	.rsg-hero__actions { width: 100%; }
	.rsg-hero__actions .rsg-btn { flex: 1 1 auto; }
	.rsg-hero__nav { gap: 12px; }
	.rsg-hero__bars { max-inline-size: none; }

	.rsg-latest { grid-template-columns: 1fr; }
	.rsg-card--lead { grid-column: auto; }
	.rsg-card--lead .rsg-card__body { margin-block-start: -50px; }
	.rsg-cats { grid-template-columns: 1fr; gap: 12px; }
	.rsg-games { grid-template-columns: 1fr; }
	.rsg-game { min-block-size: 240px; }
	.rsg-values { grid-template-columns: 1fr; }
	.rsg-contact__grid { grid-template-columns: 1fr; }
	.rsg-cat { padding: 16px; gap: 4px 13px; }
	.rsg-cat__icon { inline-size: 50px; block-size: 50px; border-radius: 13px; }
	.rsg-cat__icon img { inline-size: 28px; block-size: 28px; }
	.rsg-phero__stats li { padding-inline: 14px; }
	.rsg-steps { grid-template-columns: 1fr; }
	.rsg-head { flex-direction: column; align-items: flex-start; }
	.rsg-cta { flex-direction: column; align-items: stretch; text-align: center; }
	.rsg-cta__price { margin-inline-end: 0; justify-items: center; }
	.rsg-cta .rsg-btn { width: 100%; }
	/* روی موبایل کارت پین وسط‌چین می‌شود تا از کادر بیرون نزند */
	.rsg-pin__card {
		inline-size: min(230px, 72vw);
		inset-inline-end: -100px;
	}
	.rsg-mm__list { max-block-size: none; }

	.rsg-band__rail { grid-template-columns: 1fr; }
	.rsg-band__wm { display: none; }
	.rsg-prereq { grid-template-columns: 1fr; }

	/* روی موبایل هم در یک خط می‌مانند، فقط فشرده‌تر */
	.rsg-hero__chips li { padding-inline: 10px; font-size: 11px; }
	.rsg-hero__chips li:first-child { padding-inline-start: 0; }
}


/* ═══ ۱۳ — کاهش حرکت ══════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
	.rsg-page *,
	.rsg-page *::before,
	.rsg-page *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}

	.rsg-hero__bg.is-active,
	.rsg-hero__bg.is-entering {
		animation: none;
		transform: scale(1.04);
		transition: opacity .4s linear;
	}

	.rsg-hero__beam,
	.rsg-hero__scan,
	.rsg-hero__scroll { display: none; }

	.rsg-hero__slide > *,
	.rsg-hero__line > span { opacity: 1; transform: none; }

	.rsg-js [data-rsg-reveal] { opacity: 1; transform: none; }
}
