/**
 * rtl.css — چیدمان کامل راست‌به‌چپ برای زبان‌های fa و ar
 * فعال می‌شود وقتی <html dir="rtl"> یا کلاس rt-rtl روی <html> ست شود (توسط assets/js/i18n.js)
 * این فایل باید بعد از تمام CSSهای دیگر صفحه لود شود.
 */

html.rt-rtl,
html[dir="rtl"] {
    direction: rtl;
}

html.rt-rtl body,
html[dir="rtl"] body {
    direction: rtl;
    text-align: right;
}

/* بازگرداندن جهت برای المان‌های ذاتاً عددی/لاتین (قیمت‌ها، نمودارها، کد) */
html.rt-rtl .rt-ltr-force,
html.rt-rtl input[type="number"],
html.rt-rtl .rt-price,
html.rt-rtl .rt-chart-container,
html.rt-rtl code,
html.rt-rtl pre {
    direction: ltr;
}

/* فلکس‌باکس‌ها: مرورگرهای مدرن با dir=rtl خودشان row را برعکس می‌کنند،
   اما برخی چیدمان‌های صریح row-reverse/flex-direction نیاز به اصلاح دارند */
html.rt-rtl .rt-flex-row {
    flex-direction: row-reverse;
}

/* آیکون‌های فلش/جهت‌دار که باید آینه شوند */
html.rt-rtl .rt-icon-mirror {
    transform: scaleX(-1);
}

/* پدینگ/مارجین جهت‌دار با منطق inline (start/end) به‌جای left/right */
html.rt-rtl .rt-pl,
html.rt-rtl .rt-pr,
html.rt-rtl .rt-ml,
html.rt-rtl .rt-mr {
    /* در صورت استفاده از کلاس‌های ساده‌ی left/right، اینجا override می‌شود */
}

/* جدول‌ها: راست‌چین کردن سرستون و سلول‌ها */
html.rt-rtl table th,
html.rt-rtl table td {
    text-align: right;
}
html.rt-rtl table th:first-child,
html.rt-rtl table td:first-child {
    text-align: right;
}

/* اسکرول‌بار و موقعیت نوتیفیکیشن/مودال در گوشه‌ی مناسب */
html.rt-rtl .rt-modal,
html.rt-rtl .rt-toast,
html.rt-rtl .rt-dropdown {
    text-align: right;
}

/* سوییچر زبان و عناصر شناور که با inset-inline-end ساخته شده‌اند نیازی به override ندارند
   چون مرورگر به‌صورت خودکار آن را برای rtl برعکس می‌کند. */

/* ورودی‌های فرم: آیکون داخل اینپوت (مثل آیکون چشم برای پسورد) */
html.rt-rtl .rt-input-icon-right {
    right: auto;
    left: 12px;
}
html.rt-rtl .rt-input-icon-left {
    left: auto;
    right: 12px;
}

/* نوبار/ساید‌بار: اگر با left/right مطلق چیده شده باشد */
html.rt-rtl .rt-sidebar-left {
    left: auto;
    right: 0;
}
html.rt-rtl .rt-sidebar-right {
    right: auto;
    left: 0;
}
