/*
 * کامپوننت‌های چایلد تم «رصدخانه اقتصاد» — پورت وفادار الگوهای UI پروتوتایپ
 * (کارت‌ها، نوار زنده، تیکر، سربرگ بخش‌ها، خبرنامه، شبکه‌ها).
 * همه رنگ‌ها/شعاع‌ها از tokens.css (توکن‌های --rsd-*) — بدون مقدار hard-code.
 */

/* ── پایه ── */
body {
        font-family: var(--rsd-font);
        background: var(--rsd-bg);
        color: var(--rsd-fg);
        text-rendering: optimizeLegibility;
        font-size: 16px;
}

/* فوتر چسبیده به پایین (قانون UI پروژه) */
body {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
}
main {
        flex: 1 1 auto;
}

.rsd-container {
        max-width: 80rem;
        margin-inline: auto;
        padding-inline: 1rem;
        width: 100%;
}
@media (min-width: 640px) {
        .rsd-container {
                padding-inline: 1.5rem;
        }
}
@media (min-width: 1024px) {
        .rsd-container {
                padding-inline: 2rem;
        }
}

.rsd-home {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
        padding-block: 1.5rem 2rem;
}
@media (min-width: 640px) {
        .rsd-home {
                padding-block: 2rem;
        }
}

/* برش متن چندخطی */
.rsd-clamp-1,
.rsd-clamp-2 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
}
.rsd-clamp-1 {
        -webkit-line-clamp: 1;
        line-clamp: 1;
}
.rsd-clamp-2 {
        -webkit-line-clamp: 2;
        line-clamp: 2;
}

/* حلقه فوکوس دسترس‌پذیری */
.rsd-card-link:focus-visible,
.rsd-btn:focus-visible,
.rsd-topbar button:focus-visible,
.rsd-ticker-item:focus-visible {
        outline: 2px solid var(--rsd-ring);
        outline-offset: 2px;
        border-radius: var(--rsd-radius-md);
}

/* ── سربرگ بخش (پورت SectionHeader) ── */
.rsd-section-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1.25rem;
}
.rsd-section-head .rsd-kicker {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-brand-700);
        margin-bottom: 0.375rem;
}
html.dark .rsd-section-head .rsd-kicker {
        color: var(--rsd-brand-400);
}
.rsd-kicker::before {
        content: '';
        display: inline-block;
        width: 1.25rem;
        height: 0.1875rem;
        border-radius: 9999px;
        background: var(--rsd-brand-500);
}
.rsd-section-head h2 {
        font-size: 1.25rem;
        font-weight: 800;
        line-height: 1.75rem;
        margin: 0;
}
.rsd-section-action {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        font-size: 12px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
        white-space: nowrap;
        text-decoration: none;
        transition: color 0.15s;
}
.rsd-section-action:hover {
        color: var(--rsd-brand-700);
}
html.dark .rsd-section-action:hover {
        color: var(--rsd-brand-400);
}

/* ── دکمه‌ها ── */
.rsd-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.5rem 1rem;
        border-radius: var(--rsd-radius-md);
        font-size: 14px;
        font-weight: 700;
        border: 1px solid transparent;
        cursor: pointer;
        text-decoration: none;
        transition: all 0.15s;
        font-family: inherit;
}
.rsd-btn-primary {
        background: var(--rsd-brand-600);
        color: #fff;
}
.rsd-btn-primary:hover {
        background: var(--rsd-brand-700);
}
html.dark .rsd-btn-primary {
        background: var(--rsd-brand-400);
        color: #221804;
}
html.dark .rsd-btn-primary:hover {
        background: var(--rsd-brand-300);
}
.rsd-btn-outline {
        background: transparent;
        border-color: var(--rsd-brand-300);
        color: var(--rsd-brand-700);
}
.rsd-btn-outline:hover {
        background: var(--rsd-brand-50);
}
html.dark .rsd-btn-outline {
        border-color: rgb(217 191 122 / 0.35);
        color: var(--rsd-brand-300);
}
html.dark .rsd-btn-outline:hover {
        background: rgb(185 140 51 / 0.1);
}
.rsd-btn[disabled] {
        opacity: 0.6;
        cursor: not-allowed;
}

/* ── چیپ و بج ── */
.rsd-chip {
        display: inline-flex;
        align-items: center;
        padding: 0.125rem 0.5rem;
        border-radius: var(--rsd-radius-sm);
        font-size: 10px;
        font-weight: 700;
}
.rsd-chip-cat {
        background: rgb(255 255 255 / 0.9);
        color: #1e293b;
        backdrop-filter: blur(4px);
}
.rsd-chip-analysis {
        background: var(--rsd-brand-600);
        color: #fff;
}
.rsd-chip-reportage {
        border: 1px dashed var(--rsd-brand-500);
        background: var(--rsd-brand-50);
        color: var(--rsd-brand-700);
}
html.dark .rsd-chip-reportage {
        background: rgb(185 140 51 / 0.1);
        color: var(--rsd-brand-300);
}
.rsd-chip-free {
        background: var(--rsd-up-soft);
        color: var(--rsd-up);
        font-weight: 800;
}

/* ── TopBar (پورت: تاریخ جلالی + دلار زنده + ورود + دارک‌مود) ── */
.rsd-topbar {
        display: block;
        padding-block: 0.375rem;
        border-bottom: 1px solid var(--rsd-border);
        background: var(--rsd-muted-bg);
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-topbar-flex {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        width: 100%;
}
@media (max-width: 767px) {
        .rsd-topbar .rsd-topbar-date {
                display: none;
        }
}
.rsd-topbar-side {
        display: flex;
        align-items: center;
        gap: 1rem;
}
.rsd-topbar button {
        background: none;
        border: 0;
        padding: 0;
        font: inherit;
        color: inherit;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        font-weight: 500;
        transition: color 0.15s;
        text-decoration: none;
}
.rsd-topbar button:hover,
.rsd-topbar a:hover {
        color: var(--rsd-fg);
}
.rsd-topbar a {
        color: inherit;
        text-decoration: none;
        font-weight: 500;
}
.rsd-topbar .rsd-usd {
        display: none; /* ماژول بازار (فاز ۶) با data-rsd-hydrated نمایش می‌دهد */
}
.rsd-topbar .rsd-usd[data-rsd-hydrated] {
        display: inline-flex;
}
.rsd-topbar .rsd-usd .rsd-num {
        font-variant-numeric: tabular-nums;
        color: var(--rsd-fg);
        direction: ltr;
        unicode-bidi: embed;
}
.rsd-up {
        color: var(--rsd-up);
}
.rsd-down {
        color: var(--rsd-down);
}
.rsd-theme-toggle {
        opacity: 0.85;
}

/* ── تیکر بازار (پورت ticker.tsx — تیره در هر دو حالت) ── */
.rsd-ticker {
        display: flex;
        align-items: stretch;
        background: var(--rsd-ticker-bg);
        color: var(--rsd-ticker-fg);
        overflow: hidden;
        position: relative;
        font-size: 11px;
}
.rsd-ticker-label {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        padding-inline: 0.875rem;
        font-weight: 700;
        background: var(--rsd-brand-600);
        color: #fff;
        white-space: nowrap;
}
html.dark .rsd-ticker-label {
        background: var(--rsd-brand-400);
        color: #221804;
}
.rsd-live-dot {
        position: relative;
        width: 0.4rem;
        height: 0.4rem;
        border-radius: 9999px;
        background: #34d399;
}
.rsd-live-dot::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: 9999px;
        background: #34d399;
        animation: rsd-ping 1.4s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes rsd-ping {
        0% {
                transform: scale(1);
                opacity: 0.8;
        }
        80%,
        100% {
                transform: scale(2.4);
                opacity: 0;
        }
}
.rsd-ticker-viewport {
        overflow: hidden;
        flex: 1;
        display: flex;
        align-items: center;
        mask-image: linear-gradient(to right, transparent, black 3%, black 97%, transparent);
        -webkit-mask-image: linear-gradient(to right, transparent, black 3%, black 97%, transparent);
}
.rsd-ticker-item {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding-inline: 0.875rem;
        white-space: nowrap;
        color: var(--rsd-ticker-fg);
        text-decoration: none;
        line-height: 2.4;
}
.rsd-ticker-item:hover {
        background: rgb(255 255 255 / 0.06);
}
.rsd-ticker-item .rsd-num {
        font-variant-numeric: tabular-nums;
        direction: ltr;
        unicode-bidi: embed;
}
.rsd-ticker-status {
        padding-inline: 0.875rem;
        display: flex;
        align-items: center;
        font-size: 10px;
        font-weight: 700;
        color: rgb(242 239 232 / 0.7);
        white-space: nowrap;
        border-inline-start: 1px solid rgb(255 255 255 / 0.12);
}
/* تا پیش از فاز ۶ (بدون ماژول بازار) تیکر نمایش داده نمی‌شود */
.rsd-ticker[data-rsd-pending] {
        display: none;
}

/* ── شبکه‌های صفحه اصلی ── */
.rsd-grid {
        display: grid;
        gap: 1rem;
}
.rsd-hero-layout {
        display: grid;
        gap: 1.25rem;
}
@media (min-width: 1024px) {
        .rsd-hero-layout {
                grid-template-columns: 2fr 1fr;
        }
}
.rsd-news-layout {
        display: grid;
        gap: 1.5rem;
}
@media (min-width: 1024px) {
        .rsd-news-layout {
                grid-template-columns: 3fr 1fr;
        }
}
.rsd-grid-4 {
        grid-template-columns: 1fr;
}
@media (min-width: 640px) {
        .rsd-grid-4 {
                grid-template-columns: repeat(2, 1fr);
        }
}
@media (min-width: 1024px) {
        .rsd-grid-4 {
                grid-template-columns: repeat(4, 1fr);
        }
}
.rsd-grid-3 {
        grid-template-columns: 1fr;
}
@media (min-width: 640px) {
        .rsd-grid-3 {
                grid-template-columns: repeat(2, 1fr);
        }
}
@media (min-width: 1024px) {
        .rsd-grid-3 {
                grid-template-columns: repeat(3, 1fr);
        }
}
.rsd-grid-2 {
        grid-template-columns: 1fr;
}
@media (min-width: 640px) {
        .rsd-grid-2 {
                grid-template-columns: repeat(2, 1fr);
        }
}

/* ── کارت تیتر یک (پورت HeroArticleCard) ── */
.rsd-hero-card {
        position: relative;
        display: block;
        width: 100%;
        min-height: 380px;
        border-radius: var(--rsd-radius-2xl);
        overflow: hidden;
        box-shadow: var(--rsd-shadow-card);
        transition: box-shadow 0.2s;
        text-decoration: none;
}
.rsd-hero-card:hover {
        box-shadow: var(--rsd-shadow-hover);
}
.rsd-hero-card img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s;
}
.rsd-hero-card:hover img {
        transform: scale(1.03);
}
.rsd-hero-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgb(15 23 42 / 0.9), rgb(15 23 42 / 0.45) 55%, transparent);
}
.rsd-hero-content {
        position: absolute;
        inset-inline: 0;
        bottom: 0;
        padding: 1.25rem;
}
@media (min-width: 640px) {
        .rsd-hero-content {
                padding: 1.75rem;
        }
}
.rsd-hero-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-bottom: 0.75rem;
}
.rsd-hero-badges .rsd-chip-cat {
        background: var(--rsd-brand-500);
        color: #fff;
        backdrop-filter: none;
        padding: 0.125rem 0.5rem;
}
.rsd-hero-title {
        font-size: 1.25rem;
        font-weight: 800;
        line-height: 2rem;
        color: #fff;
        margin: 0 0 0.5rem;
}
@media (min-width: 640px) {
        .rsd-hero-title {
                font-size: 1.5rem;
                line-height: 2.5rem;
        }
}
.rsd-hero-subtitle {
        display: none;
        font-size: 14px;
        line-height: 1.75rem;
        color: rgb(255 255 255 / 0.8);
        margin-bottom: 0.75rem;
}
@media (min-width: 640px) {
        .rsd-hero-subtitle {
                display: -webkit-box;
                -webkit-line-clamp: 2;
                line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
        }
}
.rsd-hero-meta {
        color: rgb(255 255 255 / 0.75);
}

/* ردیف متای کارت (زمان/بازدید/مطالعه/نویسنده) */
.rsd-meta-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.25rem 0.75rem;
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-meta-row > span {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
}
.rsd-meta-row .rsd-meta-sep {
        border-inline-start: 1px solid var(--rsd-border);
        padding-inline-start: 0.75rem;
}
.rsd-meta-row svg {
        opacity: 0.8;
}

/* ── کارت خبر پیش‌فرض (پورت ArticleCard) ── */
.rsd-news-card {
        display: flex;
        flex-direction: column;
        height: 100%;
        border-radius: var(--rsd-radius-xl);
        overflow: hidden;
        background: var(--rsd-card);
        border: 1px solid var(--rsd-border);
        box-shadow: var(--rsd-shadow-card);
        text-decoration: none;
        transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.rsd-news-card:hover {
        transform: translateY(-2px);
        border-color: var(--rsd-brand-200);
        box-shadow: var(--rsd-shadow-hover);
}
.rsd-card-cover {
        position: relative;
        display: block;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: linear-gradient(135deg, var(--rsd-brand-100), var(--rsd-brand-50));
}
.rsd-card-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s;
}
.rsd-news-card:hover .rsd-card-cover img {
        transform: scale(1.04);
}
.rsd-card-badges {
        position: absolute;
        top: 0.5rem;
        inset-inline-start: 0.5rem;
        display: flex;
        gap: 0.375rem;
}
.rsd-news-card-body {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 1rem;
}
.rsd-news-card-title {
        font-size: 15px;
        font-weight: 700;
        line-height: 1.75rem;
        margin-bottom: 0.5rem;
        color: var(--rsd-fg);
        transition: color 0.15s;
}
.rsd-news-card:hover .rsd-news-card-title {
        color: var(--rsd-brand-700);
}
html.dark .rsd-news-card:hover .rsd-news-card-title {
        color: var(--rsd-brand-400);
}
.rsd-news-card-excerpt {
        font-size: 13px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
        margin-bottom: 0.75rem;
}
.rsd-news-card-body .rsd-meta-row {
        margin-top: auto;
}

/* ── ردیف فهرست شماره‌دار (پورت ArticleRow) ── */
.rsd-row-item {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        width: 100%;
        padding: 0.5rem;
        border-radius: var(--rsd-radius-md);
        text-decoration: none;
        transition: background 0.15s;
}
.rsd-row-item:hover {
        background: var(--rsd-muted-bg);
}
.rsd-row-index {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.5rem;
        height: 1.5rem;
        border-radius: var(--rsd-radius-sm);
        font-size: 12px;
        font-weight: 800;
        background: var(--rsd-muted-bg);
        color: var(--rsd-muted-fg);
        margin-top: 0.125rem;
}
.rsd-row-index.rsd-row-top {
        background: var(--rsd-brand-100);
        color: var(--rsd-brand-700);
}
html.dark .rsd-row-index.rsd-row-top {
        background: rgb(185 140 51 / 0.2);
        color: var(--rsd-brand-300);
}
.rsd-row-body {
        min-width: 0;
        flex: 1;
}
.rsd-row-title {
        display: block;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.5rem;
        margin-bottom: 0.25rem;
        color: var(--rsd-fg);
        transition: color 0.15s;
}
.rsd-row-item:hover .rsd-row-title {
        color: var(--rsd-brand-700);
}
html.dark .rsd-row-item:hover .rsd-row-title {
        color: var(--rsd-brand-400);
}
.rsd-row-meta {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 10px;
        color: var(--rsd-muted-fg);
}

/* ── کارت تحلیل افقی (پورت AnalysisCard) ── */
.rsd-analysis-card {
        display: flex;
        gap: 1rem;
        padding: 0.75rem;
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        border: 1px solid var(--rsd-border);
        box-shadow: var(--rsd-shadow-card);
        text-decoration: none;
        transition: border-color 0.2s, box-shadow 0.2s;
}
@media (min-width: 640px) {
        .rsd-analysis-card {
                padding: 1rem;
        }
}
.rsd-analysis-card:hover {
        border-color: var(--rsd-brand-200);
        box-shadow: var(--rsd-shadow-hover);
}
.rsd-analysis-thumb {
        display: none;
        flex-shrink: 0;
        width: 9rem;
        height: 6rem;
        border-radius: var(--rsd-radius-md);
        overflow: hidden;
        background: linear-gradient(135deg, var(--rsd-brand-100), var(--rsd-brand-50));
}
@media (min-width: 640px) {
        .rsd-analysis-thumb {
                display: block;
        }
}
.rsd-analysis-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s;
}
.rsd-analysis-card:hover .rsd-analysis-thumb img {
        transform: scale(1.05);
}
.rsd-analysis-body {
        display: flex;
        flex-direction: column;
        min-width: 0;
        flex: 1;
}
.rsd-analysis-badges {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.375rem;
}
.rsd-chip-analysis-soft {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
        padding: 0.125rem 0.375rem;
        border-radius: var(--rsd-radius-sm);
        background: var(--rsd-brand-100);
        color: var(--rsd-brand-700);
        font-size: 10px;
        font-weight: 700;
}
html.dark .rsd-chip-analysis-soft {
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-300);
}
.rsd-analysis-title {
        font-size: 15px;
        font-weight: 700;
        line-height: 1.75rem;
        margin-bottom: 0.25rem;
        color: var(--rsd-fg);
}
.rsd-analysis-card:hover .rsd-analysis-title {
        color: var(--rsd-brand-700);
}
html.dark .rsd-analysis-card:hover .rsd-analysis-title {
        color: var(--rsd-brand-400);
}
.rsd-analysis-excerpt {
        display: none;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
@media (min-width: 640px) {
        .rsd-analysis-excerpt {
                display: block;
        }
}
.rsd-analysis-body .rsd-meta-row {
        margin-top: auto;
        padding-top: 0.25rem;
}

/* ── کارت دوره (پورت CourseMiniCard) ── */
.rsd-course-card {
        display: flex;
        flex-direction: column;
        height: 100%;
        border-radius: var(--rsd-radius-xl);
        overflow: hidden;
        background: var(--rsd-card);
        border: 1px solid var(--rsd-border);
        box-shadow: var(--rsd-shadow-card);
        text-decoration: none;
        transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.rsd-course-card:hover {
        transform: translateY(-2px);
        border-color: var(--rsd-brand-200);
        box-shadow: var(--rsd-shadow-hover);
}
.rsd-course-cover {
        position: relative;
        display: block;
        aspect-ratio: 16 / 8;
        overflow: hidden;
        background: linear-gradient(135deg, var(--rsd-brand-200), var(--rsd-brand-100));
}
.rsd-course-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s;
}
.rsd-course-card:hover .rsd-course-cover img {
        transform: scale(1.04);
}
.rsd-course-body {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 1rem;
}
.rsd-course-title {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.75rem;
        margin-bottom: 0.375rem;
        color: var(--rsd-fg);
}
.rsd-course-card:hover .rsd-course-title {
        color: var(--rsd-brand-700);
}
html.dark .rsd-course-card:hover .rsd-course-title {
        color: var(--rsd-brand-400);
}
.rsd-course-meta {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-size: 11px;
        color: var(--rsd-muted-fg);
        margin-bottom: 0.75rem;
}
.rsd-course-meta > span {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
}
.rsd-course-foot {
        margin-top: auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
}
.rsd-price {
        font-size: 13px;
        font-weight: 800;
        color: var(--rsd-brand-700);
}
html.dark .rsd-price {
        color: var(--rsd-brand-400);
}

/* ── کارت محصول (پورت ProductMiniCard) ── */
.rsd-product-card {
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: 1rem;
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        border: 1px solid var(--rsd-border);
        box-shadow: var(--rsd-shadow-card);
        text-decoration: none;
        transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.rsd-product-card:hover {
        transform: translateY(-2px);
        border-color: var(--rsd-brand-200);
        box-shadow: var(--rsd-shadow-hover);
}
.rsd-format-box {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-brand-50);
        color: var(--rsd-brand-700);
        font-size: 10px;
        font-weight: 800;
        margin-bottom: 0.75rem;
}
html.dark .rsd-format-box {
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-300);
}
.rsd-product-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0.75rem;
}
.rsd-chip-discount {
        background: var(--rsd-down-soft);
        color: var(--rsd-down);
        font-size: 10px;
        font-weight: 700;
        padding: 0.125rem 0.375rem;
        border-radius: var(--rsd-radius-sm);
}
.rsd-product-title {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.75rem;
        margin-bottom: 0.375rem;
        color: var(--rsd-fg);
}
.rsd-product-card:hover .rsd-product-title {
        color: var(--rsd-brand-700);
}
html.dark .rsd-product-card:hover .rsd-product-title {
        color: var(--rsd-brand-400);
}
.rsd-product-excerpt {
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
        margin-bottom: 0.75rem;
}
.rsd-product-foot {
        margin-top: auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-top: 0.75rem;
        border-top: 1px solid var(--rsd-border);
}
.rsd-downloads {
        font-size: 10px;
        color: var(--rsd-muted-fg);
}

/* ── پنل‌های ستون کناری ── */
.rsd-panel {
        border-radius: var(--rsd-radius-2xl);
        overflow: hidden;
        background: var(--rsd-card);
        border: 1px solid var(--rsd-border);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-panel-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.875rem 1.25rem;
        border-bottom: 1px solid var(--rsd-border);
}
.rsd-panel-head h3 {
        font-size: 14px;
        font-weight: 800;
        margin: 0;
}
.rsd-panel-link {
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-brand-700);
        text-decoration: none;
}
.rsd-panel-link:hover {
        text-decoration: underline;
}
html.dark .rsd-panel-link {
        color: var(--rsd-brand-400);
}
.rsd-panel-body {
        padding: 0.5rem;
}
.rsd-panel-scroll {
        max-height: 24rem;
        overflow-y: auto;
        padding: 0.5rem;
}

/* «بازار در یک نگاه» — جایگاه داده زنده (فاز ۶ پر می‌کند) */
.rsd-glance {
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: 1.25rem;
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-card);
        border: 1px solid var(--rsd-border);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-glance-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1rem;
}
.rsd-glance-head h3 {
        font-size: 16px;
        font-weight: 800;
        margin: 0;
}
.rsd-glance-live {
        display: flex;
        align-items: center;
        gap: 0.375rem;
        font-size: 10px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
.rsd-glance-rows {
        display: flex;
        flex-direction: column;
        gap: 0.25rem;
        flex: 1;
}
.rsd-glance-skel {
        height: 3.5rem;
        width: 100%;
}
.rsd-glance .rsd-btn {
        margin-top: 1rem;
        width: 100%;
}

/* ردیف قیمت زنده (ساختار نهایی — ماژول بازار فاز ۶) */
.rsd-quote-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.625rem 0.5rem;
        border-radius: var(--rsd-radius-md);
        text-decoration: none;
        text-align: start;
        transition: background 0.15s;
}
.rsd-quote-row:hover {
        background: var(--rsd-muted-bg);
}
.rsd-quote-name {
        display: flex;
        flex-direction: column;
        min-width: 0;
}
.rsd-quote-name b {
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-quote-name small {
        font-size: 11px;
        font-weight: 600;
        color: var(--rsd-muted-fg);
}
.rsd-quote-side {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex-shrink: 0;
}
.rsd-num {
        font-variant-numeric: tabular-nums;
}
.rsd-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
        padding: 0.125rem 0.5rem;
        border-radius: 9999px;
        font-size: 10px;
        font-weight: 700;
        direction: ltr;
        unicode-bidi: embed;
}
.rsd-pill-up {
        background: var(--rsd-up-soft);
        color: var(--rsd-up);
}
.rsd-pill-down {
        background: var(--rsd-down-soft);
        color: var(--rsd-down);
}

/* ── نوار خبرنامه (پورت NewsletterBand) ── */
.rsd-newsletter {
        overflow: hidden;
        border-radius: var(--rsd-radius-2xl);
        border: 1px solid var(--rsd-brand-200);
        background: linear-gradient(to left, var(--rsd-brand-50), var(--rsd-card) 55%, var(--rsd-brand-100));
        padding: 1.5rem;
}
@media (min-width: 640px) {
        .rsd-newsletter {
                padding: 2rem;
        }
}
html.dark .rsd-newsletter {
        border-color: rgb(185 140 51 / 0.3);
        background: linear-gradient(to left, rgb(185 140 51 / 0.1), var(--rsd-card) 55%, rgb(185 140 51 / 0.05));
}
.rsd-newsletter-flex {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.25rem;
}
@media (min-width: 640px) {
        .rsd-newsletter-flex {
                flex-direction: row;
                align-items: center;
                justify-content: space-between;
        }
}
.rsd-newsletter-lead {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
}
.rsd-newsletter-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 3rem;
        height: 3rem;
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-brand-600);
        color: #fff;
}
html.dark .rsd-newsletter-icon {
        background: var(--rsd-brand-400);
        color: #221804;
}
.rsd-newsletter-title {
        font-size: 1.125rem;
        font-weight: 800;
        margin: 0 0 0.25rem;
}
.rsd-newsletter-text {
        max-width: 28rem;
        font-size: 13px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
        margin: 0;
}
.rsd-newsletter-form {
        display: flex;
        gap: 0.5rem;
        width: 100%;
        max-width: 24rem;
}
.rsd-input {
        flex: 1;
        min-width: 0;
        padding: 0.5rem 0.75rem;
        border-radius: var(--rsd-radius-md);
        border: 1px solid var(--rsd-input);
        background: var(--rsd-card);
        color: var(--rsd-fg);
        font: inherit;
        font-size: 14px;
        direction: ltr;
        text-align: left;
}
.rsd-input:focus {
        outline: 2px solid var(--rsd-ring);
        outline-offset: 1px;
}
.rsd-newsletter-done {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.75rem 1rem;
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-up-soft);
        color: var(--rsd-up);
        font-size: 14px;
        font-weight: 700;
}

/* ── یادداشت پایین صفحه اصلی (به‌روزشونده سمت کلاینت) ── */
.rsd-market-note {
        display: none; /* ماژول بازار (فاز ۶) با data-rsd-hydrated نمایش می‌دهد */
        border-radius: var(--rsd-radius-xl);
        border: 1px dashed var(--rsd-border);
        background: var(--rsd-muted-bg);
        padding: 1rem;
        text-align: center;
        font-size: 11px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-market-note[data-rsd-hydrated] {
        display: block;
}

/* ── جایگاه تبلیغ ──
   فاز ۹: استایل کامل جایگاه (سه تُن + برچسب + آیکن + CTA) به پلاگین
   منتقل شد — assets/css/rsd-ads.css ماژول advertising (رندر مستقل از قالب؛
   fallback توکن‌ها داخل خود فایل). این‌جا عمداً هیچ قاعده‌ای نیست تا منبع
   واحد بماند. */

/* ── تکمیلی‌های نوار زنده ── */
.rsd-theme-toggle .rsd-ic-sun {
        display: none;
}
html.dark .rsd-theme-toggle .rsd-ic-sun {
        display: inline-flex;
}
html.dark .rsd-theme-toggle .rsd-ic-moon {
        display: none;
}

/* متای روشن روی تصویر تیره (کارت تیتر یک) */
.rsd-meta-row.rsd-meta-light {
        color: rgb(255 255 255 / 0.75);
}
.rsd-meta-row.rsd-meta-light .rsd-meta-sep {
        border-color: rgb(255 255 255 / 0.25);
}

/* عناصر فقط دسکتاپ (معادل الگوی sm: پروتوتایپ) */
.rsd-hidden-xs {
        display: inline-flex;
}
@media (max-width: 639px) {
        .rsd-hidden-xs {
                display: none;
        }
}

/* ستون کناری صفحه اصلی */
.rsd-home-aside {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
}

/* سمت تیتر یک */
.rsd-hero-side {
        display: flex;
}
.rsd-hero-side .rsd-hero-card {
        flex: 1;
}

/* خطای فرم خبرنامه */
.rsd-newsletter-error {
        color: var(--rsd-down);
        font-size: 12px;
        margin: 0;
        width: 100%;
}

/* ── فاز ۱۳: قالب‌های محتوایی ── */

/* صفحهٔ عمومی آرشیو/تکی (py-6 → sm:py-8) */
.rsd-page {
        display: block;
        padding-block: 1.5rem;
}
@media (min-width: 640px) {
        .rsd-page {
                padding-block: 2rem;
        }
}

/* بردکرامب (خروجی rsd_breadcrumb فقط با Rank Math — فاز ۱۰) */
nav.rsd-breadcrumb {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.375rem;
        margin-bottom: 1rem;
        font-size: 11px;
        font-weight: 600;
        color: var(--rsd-muted-fg);
}
nav.rsd-breadcrumb a {
        color: inherit;
        text-decoration: none;
        transition: color 0.15s;
}
nav.rsd-breadcrumb a:hover {
        color: var(--rsd-brand-700);
}
html.dark nav.rsd-breadcrumb a:hover {
        color: var(--rsd-brand-400);
}
nav.rsd-breadcrumb .last {
        color: var(--rsd-fg);
}

/* سربرگ صفحهٔ آرشیو (kicker + عنوان + شمار/توضیح) */
.rsd-page-head {
        margin-bottom: 1.5rem;
}
.rsd-page-head .rsd-kicker {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 11px;
        font-weight: 600;
        color: var(--rsd-brand-700);
        margin-bottom: 0.25rem;
}
html.dark .rsd-page-head .rsd-kicker {
        color: var(--rsd-brand-400);
}
.rsd-page-head-row {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.5rem;
}
.rsd-page-head-row h1 {
        margin: 0;
        font-size: 1.5rem;
        font-weight: 800;
        letter-spacing: -0.01em;
        line-height: 2.25rem;
}
@media (min-width: 640px) {
        .rsd-page-head-row h1 {
                font-size: 1.875rem;
                line-height: 2.5rem;
        }
}
.rsd-page-count {
        font-size: 12px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
        white-space: nowrap;
}
.rsd-page-desc {
        margin: 0.5rem 0 0;
        max-width: 42rem;
        font-size: 14px;
        line-height: 1.75rem;
        color: var(--rsd-muted-fg);
}

/* چیپ‌های فیلتر (سطر اسکرول‌شونده — پورت chipClass) */
.rsd-filter-chips {
        display: flex;
        align-items: center;
        gap: 0.375rem;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        margin-bottom: 1rem;
}
.rsd-filter-chip {
        display: inline-flex;
        flex-shrink: 0;
        align-items: center;
        gap: 0.375rem;
        padding: 0.5rem 0.75rem;
        border-radius: var(--rsd-radius-md);
        border: 1px solid var(--rsd-border);
        background: var(--rsd-card);
        color: var(--rsd-muted-fg);
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.rsd-filter-chip:hover {
        border-color: var(--rsd-brand-200);
        color: var(--rsd-fg);
}
.rsd-filter-chip.is-active {
        border-color: var(--rsd-brand-300);
        background: var(--rsd-brand-50);
        color: var(--rsd-brand-700);
}
html.dark .rsd-filter-chip.is-active {
        border-color: rgb(185 140 51 / 0.4);
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-300);
}
.rsd-filter-chip svg {
        flex-shrink: 0;
}

/* نوار فیلتر نوع + ترتیب (پورت نوار news.tsx) */
.rsd-filter-bar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 1.25rem;
        padding: 0.5rem 0.75rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-muted-bg);
}
.rsd-filter-group {
        display: flex;
        align-items: center;
        gap: 0.25rem;
}
.rsd-filter-label {
        display: none;
        margin-inline-end: 0.25rem;
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
@media (min-width: 640px) {
        .rsd-filter-label {
                display: inline;
        }
}
.rsd-filter-btn {
        padding: 0.375rem 0.625rem;
        border-radius: var(--rsd-radius-md);
        font-size: 12px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
        text-decoration: none;
        transition: background 0.15s, color 0.15s;
}
.rsd-filter-btn:hover {
        background: var(--rsd-muted-bg);
        color: var(--rsd-fg);
}
.rsd-filter-btn.is-active {
        background: var(--rsd-brand-600);
        color: #fff;
}
html.dark .rsd-filter-btn.is-active {
        background: var(--rsd-brand-500);
        color: #221804;
}
.rsd-filter-btn.is-sort.is-active {
        background: var(--rsd-fg);
        color: var(--rsd-bg);
}

/* گرید آرشیو (۱ → sm:۲ → xl:۳ — ستون اصلی ۳/۴ عرض) */
.rsd-archive-grid {
        grid-template-columns: 1fr;
}
@media (min-width: 640px) {
        .rsd-archive-grid {
                grid-template-columns: repeat(2, 1fr);
        }
}
@media (min-width: 1280px) {
        .rsd-archive-grid {
                grid-template-columns: repeat(3, 1fr);
        }
}

/* صفحه‌بندی عددی (فاز ۱۳) */
.rsd-pager {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-top: 1.5rem;
}
.rsd-pager-pages {
        display: flex;
        align-items: center;
        gap: 0.25rem;
}
.rsd-pager-num,
.rsd-pager-nav {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.25rem;
        min-width: 2.25rem;
        height: 2.25rem;
        padding-inline: 0.5rem;
        border-radius: var(--rsd-radius-md);
        border: 1px solid var(--rsd-border);
        background: var(--rsd-card);
        color: var(--rsd-muted-fg);
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        transition: border-color 0.15s, color 0.15s, background 0.15s;
}
a.rsd-pager-num:hover,
a.rsd-pager-nav:hover {
        border-color: var(--rsd-brand-300);
        color: var(--rsd-brand-700);
        background: var(--rsd-brand-50);
}
html.dark a.rsd-pager-num:hover,
html.dark a.rsd-pager-nav:hover {
        border-color: rgb(185 140 51 / 0.4);
        color: var(--rsd-brand-300);
        background: rgb(185 140 51 / 0.15);
}
.rsd-pager-num.is-current {
        background: var(--rsd-brand-600);
        border-color: var(--rsd-brand-600);
        color: #fff;
}
html.dark .rsd-pager-num.is-current {
        background: var(--rsd-brand-500);
        border-color: var(--rsd-brand-500);
        color: #221804;
}
.rsd-pager-off {
        opacity: 0.45;
        cursor: default;
}
.rsd-pager-dots {
        padding-inline: 0.25rem;
        color: var(--rsd-muted-fg);
        font-size: 13px;
}
.rsd-archive-done {
        margin-top: 1.5rem;
        text-align: center;
        font-size: 11px;
        color: var(--rsd-muted-fg);
}

/* حالت خالی صادقانه (پورت EmptyBlock) */
.rsd-empty {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding-block: 4rem;
        border: 1px dashed var(--rsd-border);
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-muted-bg);
        text-align: center;
}
.rsd-empty-title {
        margin: 0;
        font-size: 14px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-empty-hint {
        margin: 0;
        max-width: 24rem;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-empty-flat {
        padding-block: 1.5rem;
        font-size: 13px;
        color: var(--rsd-muted-fg);
}

/* ── مقالهٔ تکی (پورت ArticleView) ── */
.rsd-article {
        max-width: 48rem; /* max-w-3xl */
        margin-inline: auto;
}
.rsd-article-back {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        margin-bottom: 1rem;
        padding: 0.25rem 0.5rem;
        border-radius: var(--rsd-radius-md);
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
        text-decoration: none;
        transition: color 0.15s;
}
.rsd-article-back:hover {
        color: var(--rsd-fg);
}
.rsd-article-chips {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 1rem;
}
.rsd-chip-solid {
        background: var(--rsd-brand-100);
        color: var(--rsd-brand-700);
}
html.dark .rsd-chip-solid {
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-300);
}
.rsd-article-title {
        margin: 0 0 0.75rem;
        font-size: 1.5rem;
        font-weight: 800;
        line-height: 2.5rem;
}
@media (min-width: 640px) {
        .rsd-article-title {
                font-size: 1.875rem;
        }
}
.rsd-article-subtitle {
        margin: 0 0 1.25rem;
        font-size: 15px;
        line-height: 2rem;
        color: var(--rsd-muted-fg);
}
.rsd-article-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem 0.875rem;
        padding-block: 0.875rem;
        margin-bottom: 1.5rem;
        border-block: 1px solid var(--rsd-border);
        font-size: 12px;
        color: var(--rsd-muted-fg);
}
.rsd-article-meta > span {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
}
.rsd-article-meta svg {
        flex-shrink: 0;
}
.rsd-meta-dot {
        opacity: 0.5;
}
@media (max-width: 639px) {
        .rsd-meta-dot {
                display: none; /* جداکننده‌ها روی موبایل — عین پروتوتایپ */
        }
}
.rsd-article-author {
        gap: 0.625rem;
}
.rsd-article-author-name {
        display: flex;
        flex-direction: column;
        line-height: 1.25rem;
}
.rsd-article-author-name strong {
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-article-author-name small {
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-avatar {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        flex-shrink: 0;
        border-radius: 9999px;
        background: var(--rsd-brand-100);
        color: var(--rsd-brand-700);
        font-size: 12px;
        font-weight: 800;
}
html.dark .rsd-avatar {
        background: rgb(185 140 51 / 0.2);
        color: var(--rsd-brand-300);
}
.rsd-avatar-md {
        width: 2.75rem;
        height: 2.75rem;
        font-size: 13px;
}
.rsd-avatar-lg {
        width: 3rem;
        height: 3rem;
        font-size: 15px;
}
.rsd-article-figure {
        margin: 0 0 2rem;
}
.rsd-article-cover {
        display: block;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-muted-bg);
}
.rsd-article-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.rsd-article-caption {
        margin-top: 0.5rem;
        text-align: center;
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-article-ad {
        margin-block: 1.5rem; /* my-6 پروتوتایپ */
}
.rsd-article-tags {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem;
        padding-top: 1.5rem;
        margin-bottom: 2rem;
        border-top: 1px solid var(--rsd-border);
}
.rsd-article-tags-label {
        font-size: 12px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
.rsd-tag-chip {
        padding: 0.25rem 0.625rem;
        border-radius: var(--rsd-radius-md);
        border: 1px solid var(--rsd-border);
        background: var(--rsd-card);
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
        text-decoration: none;
        transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.rsd-tag-chip:hover {
        border-color: var(--rsd-brand-200);
        background: var(--rsd-brand-50);
        color: var(--rsd-brand-700);
}
html.dark .rsd-tag-chip:hover {
        background: rgb(185 140 51 / 0.1);
        color: var(--rsd-brand-300);
}
.rsd-author-box {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
        padding: 1.25rem;
        margin-bottom: 2.5rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-muted-bg);
}
.rsd-author-box-name {
        font-size: 14px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-author-box-role {
        margin-top: 0.25rem;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-author-box-bio {
        margin-top: 0.5rem;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-related {
        padding-top: 2rem;
        border-top: 1px solid var(--rsd-border);
}

/* ── آکادمی (پورت EducationView) ── */
.rsd-academy-hero {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        margin-bottom: 2rem;
        padding: 1.5rem;
        border: 1px solid var(--rsd-brand-200);
        border-radius: var(--rsd-radius-2xl);
        background: linear-gradient(to left, var(--rsd-brand-50), var(--rsd-card), rgb(245 237 213 / 0.6));
}
@media (min-width: 640px) {
        .rsd-academy-hero {
                padding: 2rem;
        }
}
@media (min-width: 1024px) {
        .rsd-academy-hero {
                flex-direction: row;
                align-items: center;
                justify-content: space-between;
        }
}
html.dark .rsd-academy-hero {
        border-color: rgb(185 140 51 / 0.3);
        background: linear-gradient(to left, rgb(185 140 51 / 0.1), var(--rsd-card), rgb(185 140 51 / 0.05));
}
.rsd-academy-hero-main {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
}
.rsd-academy-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        flex-shrink: 0;
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-brand-600);
        color: #fff;
}
html.dark .rsd-academy-icon {
        background: var(--rsd-brand-500);
        color: #221804;
}
.rsd-academy-hero h1 {
        margin: 0;
        font-size: 1.25rem;
        font-weight: 800;
        letter-spacing: -0.01em;
}
@media (min-width: 640px) {
        .rsd-academy-hero h1 {
                font-size: 1.5rem;
        }
}
.rsd-academy-hero p {
        margin: 0.375rem 0 0;
        max-width: 32rem;
        font-size: 13px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-academy-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.75rem;
}
@media (min-width: 640px) {
        .rsd-academy-stats {
                gap: 1rem;
        }
}
.rsd-academy-stat {
        min-width: 5.5rem;
        padding: 0.75rem 1rem;
        border: 1px solid rgb(235 220 170 / 0.7);
        border-radius: var(--rsd-radius-xl);
        background: rgb(255 255 255 / 0.7);
        text-align: center;
}
html.dark .rsd-academy-stat {
        border-color: rgb(185 140 51 / 0.2);
        background: rgb(23 21 15 / 0.6);
}
.rsd-academy-stat strong {
        display: block;
        font-size: 1.25rem;
        font-weight: 800;
        color: var(--rsd-brand-700);
}
html.dark .rsd-academy-stat strong {
        color: var(--rsd-brand-300);
}
.rsd-academy-stat span {
        display: block;
        margin-top: 0.125rem;
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}

/* کارت دورهٔ آکادمی (پورت CourseCard) */
.rsd-academy-card {
        display: flex;
        flex-direction: column;
        height: 100%;
        border-radius: var(--rsd-radius-xl);
        overflow: hidden;
        background: var(--rsd-card);
        border: 1px solid var(--rsd-border);
        box-shadow: var(--rsd-shadow-card);
        text-decoration: none;
        transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.rsd-academy-card:hover {
        transform: translateY(-2px);
        border-color: var(--rsd-brand-200);
        box-shadow: var(--rsd-shadow-hover);
}
.rsd-academy-cover {
        position: relative;
        display: block;
        aspect-ratio: 16 / 8;
        overflow: hidden;
        background: linear-gradient(135deg, var(--rsd-brand-200), var(--rsd-brand-100));
}
.rsd-academy-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s;
}
.rsd-academy-card:hover .rsd-academy-cover img {
        transform: scale(1.04);
}
.rsd-academy-body {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 1rem;
}
.rsd-academy-cat {
        align-self: flex-start;
        margin-bottom: 0.5rem;
        padding: 0.125rem 0.375rem;
        border-radius: var(--rsd-radius-sm);
        background: var(--rsd-brand-50);
        color: var(--rsd-brand-700);
        font-size: 10px;
        font-weight: 700;
}
html.dark .rsd-academy-cat {
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-300);
}
.rsd-academy-title {
        margin-bottom: 0.375rem;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.75rem;
        color: var(--rsd-fg);
}
.rsd-academy-card:hover .rsd-academy-title {
        color: var(--rsd-brand-700);
}
html.dark .rsd-academy-card:hover .rsd-academy-title {
        color: var(--rsd-brand-400);
}
.rsd-academy-excerpt {
        margin-bottom: 0.75rem;
        font-size: 13px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-academy-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.25rem 0.75rem;
        margin-bottom: 0.75rem;
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-academy-meta > span {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
}
.rsd-academy-foot {
        margin-top: auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-top: 0.75rem;
        border-top: 1px solid var(--rsd-border);
}
.rsd-academy-view {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
        font-size: 12px;
        font-weight: 700;
        color: var(--rsd-brand-700);
}
html.dark .rsd-academy-view {
        color: var(--rsd-brand-400);
}

/* بج سطح (پورت LEVEL_CLASS) */
.rsd-level-badge {
        display: inline-flex;
        align-items: center;
        padding: 0.125rem 0.5rem;
        border-radius: var(--rsd-radius-sm);
        font-size: 11px;
        font-weight: 700;
}
.rsd-academy-cover .rsd-level-badge {
        position: absolute;
        top: 0.5rem;
        right: 0.5rem;
}
.rsd-level-beginner {
        background: var(--rsd-brand-100);
        color: var(--rsd-brand-700);
}
html.dark .rsd-level-beginner {
        background: rgb(185 140 51 / 0.25);
        color: var(--rsd-brand-200);
}
.rsd-level-intermediate {
        background: var(--rsd-brand-600);
        color: #fff;
}
html.dark .rsd-level-intermediate {
        background: var(--rsd-brand-500);
        color: #221804;
}
.rsd-level-advanced {
        background: var(--rsd-ticker-bg); /* معادل slate-800 پروتوتایپ */
        color: #fff;
}

/* سکشن‌های آرشیو دستهٔ آموزش */
.rsd-tax-section + .rsd-tax-section {
        margin-top: 2.5rem;
}
.rsd-tax-head {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.5rem;
        margin-bottom: 1.25rem;
        padding-bottom: 0.75rem;
        border-bottom: 1px solid var(--rsd-border);
}
.rsd-tax-head h2 {
        margin: 0;
        font-size: 1.25rem;
        font-weight: 800;
        letter-spacing: -0.01em;
}
@media (min-width: 640px) {
        .rsd-tax-head h2 {
                font-size: 1.5rem;
        }
}
.rsd-tax-head span {
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}

/* ── دورهٔ تکی (پورت CourseView) ── */
.rsd-course-layout {
        display: grid;
        gap: 2rem;
}
@media (min-width: 1024px) {
        .rsd-course-layout {
                grid-template-columns: 2fr 1fr;
        }
}
.rsd-course-hero-cover {
        margin-bottom: 1.5rem;
        aspect-ratio: 16 / 8;
        overflow: hidden;
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-muted-bg);
}
.rsd-course-hero-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.rsd-course-aside {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
}
@media (min-width: 1024px) {
        .rsd-course-aside {
                position: sticky;
                top: 7rem;
                align-self: start;
        }
}
.rsd-price-card {
        padding: 1.25rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-price-main {
        display: block;
        font-size: 26px;
        font-weight: 800;
        line-height: 2.25rem;
        color: var(--rsd-brand-700);
}
html.dark .rsd-price-main {
        color: var(--rsd-brand-300);
}
.rsd-price-old {
        display: block;
        margin-top: 0.25rem;
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
        text-decoration: line-through;
}
.rsd-price-free {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        padding: 0.375rem 0.75rem;
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-up-soft);
        color: var(--rsd-up);
        font-size: 14px;
        font-weight: 800;
}
.rsd-enroll {
        width: 100%;
        margin-top: 1rem;
}
.rsd-features {
        margin-top: 1.25rem;
        padding-top: 1rem;
        border-top: 1px solid var(--rsd-border);
}
.rsd-features-title {
        margin-bottom: 0.625rem;
        font-size: 12px;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-features ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0.625rem;
}
.rsd-features li {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-features li svg {
        flex-shrink: 0;
        color: var(--rsd-up);
}
.rsd-instructor-box {
        display: flex;
        align-items: center;
        gap: 0.875rem;
        padding: 1rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-instructor-name {
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-instructor-bio {
        margin-top: 0.25rem;
        font-size: 11px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-instructor-label {
        display: inline-flex;
        align-items: center;
        gap: 0.25rem;
        margin-top: 0.25rem;
        font-size: 10px;
        font-weight: 700;
        color: var(--rsd-brand-700);
}
html.dark .rsd-instructor-label {
        color: var(--rsd-brand-400);
}

/* سرفصل‌ها — آکاردئون CSS-only (details/summary) */
.rsd-curriculum-head {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.5rem;
        margin-bottom: 1rem;
        padding-bottom: 0.75rem;
        border-bottom: 1px solid var(--rsd-border);
}
.rsd-curriculum-head h2 {
        margin: 0;
        font-size: 1.125rem;
        font-weight: 800;
        letter-spacing: -0.01em;
}
@media (min-width: 640px) {
        .rsd-curriculum-head h2 {
                font-size: 1.25rem;
        }
}
.rsd-curriculum-head span {
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
.rsd-accordion {
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
        padding-inline: 1rem;
}
@media (min-width: 640px) {
        .rsd-accordion {
                padding-inline: 1.25rem;
        }
}
.rsd-acc-item {
        border-bottom: 1px solid var(--rsd-border);
}
.rsd-acc-item:last-child {
        border-bottom: 0;
}
.rsd-acc-summary {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding-block: 1rem;
        cursor: pointer;
        list-style: none;
        user-select: none;
}
.rsd-acc-summary::-webkit-details-marker {
        display: none;
}
.rsd-acc-title {
        flex: 1;
        font-size: 14px;
        font-weight: 700;
        color: var(--rsd-fg);
        text-align: right;
}
.rsd-acc-meta {
        flex-shrink: 0;
        font-size: 11px;
        font-weight: 600;
        color: var(--rsd-muted-fg);
}
@media (max-width: 639px) {
        .rsd-acc-meta {
                display: none;
        }
}
.rsd-acc-chevron {
        display: inline-flex;
        flex-shrink: 0;
        color: var(--rsd-muted-fg);
        transition: transform 0.2s;
}
.rsd-acc-item[open] > .rsd-acc-summary .rsd-acc-chevron {
        transform: rotate(180deg);
}
.rsd-acc-lessons {
        list-style: none;
        margin: 0;
        padding: 0;
}
.rsd-lesson-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding-block: 0.625rem;
}
.rsd-lesson-row + .rsd-lesson-row {
        border-top: 1px solid rgb(232 229 221 / 0.7);
}
html.dark .rsd-lesson-row + .rsd-lesson-row {
        border-top-color: rgb(255 255 255 / 0.06);
}
.rsd-lesson-name {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        min-width: 0;
}
.rsd-lesson-ico {
        display: inline-flex;
        flex-shrink: 0;
        color: var(--rsd-brand-700);
}
html.dark .rsd-lesson-ico {
        color: var(--rsd-brand-400);
}
.rsd-lesson-ico.is-locked {
        color: var(--rsd-muted-fg);
}
.rsd-lesson-title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.5rem;
        color: var(--rsd-fg);
        text-decoration: none;
}
a.rsd-lesson-title:hover {
        color: var(--rsd-brand-700);
}
html.dark a.rsd-lesson-title:hover {
        color: var(--rsd-brand-400);
}
.rsd-lesson-locked {
        color: var(--rsd-muted-fg);
}
.rsd-lesson-duration {
        flex-shrink: 0;
        font-size: 11px;
        font-weight: 600;
        color: var(--rsd-muted-fg);
}
.rsd-chip-preview {
        flex-shrink: 0;
        padding: 0.125rem 0.375rem;
        border-radius: var(--rsd-radius-sm);
        background: var(--rsd-up-soft);
        color: var(--rsd-up);
        font-size: 10px;
        font-weight: 700;
}

/* ── درس تکی (افزودهٔ فاز ۱۳) ── */
.rsd-lesson {
        max-width: 48rem;
        margin-inline: auto;
}
.rsd-lesson-context {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.375rem;
        margin-bottom: 0.75rem;
        font-size: 12px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
.rsd-lesson-context a {
        color: inherit;
        text-decoration: none;
        transition: color 0.15s;
}
.rsd-lesson-context a:hover {
        color: var(--rsd-brand-700);
}
html.dark .rsd-lesson-context a:hover {
        color: var(--rsd-brand-400);
}
.rsd-lesson-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem 0.75rem;
        padding-block: 0.75rem;
        margin-bottom: 1.5rem;
        border-block: 1px solid var(--rsd-border);
        font-size: 12px;
        color: var(--rsd-muted-fg);
}
.rsd-lesson-meta > span {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
}
.rsd-lock-panel {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        padding: 3rem 1.5rem;
        border: 1px dashed var(--rsd-border);
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-muted-bg);
        text-align: center;
}
.rsd-lock-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 9999px;
        background: var(--rsd-brand-100);
        color: var(--rsd-brand-700);
}
html.dark .rsd-lock-icon {
        background: rgb(185 140 51 / 0.2);
        color: var(--rsd-brand-300);
}
.rsd-lock-panel h2 {
        margin: 0;
        font-size: 16px;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-lock-panel p {
        margin: 0;
        max-width: 28rem;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-lesson-nav {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 1rem;
        margin-top: 2rem;
        padding-top: 1.5rem;
        border-top: 1px solid var(--rsd-border);
}
.rsd-lesson-nav-link {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        flex: 1;
        min-width: 0;
        padding: 0.75rem 1rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        text-decoration: none;
        transition: border-color 0.15s, box-shadow 0.15s;
}
.rsd-lesson-nav-link:hover {
        border-color: var(--rsd-brand-300);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-lesson-nav-link span {
        display: flex;
        flex-direction: column;
        min-width: 0;
        text-align: right;
}
.rsd-lesson-nav-link small {
        font-size: 10px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
.rsd-lesson-nav-link strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-lesson-nav-link svg {
        flex-shrink: 0;
        color: var(--rsd-muted-fg);
}
.rsd-lesson-nav-empty {
        border: 0;
        background: transparent;
        visibility: hidden;
}

/* ── جستجو (پورت SearchView) ── */
.rsd-search-wrap {
        margin-bottom: 1rem;
}
.rsd-search-form {
        display: flex;
        gap: 0.5rem;
}
.rsd-search-box {
        position: relative;
        display: flex;
        align-items: center;
        flex: 1;
}
.rsd-search-box svg {
        position: absolute;
        right: 1rem;
        color: var(--rsd-muted-fg);
        pointer-events: none;
}
.rsd-search-box input[type='search'] {
        width: 100%;
        height: 3.5rem;
        padding-inline: 3rem 1rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        color: var(--rsd-fg);
        font-family: inherit;
        font-size: 15px;
        box-shadow: var(--rsd-shadow-card);
        appearance: none;
}
.rsd-search-box input[type='search']:focus-visible {
        outline: 2px solid var(--rsd-ring);
        outline-offset: 1px;
}
.rsd-search-submit {
        flex-shrink: 0;
        height: 3.5rem;
        padding-inline: 1.5rem;
}
.rsd-suggest-chips {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem;
        margin-top: 0.75rem;
}
.rsd-suggest-chips > span {
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
.rsd-suggest-chips a {
        padding: 0.375rem 0.75rem;
        border: 1px solid var(--rsd-border);
        border-radius: 9999px;
        background: var(--rsd-muted-bg);
        font-size: 12px;
        color: var(--rsd-muted-fg);
        text-decoration: none;
        transition: border-color 0.15s, color 0.15s;
}
.rsd-suggest-chips a:hover {
        border-color: var(--rsd-brand-300);
        color: var(--rsd-brand-700);
}
html.dark .rsd-suggest-chips a:hover {
        color: var(--rsd-brand-400);
}
.rsd-result-card {
        overflow: hidden;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-2xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-result-row {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0.875rem 1rem;
        text-align: right;
        text-decoration: none;
        transition: background 0.15s;
}
.rsd-result-row + .rsd-result-row {
        border-top: 1px solid rgb(232 229 221 / 0.7);
}
html.dark .rsd-result-row + .rsd-result-row {
        border-top-color: rgb(255 255 255 / 0.06);
}
.rsd-result-row:hover {
        background: var(--rsd-muted-bg);
}
.rsd-result-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        flex-shrink: 0;
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-brand-50);
        color: var(--rsd-brand-700);
}
html.dark .rsd-result-icon {
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-400);
}
.rsd-result-text {
        display: flex;
        flex-direction: column;
        min-width: 0;
        flex: 1;
}
.rsd-result-title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 14px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-result-meta {
        margin-top: 0.125rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-result-side {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        flex-shrink: 0;
        color: var(--rsd-muted-fg);
}
.rsd-result-type {
        display: none;
        padding: 0.125rem 0.375rem;
        border-radius: var(--rsd-radius-sm);
        background: var(--rsd-muted-bg);
        font-size: 9px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
@media (min-width: 640px) {
        .rsd-result-type {
                display: inline-block;
        }
}
.rsd-search-note {
        margin-top: 1rem;
        text-align: center;
        font-size: 11px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}

/* ── ۴۰۴ (افزودهٔ فاز ۱۳) ── */
.rsd-404 {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        padding-block: 3rem;
        text-align: center;
}
.rsd-404-code {
        font-size: clamp(4rem, 14vw, 7rem);
        font-weight: 800;
        line-height: 1;
        letter-spacing: -0.03em;
        color: var(--rsd-brand-300);
}
html.dark .rsd-404-code {
        color: var(--rsd-brand-500);
}
.rsd-404-title {
        margin: 0;
        font-size: 1.5rem;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-404-text {
        margin: 0;
        max-width: 28rem;
        font-size: 13px;
        line-height: 1.75rem;
        color: var(--rsd-muted-fg);
}
.rsd-404 .rsd-search-wrap {
        width: min(32rem, 100%);
        margin-top: 1rem;
}
.rsd-404-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 1rem;
}
.rsd-404-link {
        display: inline-flex;
        align-items: center;
        gap: 0.375rem;
        padding: 0.5rem 0.875rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-card);
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
        text-decoration: none;
        transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.rsd-404-link:hover {
        border-color: var(--rsd-brand-300);
        background: var(--rsd-brand-50);
        color: var(--rsd-brand-700);
}
html.dark .rsd-404-link:hover {
        border-color: rgb(185 140 51 / 0.4);
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-300);
}

/* ── فاز ۱۴: صفحات فرود (عمومی + تبلیغات) ── */

/* سربرگ مشترک صفحات فرود — میلهٔ عمودی kicker عین پروتوتایپ (h-3.5 w-1) */
.rsd-corp-head .rsd-kicker::before {
        width: 0.25rem;
        height: 0.875rem;
}

/* تب‌های سه صفحهٔ عمومی — همان چیپ‌های فاز ۱۳ با فاصلهٔ mb-8 پروتوتایپ */
.rsd-corp-tabs {
        margin-bottom: 2rem;
}

/* جعبهٔ آیکن مشترک (اندازهٔ ۴۰ پروتوتایپ: bg-brand-50 / دارک brand-500/15) */
.rsd-corp-ic {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        flex-shrink: 0;
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-brand-50);
        color: var(--rsd-brand-700);
}
html.dark .rsd-corp-ic {
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-400);
}

/* ── درباره ما ── */
.rsd-corp-body {
        display: flex;
        flex-direction: column;
        gap: 2rem;
}

/* بنر مأموریت (گرادیان برند — متن سفید، در دارک همین گرادیان تیره) */
.rsd-about-hero {
        overflow: hidden;
        padding: 1.5rem;
        border-radius: var(--rsd-radius-xl);
        background: linear-gradient(to left, var(--rsd-brand-800), var(--rsd-brand-600), var(--rsd-brand-500));
        color: #fff;
}
@media (min-width: 640px) {
        .rsd-about-hero {
                padding: 2.5rem;
        }
}
.rsd-about-hero-inner {
        max-width: 42rem;
}
.rsd-about-kicker {
        margin-bottom: 0.5rem;
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-brand-100);
}
.rsd-about-hero h2 {
        margin: 0;
        font-size: 1.5rem;
        font-weight: 800;
        line-height: 2.5rem;
        letter-spacing: -0.01em;
}
@media (min-width: 640px) {
        .rsd-about-hero h2 {
                font-size: 1.875rem;
        }
}
.rsd-about-hero-text {
        margin-top: 1rem;
}
.rsd-about-hero-text p {
        margin: 0;
        font-size: 14px;
        line-height: 2rem;
        color: rgb(255 255 255 / 0.9);
}
.rsd-about-hero-text p + p {
        margin-top: 1rem;
}

/* کارت‌های ارزش‌ها (۱ → sm:۲ → lg:۴) */
.rsd-about-values {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
}
@media (min-width: 640px) {
        .rsd-about-values {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}
@media (min-width: 1024px) {
        .rsd-about-values {
                grid-template-columns: repeat(4, minmax(0, 1fr));
        }
}
.rsd-about-value {
        padding: 1.25rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-about-value .rsd-corp-ic {
        margin-bottom: 0.75rem;
}
.rsd-about-value h3 {
        margin: 0 0 0.375rem;
        font-size: 14px;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-about-value p {
        margin: 0;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}

/* نوار آمار (۲ → sm:۴) — اعداد از دادهٔ زندهٔ پلتفرم */
.rsd-about-stats {
        padding: 1.5rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-about-stats-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
}
@media (min-width: 640px) {
        .rsd-about-stats-grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
        }
}
.rsd-about-stat {
        text-align: center;
}
.rsd-about-stat strong {
        display: block;
        font-size: 1.5rem;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        color: var(--rsd-brand-700);
}
html.dark .rsd-about-stat strong {
        color: var(--rsd-brand-400);
}
.rsd-about-stat span {
        display: block;
        margin-top: 0.25rem;
        font-size: 11px;
        color: var(--rsd-muted-fg);
}

/* ── حریم خصوصی ── */
.rsd-privacy {
        max-width: 48rem;
        margin-inline: auto;
}
.rsd-privacy-card {
        padding: 1.5rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
@media (min-width: 640px) {
        .rsd-privacy-card {
                padding: 2rem;
        }
}
.rsd-privacy-note {
        margin: 0 0 1.5rem;
        padding: 1rem;
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-muted-bg);
        font-size: 13px;
        line-height: 1.75rem;
        color: var(--rsd-muted-fg);
}
.rsd-privacy-body {
        display: flex;
        flex-direction: column;
        gap: 2rem;
}
.rsd-privacy-body h2 {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin: 0;
        font-size: 15px;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-privacy-num {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        flex-shrink: 0;
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-brand-50);
        font-size: 13px;
        font-weight: 800;
        color: var(--rsd-brand-700);
}
html.dark .rsd-privacy-num {
        background: rgb(185 140 51 / 0.15);
        color: var(--rsd-brand-300);
}
.rsd-privacy-body p {
        margin: 0.5rem 0 0;
        font-size: 13.5px;
        line-height: 2rem;
        color: var(--rsd-muted-fg);
}

/* ── تماس با ما ── */
.rsd-contact-intro {
        margin-bottom: 1.5rem;
}
.rsd-contact-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
}
@media (min-width: 1024px) {
        .rsd-contact-layout {
                grid-template-columns: repeat(5, minmax(0, 1fr));
        }
        .rsd-contact-cards {
                grid-column: span 2 / span 2;
        }
        .rsd-contact-panel {
                grid-column: span 3 / span 3;
        }
}
.rsd-contact-cards {
        display: flex;
        flex-direction: column;
        gap: 1rem;
}
.rsd-contact-card {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
        padding: 1.25rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-contact-card-body {
        min-width: 0;
        flex: 1;
}
.rsd-contact-card-title {
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-contact-card-value {
        margin-top: 0.125rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 14px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-contact-card-value.is-ltr {
        direction: ltr;
        text-align: left;
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        font-size: 13px;
}
.rsd-contact-card-hint {
        margin-top: 0.25rem;
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-contact-panel {
        padding: 1.25rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
@media (min-width: 640px) {
        .rsd-contact-panel {
                padding: 1.5rem;
        }
}
.rsd-contact-panel h2 {
        margin: 0 0 0.25rem;
        font-size: 16px;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-contact-panel-desc {
        margin: 0 0 1.25rem;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}

/* فیلدهای فرم (rounded-lg + bg-card + حلقهٔ فوکوس برند) */
.rsd-contact-field {
        margin-bottom: 1rem;
}
.rsd-contact-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 0;
}
@media (min-width: 640px) {
        .rsd-contact-row {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .rsd-contact-row .rsd-contact-field {
                margin-bottom: 1rem;
        }
}
.rsd-contact-field label {
        display: block;
        margin-bottom: 0.5rem;
        font-size: 14px;
        font-weight: 500;
        color: var(--rsd-fg);
}
.rsd-contact-input {
        width: 100%;
        min-width: 0;
        height: 2.5rem;
        padding-inline: 0.75rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-card);
        color: var(--rsd-fg);
        font: inherit;
        font-size: 14px;
        transition: border-color 0.15s;
}
.rsd-contact-input:focus {
        outline: 2px solid var(--rsd-ring);
        outline-offset: 1px;
}
.rsd-contact-input.is-ltr {
        direction: ltr;
        text-align: left;
}
textarea.rsd-contact-input {
        height: auto;
        min-height: 9rem;
        padding-block: 0.625rem;
        line-height: 1.75;
        resize: vertical;
}
.rsd-contact-submit {
        margin-top: 0.25rem;
}
.rsd-contact-btn-ic {
        display: inline-flex;
}

/* چرخان «در حال ارسال…» (جایگزین Loader2 پروتوتایپ — بدون JS تصویری) */
@keyframes rsd-spin {
        to {
                transform: rotate(360deg);
        }
}
.rsd-contact-spin {
        display: inline-block;
        width: 1rem;
        height: 1rem;
        flex-shrink: 0;
        border: 2px solid currentColor;
        border-inline-end-color: transparent;
        border-block-end-color: transparent;
        border-radius: 9999px;
        animation: rsd-spin 0.8s linear infinite;
}

/* حالت‌های مخفی — گارد قطعی روی display نویسنده (جزئیات hiddenAttr) */
.rsd-contact-error[hidden],
.rsd-contact-done[hidden],
.rsd-contact-btn-ic[hidden],
.rsd-contact-spin[hidden] {
        display: none;
}

/* بنر خطا (پیام فارسی خود endpoint یا اعتبارسنجی کلاینت) */
.rsd-contact-error {
        margin: 0.75rem 0 0;
        padding: 0.75rem 1rem;
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-down-soft);
        color: var(--rsd-down);
        font-size: 13px;
        font-weight: 700;
}

/* پنل موفقیت — جایگزین فرم (معادل توست موفقیت پروتوتایپ) */
.rsd-contact-done {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 1.25rem;
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-up-soft);
        color: var(--rsd-up);
}
.rsd-contact-done svg {
        flex-shrink: 0;
}
.rsd-contact-done-text strong {
        display: block;
        font-size: 15px;
        font-weight: 800;
}
.rsd-contact-done-text span {
        display: block;
        margin-top: 0.25rem;
        font-size: 13px;
        line-height: 1.5rem;
        opacity: 0.9;
}

/* ── تبلیغات و تعرفه ── */
.rsd-ads {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
}
.rsd-ads-sec-head {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.75rem;
}
.rsd-ads-sec-head h2,
.rsd-ads-h2 {
        margin: 0;
        font-size: 16px;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-ads-h2 {
        margin-bottom: 0.75rem;
}
.rsd-ads-demo-badge {
        padding: 0.125rem 0.375rem;
        border-radius: var(--rsd-radius-sm);
        background: var(--rsd-muted-bg);
        font-size: 9px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}

/* کارت‌های آمار مخاطب (۲ → lg:۴) */
.rsd-ads-audience {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
}
@media (min-width: 1024px) {
        .rsd-ads-audience {
                grid-template-columns: repeat(4, minmax(0, 1fr));
        }
}
.rsd-ads-aud-card {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 1rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-ads-aud-body {
        min-width: 0;
}
.rsd-ads-aud-value {
        font-size: 18px;
        font-weight: 800;
        line-height: 1.75rem;
        font-variant-numeric: tabular-nums;
        color: var(--rsd-fg);
}
.rsd-ads-aud-label {
        font-size: 11px;
        color: var(--rsd-muted-fg);
}

/* جدول تعرفه (اسکرول افقی زیر ۶۸۰px — عین پروتوتایپ) */
.rsd-ads-table {
        overflow: hidden;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-ads-table-scroll {
        overflow-x: auto;
}
.rsd-ads-table table {
        width: 100%;
        min-width: 680px;
        border-collapse: collapse;
}
.rsd-ads-table thead tr {
        background: var(--rsd-muted-bg);
}
.rsd-ads-table th {
        padding: 0.75rem 1rem;
        text-align: right;
        font-size: 11px;
        font-weight: 700;
        color: var(--rsd-muted-fg);
}
.rsd-ads-table tbody tr {
        border-bottom: 1px solid var(--rsd-border);
}
.rsd-ads-table tbody tr:last-child {
        border-bottom: 0;
}
.rsd-ads-table td {
        padding: 0.875rem 1rem;
        vertical-align: top;
}
.rsd-ads-td-title {
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-ads-td-spec {
        font-size: 12px;
        color: var(--rsd-muted-fg);
}
.rsd-ads-td-price {
        white-space: nowrap;
        font-size: 13px;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        color: var(--rsd-brand-700);
}
html.dark .rsd-ads-td-price {
        color: var(--rsd-brand-400);
}
.rsd-ads-table-note {
        margin: 0;
        padding: 0.75rem 1rem;
        border-top: 1px solid var(--rsd-border);
        font-size: 11px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}

/* گام‌های فرآیند (۱ → sm:۲ → lg:۴ + فلش ≥sm) */
.rsd-ads-steps {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
}
@media (min-width: 640px) {
        .rsd-ads-steps {
                grid-template-columns: repeat(2, minmax(0, 1fr));
        }
}
@media (min-width: 1024px) {
        .rsd-ads-steps {
                grid-template-columns: repeat(4, minmax(0, 1fr));
        }
}
.rsd-ads-step {
        padding: 1.25rem;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-ads-step-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0.5rem;
}
.rsd-ads-step-num {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border-radius: var(--rsd-radius-md);
        background: var(--rsd-brand-600);
        font-size: 13px;
        font-weight: 800;
        color: #fff;
}
html.dark .rsd-ads-step-num {
        background: var(--rsd-brand-500);
        color: var(--rsd-brand-950);
}
.rsd-ads-step-arrow {
        display: none;
        color: var(--rsd-muted-fg);
        opacity: 0.4;
}
@media (min-width: 640px) {
        .rsd-ads-step-arrow {
                display: inline-flex;
        }
}
.rsd-ads-step h3 {
        margin: 0 0 0.375rem;
        font-size: 14px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-ads-step p {
        margin: 0;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}

/* چارچوب «چه چیزی نمی‌پذیریم» */
.rsd-ads-rules {
        overflow: hidden;
        border: 1px solid var(--rsd-border);
        border-radius: var(--rsd-radius-xl);
        background: var(--rsd-card);
        box-shadow: var(--rsd-shadow-card);
}
.rsd-ads-rules-head {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--rsd-border);
}
.rsd-ads-rules-head h2 {
        margin: 0;
        font-size: 16px;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-ads-rules-head p {
        margin: 0;
        font-size: 11px;
        color: var(--rsd-muted-fg);
}
.rsd-ads-rules-body {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.25rem;
}
@media (min-width: 640px) {
        .rsd-ads-rules-body {
                grid-template-columns: repeat(3, minmax(0, 1fr));
        }
}
.rsd-ads-rule {
        padding: 1rem;
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-muted-bg);
}
.rsd-ads-rule-title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.375rem;
        font-size: 13px;
        font-weight: 700;
        color: var(--rsd-fg);
}
.rsd-ads-rule-title svg {
        flex-shrink: 0;
        color: var(--rsd-muted-fg);
}
.rsd-ads-rule p {
        margin: 0;
        font-size: 12px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}

/* CTA (گرادیان برند — ستونی/وسط در موبایل → افقی ≥sm) */
.rsd-ads-cta {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 1.5rem;
        text-align: center;
        border: 1px solid var(--rsd-brand-200);
        border-radius: var(--rsd-radius-xl);
        background: linear-gradient(to left, var(--rsd-brand-50), var(--rsd-card), rgb(245 237 213 / 0.6));
}
@media (min-width: 640px) {
        .rsd-ads-cta {
                flex-direction: row;
                padding: 2rem;
                text-align: right;
        }
}
html.dark .rsd-ads-cta {
        border-color: rgb(185 140 51 / 0.3);
        background: linear-gradient(to left, rgb(185 140 51 / 0.1), var(--rsd-card), rgb(185 140 51 / 0.05));
}
.rsd-ads-cta-main {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
}
.rsd-ads-cta-ic {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        flex-shrink: 0;
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-brand-600);
        color: #fff;
}
.rsd-ads-cta h2 {
        margin: 0;
        font-size: 18px;
        font-weight: 800;
        color: var(--rsd-fg);
}
.rsd-ads-cta p {
        margin: 0.25rem 0 0;
        max-width: 28rem;
        font-size: 13px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
.rsd-ads-cta-btn {
        flex-shrink: 0;
        padding: 0.625rem 1.5rem;
        font-size: 15px;
}

/* پانوشت شفافیت */
.rsd-ads-note {
        margin: 0;
        padding: 1rem;
        border: 1px dashed var(--rsd-border);
        border-radius: var(--rsd-radius-lg);
        background: var(--rsd-muted-bg);
        text-align: center;
        font-size: 11px;
        line-height: 1.5rem;
        color: var(--rsd-muted-fg);
}
