/* قواعد مشترک محتوا؛ عرض صفحه و داده‌های ساختاریافته متعلق به قالب‌ها هستند.
   Shared prose rules; page widths and structured data remain template-owned. */
.rich-content {
    max-width:80ch;
    min-width:0;
    text-align:justify;
    line-height:2.1;
    overflow-wrap:anywhere;
    /* تورفتگی HTML نباید فاصله بصری بسازد؛ رندر شکست خط متن ساده را حفظ می‌کند.
       HTML indentation is not visual spacing; the renderer preserves plain-text breaks. */
    white-space:normal;
}

.rich-content p { margin-block:16px; }
.rich-content h2,.rich-content h3,.rich-content h4 {
    text-align:start;
    margin-block:24px 12px;
    line-height:1.4;
    font-weight:700;
}
.rich-content h2 { font-size:28px; }
.rich-content h3 { font-size:21px; }
.rich-content h4 { font-size:20px; }
.rich-content strong { font-weight:700; }
.rich-content a { text-decoration:underline; text-underline-offset:4px; }

.rich-content ul,.rich-content ol { padding-inline-start:24px; margin-block:16px; }
.rich-content li { margin-block:6px; }
.rich-content li>ul,.rich-content li>ol { margin-block:8px; }

.rich-content blockquote {
    margin:24px 0;
    padding:18px 24px;
    background:#eef7f2;
    border-inline-start:4px solid var(--primary);
    border-radius:var(--radius);
}
.rich-content blockquote>p:first-child,.rich-content aside>p:first-child { margin-block-start:0; }
.rich-content blockquote>p:last-child,.rich-content aside>p:last-child { margin-block-end:0; }

.rich-content .content-table-scroll {
    max-width:100%;
    overflow-x:auto;
    margin-block:20px;
    overscroll-behavior-inline:contain;
}
.rich-content .content-table-scroll:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.rich-content table {
    display:table;
    width:100%;
    border-collapse:collapse;
    white-space:normal;
}
.rich-content th,.rich-content td {
    min-width:8rem;
    padding:10px;
    border:1px solid var(--border);
    text-align:start;
    vertical-align:top;
    overflow-wrap:normal;
}
.rich-content thead { background:var(--surface); }
.rich-content caption { text-align:start; padding-block:8px; color:var(--muted); font-size:13px; }

.rich-content figure { margin:24px 0; max-width:100%; }
.rich-content img { max-width:100%; height:auto; }
.rich-content figcaption { margin-block-start:12px; font-size:13px; color:var(--muted); text-align:start; }

.rich-content dl { margin-block:20px; }
.rich-content dt { font-size:13px; color:var(--muted); text-align:start; }
.rich-content dd { margin:6px 0 16px; padding-block-end:12px; border-block-end:1px solid var(--border); }

.rich-content aside[data-content-kind] {
    margin-block:24px;
    padding:18px 24px;
    border-inline-start:4px solid var(--brand);
    border-radius:var(--radius);
    background:var(--surface);
}
.rich-content aside[data-content-kind="tip"] { border-inline-start-color:var(--primary); }
.rich-content aside[data-content-kind="warning"],.rich-content aside[data-content-kind="important"] {
    border-inline-start-color:var(--accent);
}

.rich-content details { margin-block:20px; padding:20px; background:var(--surface); border-radius:var(--radius); }
.rich-content summary { cursor:pointer; padding:0; font-size:16px; font-weight:600; text-align:start; }
.rich-content summary:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.rich-content hr { border:0; border-block-start:1px solid var(--border); margin-block:24px; }
.rich-content bdi { unicode-bidi:isolate; }

@media(max-width:700px) {
    .rich-content h2 { font-size:24px; }
    .rich-content blockquote,.rich-content aside[data-content-kind],.rich-content details { padding:16px; }
}
