/**
 * FilterX - RTL Icons & Spacing
 * تنسيقات عامة للأيقونات والنصوص مع دعم RTL
 * 
 * @version 1.0.0
 * @author FilterX Team
 */

/* ========================================
   تباعد الأيقونات - Bootstrap Override
   ======================================== */

/* تباعد الأيقونات قبل النص (RTL) */
.bi.me-1, i.me-1 { margin-left: 0.25rem !important; margin-right: 0 !important; }
.bi.me-2, i.me-2 { margin-left: 0.5rem !important; margin-right: 0 !important; }
.bi.me-3, i.me-3 { margin-left: 1rem !important; margin-right: 0 !important; }
.bi.me-4, i.me-4 { margin-left: 1.5rem !important; margin-right: 0 !important; }
.bi.me-5, i.me-5 { margin-left: 3rem !important; margin-right: 0 !important; }

/* تباعد الأيقونات بعد النص (RTL) */
.bi.ms-1, i.ms-1 { margin-right: 0.25rem !important; margin-left: 0 !important; }
.bi.ms-2, i.ms-2 { margin-right: 0.5rem !important; margin-left: 0 !important; }
.bi.ms-3, i.ms-3 { margin-right: 1rem !important; margin-left: 0 !important; }
.bi.ms-4, i.ms-4 { margin-right: 1.5rem !important; margin-left: 0 !important; }
.bi.ms-5, i.ms-5 { margin-right: 3rem !important; margin-left: 0 !important; }

/* ========================================
   تنسيقات الأزرار
   ======================================== */

.btn .bi,
.btn i {
    margin-left: 0.4rem;
    vertical-align: middle;
}

.btn .bi:first-child,
.btn i:first-child {
    margin-left: 0;
    margin-right: 0;
}

.btn .bi:last-child,
.btn i:last-child {
    margin-left: 0;
    margin-right: 0.4rem;
}

/* أزرار صغيرة */
.btn-sm .bi,
.btn-sm i {
    margin-left: 0.3rem;
    font-size: 0.875rem;
}

.btn-sm .bi:last-child,
.btn-sm i:last-child {
    margin-left: 0;
    margin-right: 0.3rem;
}

/* أزرار كبيرة */
.btn-lg .bi,
.btn-lg i {
    margin-left: 0.5rem;
    font-size: 1.25rem;
}

.btn-lg .bi:last-child,
.btn-lg i:last-child {
    margin-left: 0;
    margin-right: 0.5rem;
}

/* ========================================
   تنسيقات الـ Badges
   ======================================== */

.badge .bi,
.badge i {
    margin-left: 0.35rem;
    vertical-align: middle;
    font-size: 0.875em;
}

.badge .bi:first-child,
.badge i:first-child {
    margin-left: 0;
    margin-right: 0;
}

.badge .bi:last-child,
.badge i:last-child {
    margin-left: 0;
    margin-right: 0.35rem;
}

/* ========================================
   تنسيقات العناوين
   ======================================== */

h1 .bi, h1 i { margin-left: 0.6rem; font-size: 0.9em; }
h2 .bi, h2 i { margin-left: 0.5rem; font-size: 0.9em; }
h3 .bi, h3 i { margin-left: 0.5rem; font-size: 0.9em; }
h4 .bi, h4 i { margin-left: 0.4rem; font-size: 0.9em; }
h5 .bi, h5 i { margin-left: 0.4rem; font-size: 0.9em; }
h6 .bi, h6 i { margin-left: 0.3rem; font-size: 0.9em; }

h1 .bi:first-child, h1 i:first-child,
h2 .bi:first-child, h2 i:first-child,
h3 .bi:first-child, h3 i:first-child,
h4 .bi:first-child, h4 i:first-child,
h5 .bi:first-child, h5 i:first-child,
h6 .bi:first-child, h6 i:first-child {
    margin-left: 0;
    margin-right: 0;
}

/* ========================================
   تنسيقات النصوص
   ======================================== */

/* نصوص صغيرة */
small .bi,
small i,
.small .bi,
.small i {
    margin-left: 0.3rem;
    font-size: 1em;
}

/* نصوص خافتة */
.text-muted .bi,
.text-muted i {
    margin-left: 0.3rem;
}

/* فقرات */
p .bi,
p i {
    margin-left: 0.3rem;
    margin-right: 0.3rem;
}

/* ========================================
   تنسيقات الـ Alerts
   ======================================== */

.alert .bi,
.alert i {
    margin-left: 0.5rem;
    vertical-align: middle;
}

.alert .bi:first-child,
.alert i:first-child {
    margin-left: 0;
    margin-right: 0;
}

/* ========================================
   تنسيقات الـ Navigation
   ======================================== */

/* Nav Pills & Tabs */
.nav-link .bi,
.nav-link i {
    margin-left: 0.4rem;
    vertical-align: middle;
}

.nav-link .bi:first-child,
.nav-link i:first-child {
    margin-left: 0;
    margin-right: 0;
}

/* Breadcrumb */
.breadcrumb-item .bi,
.breadcrumb-item i {
    margin-left: 0.3rem;
    font-size: 0.875rem;
}

/* Pagination */
.page-link .bi,
.page-link i {
    margin-left: 0.3rem;
    vertical-align: middle;
}

/* ========================================
   تنسيقات الـ Dropdown (RTL Support)
   ======================================== */

/* إصلاح اتجاه القائمة المنسدلة */
.dropdown-menu {
    text-align: right !important;
    direction: rtl !important;
}

/* محاذاة العناصر */
.dropdown-item {
    text-align: right !important;
    direction: rtl !important;
    padding: 0.5rem 1rem;
}

/* الأيقونات في dropdown-item */
.dropdown-item .bi,
.dropdown-item i {
    margin-left: 0.5rem;
    margin-right: 0;
    width: 1.2rem;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
}

/* الأيقونة الأولى (في البداية) */
.dropdown-item .bi:first-child,
.dropdown-item i:first-child {
    margin-left: 0;
    margin-right: 0;
}

/* الأيقونة الأخيرة (في النهاية) */
.dropdown-item .bi:last-child,
.dropdown-item i:last-child {
    margin-left: 0;
    margin-right: 0.5rem;
}

/* Hover state */
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #f8f9fa;
    color: #212529;
}

/* Active state */
.dropdown-item.active,
.dropdown-item:active {
    background-color: #667eea;
    color: #fff;
}

/* Disabled state */
.dropdown-item.disabled,
.dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent;
}

/* Dropdown Divider */
.dropdown-divider {
    margin: 0.5rem 0;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
}

/* Dropdown Header */
.dropdown-header {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    color: #6c757d;
    text-align: right;
    direction: rtl;
}

/* إصلاح موضع القائمة في RTL */
.dropdown-menu[data-bs-popper] {
    right: 0 !important;
    left: auto !important;
}

/* للقوائم المنسدلة من اليسار */
.dropdown-menu-start {
    right: auto !important;
    left: 0 !important;
}

/* للقوائم المنسدلة من اليمين */
.dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
}

/* ========================================
   تنسيقات الـ List Group
   ======================================== */

.list-group-item .bi,
.list-group-item i {
    margin-left: 0.5rem;
    vertical-align: middle;
}

.list-group-item .bi:first-child,
.list-group-item i:first-child {
    margin-left: 0;
    margin-right: 0;
}

/* ========================================
   تنسيقات الـ Cards
   ======================================== */

.card-title .bi,
.card-title i {
    margin-left: 0.5rem;
    vertical-align: middle;
}

.card-header .bi,
.card-header i {
    margin-left: 0.4rem;
    vertical-align: middle;
}

.card-footer .bi,
.card-footer i {
    margin-left: 0.4rem;
    vertical-align: middle;
}

/* ========================================
   تنسيقات الجداول
   ======================================== */

table th .bi,
table th i {
    margin-left: 0.4rem;
    vertical-align: middle;
}

table td .bi,
table td i {
    margin-left: 0.3rem;
    vertical-align: middle;
}

/* ========================================
   تنسيقات الـ Modal
   ======================================== */

.modal-title .bi,
.modal-title i {
    margin-left: 0.5rem;
    vertical-align: middle;
}

.modal-header .bi,
.modal-header i {
    margin-left: 0.4rem;
}

.modal-footer .bi,
.modal-footer i {
    margin-left: 0.4rem;
}

/* ========================================
   تنسيقات الـ Toast/Notifications
   ======================================== */

.toast .bi,
.toast i {
    margin-left: 0.5rem;
    vertical-align: middle;
}

.toast-header .bi,
.toast-header i {
    margin-left: 0.4rem;
}

/* ========================================
   تنسيقات الـ Forms
   ======================================== */

.form-label .bi,
.form-label i {
    margin-left: 0.3rem;
    vertical-align: middle;
}

/* ========================================
   تنسيقات الـ Input Groups (RTL Support)
   ======================================== */

/* إصلاح ترتيب العناصر في RTL */
.input-group {
    display: flex !important;
    flex-direction: row-reverse !important;
    position: relative;
    width: 100%;
}

/* النص داخل input-group-text */
.input-group-text {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    white-space: nowrap;
    background-color: #f8f9fa;
    border: 1px solid #ced4da;
}

/* الأيقونات داخل input-group-text */
.input-group-text .bi,
.input-group-text i {
    margin: 0;
    font-size: 1rem;
    color: #6c757d;
}

/* Input في المجموعة */
.input-group .form-control {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    text-align: right;
    direction: rtl;
}

/* إزالة الحدود المتداخلة */
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-right: -1px;
    margin-left: 0;
}

/* Border Radius للعنصر الأول (الأيمن في RTL) */
.input-group > :first-child {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Border Radius للعنصر الأخير (الأيسر في RTL) */
.input-group > :last-child {
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* العناصر في الوسط بدون border radius */
.input-group > :not(:first-child):not(:last-child) {
    border-radius: 0;
}

/* تنسيقات خاصة للعملات */
.input-group-text.currency {
    min-width: 45px;
    justify-content: center;
    font-weight: 700;
    color: #28a745;
}

/* تنسيقات خاصة للنسب المئوية */
.input-group-text.percentage {
    min-width: 45px;
    justify-content: center;
    font-weight: 700;
    color: #007bff;
}

/* تنسيقات خاصة للوحدات */
.input-group-text.unit {
    min-width: 60px;
    justify-content: center;
    font-weight: 600;
    color: #6c757d;
}

/* Focus states */
.input-group:focus-within .input-group-text {
    border-color: #80bdff;
    background-color: #e7f3ff;
}

/* Disabled state */
.input-group .form-control:disabled ~ .input-group-text,
.input-group .input-group-text.disabled {
    background-color: #e9ecef;
    opacity: 0.65;
}

/* Error state */
.input-group.is-invalid .input-group-text {
    border-color: #dc3545;
    background-color: #f8d7da;
}

.input-group.is-invalid .form-control {
    border-color: #dc3545;
}

/* Success state */
.input-group.is-valid .input-group-text {
    border-color: #28a745;
    background-color: #d4edda;
}

.input-group.is-valid .form-control {
    border-color: #28a745;
}

/* ========================================
   تنسيقات خاصة لحالات معينة
   ======================================== */

/* Input Group مع زرين (بداية ونهاية) */
.input-group > .input-group-text:first-child:not(:only-child) {
    border-left: 1px solid #ced4da;
}

.input-group > .input-group-text:last-child:not(:only-child) {
    border-right: 1px solid #ced4da;
}

/* Input Group مع عنصر واحد فقط */
.input-group > .input-group-text:only-child {
    border-radius: 0.375rem;
}

/* تحسين المظهر عند وجود عدة عناصر */
.input-group > .form-control + .input-group-text {
    border-right: 1px solid #ced4da;
}

.input-group > .input-group-text + .form-control {
    border-left: 1px solid #ced4da;
}

/* إصلاح z-index للعناصر المتداخلة */
.input-group > .form-control:focus {
    z-index: 3;
}

.input-group > .input-group-text {
    z-index: 2;
}

/* تنسيقات للأرقام في Input */
.input-group .form-control[type="number"] {
    text-align: left;
    direction: ltr;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

/* إصلاح أزرار الأرقام في Chrome/Safari */
.input-group .form-control[type="number"]::-webkit-inner-spin-button,
.input-group .form-control[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/* تنسيقات للـ Input Group Sizes */
.input-group-sm > .form-control,
.input-group-sm > .input-group-text {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    border-radius: 0.25rem;
}

.input-group-lg > .form-control,
.input-group-lg > .input-group-text {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    border-radius: 0.5rem;
}

/* ========================================
   أحجام الأيقونات
   ======================================== */

/* أيقونات كبيرة جداً */
.bi-xl, i.xl {
    font-size: 2rem;
    margin-left: 0.8rem;
}

/* أيقونات كبيرة */
.bi-lg, i.lg {
    font-size: 1.5rem;
    margin-left: 0.6rem;
}

/* أيقونات متوسطة (افتراضي) */
.bi-md, i.md {
    font-size: 1rem;
    margin-left: 0.4rem;
}

/* أيقونات صغيرة */
.bi-sm, i.sm {
    font-size: 0.875rem;
    margin-left: 0.25rem;
}

/* أيقونات صغيرة جداً */
.bi-xs, i.xs {
    font-size: 0.75rem;
    margin-left: 0.2rem;
}

/* ========================================
   تصحيحات عامة
   ======================================== */

/* تصحيح المحاذاة العمودية */
.bi, i {
    vertical-align: middle;
    display: inline-block;
}

/* تصحيح للأيقونات في الأزرار المعطلة */
.btn:disabled .bi,
.btn:disabled i,
.btn.disabled .bi,
.btn.disabled i {
    opacity: 0.65;
}

/* تصحيح للأيقونات في الروابط */
a .bi,
a i {
    margin-left: 0.3rem;
}

a .bi:first-child,
a i:first-child {
    margin-left: 0;
    margin-right: 0;
}

/* ========================================
   Utilities
   ======================================== */

/* إزالة التباعد */
.icon-no-spacing .bi,
.icon-no-spacing i {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* تباعد مخصص */
.icon-spacing-sm .bi,
.icon-spacing-sm i {
    margin-left: 0.25rem;
}

.icon-spacing-md .bi,
.icon-spacing-md i {
    margin-left: 0.5rem;
}

.icon-spacing-lg .bi,
.icon-spacing-lg i {
    margin-left: 0.75rem;
}

.icon-spacing-xl .bi,
.icon-spacing-xl i {
    margin-left: 1rem;
}

/* محاذاة الأيقونات */
.icon-align-top .bi,
.icon-align-top i {
    vertical-align: top;
}

.icon-align-middle .bi,
.icon-align-middle i {
    vertical-align: middle;
}

.icon-align-bottom .bi,
.icon-align-bottom i {
    vertical-align: bottom;
}

/* ========================================
   تنسيقات الـ Navbar (RTL Support)
   ======================================== */

.navbar {
    direction: rtl !important;
}

.navbar-brand {
    margin-left: 1rem !important;
    margin-right: 0 !important;
}

.navbar-brand .bi,
.navbar-brand i {
    margin-left: 0.5rem;
    margin-right: 0;
}

.navbar-nav {
    direction: rtl !important;
}

.navbar-nav .nav-item {
    text-align: right;
}

.navbar-toggler {
    margin-right: auto !important;
    margin-left: 0 !important;
}

.navbar-collapse {
    direction: rtl !important;
}

/* أزرار في Navbar */
.navbar .btn .bi,
.navbar .btn i {
    margin-left: 0.3rem;
    margin-right: 0;
}

/* Navbar Text */
.navbar-text {
    direction: rtl;
    text-align: right;
}

/* ========================================
   تنسيقات الـ Footer (RTL Support)
   ======================================== */

footer {
    direction: rtl !important;
}

footer .container,
footer .container-fluid {
    direction: rtl !important;
}

footer .nav {
    direction: rtl !important;
    flex-direction: row-reverse !important;
}

footer .nav-item {
    text-align: right;
}

footer .nav-link {
    text-align: right;
    direction: rtl;
}

footer .text-muted {
    text-align: right;
}

/* Social Links في Footer */
footer .social-links {
    direction: rtl;
}

footer .social-links .bi,
footer .social-links i {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 768px) {
    /* تقليل التباعد على الشاشات الصغيرة */
    .btn .bi,
    .btn i {
        margin-left: 0.3rem;
    }
    
    h1 .bi, h1 i,
    h2 .bi, h2 i {
        margin-left: 0.4rem;
    }
    
    /* Navbar في الموبايل */
    .navbar-collapse {
        text-align: right;
    }
    
    .navbar-nav {
        align-items: flex-end;
    }
    
    /* Footer في الموبايل */
    footer .container {
        text-align: center;
    }
    
    footer .nav {
        justify-content: center;
    }
}
