/**
 * RTL Support and Arabic Font Styles
 * 
 * @package ExamGPT
 * @version 3.0
 */

/* Import Almarai font from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700;800&display=swap');

/* Apply Almarai for Arabic */
[lang="ar"], [lang="ar"] * {
    font-family: 'Almarai', 'Plus Jakarta Sans', sans-serif !important;
}

/* RTL Direction */
[dir="rtl"] {
    direction: rtl;
    text-align: right;
}

/* RTL Text Alignment */
[dir="rtl"] .text-start {
    text-align: right !important;
}

[dir="rtl"] .text-end {
    text-align: left !important;
}

[dir="rtl"] .text-left {
    text-align: right !important;
}

[dir="rtl"] .text-right {
    text-align: left !important;
}

/* RTL Margins and Padding */
[dir="rtl"] .ms-auto {
    margin-right: auto !important;
    margin-left: 0 !important;
}

[dir="rtl"] .me-auto {
    margin-left: auto !important;
    margin-right: 0 !important;
}

[dir="rtl"] .ms-1 { margin-right: 0.25rem !important; margin-left: 0 !important; }
[dir="rtl"] .ms-2 { margin-right: 0.5rem !important; margin-left: 0 !important; }
[dir="rtl"] .ms-3 { margin-right: 1rem !important; margin-left: 0 !important; }
[dir="rtl"] .ms-4 { margin-right: 1.5rem !important; margin-left: 0 !important; }

[dir="rtl"] .me-1 { margin-left: 0.25rem !important; margin-right: 0 !important; }
[dir="rtl"] .me-2 { margin-left: 0.5rem !important; margin-right: 0 !important; }
[dir="rtl"] .me-3 { margin-left: 1rem !important; margin-right: 0 !important; }
[dir="rtl"] .me-4 { margin-left: 1.5rem !important; margin-right: 0 !important; }

[dir="rtl"] .ps-1 { padding-right: 0.25rem !important; padding-left: 0 !important; }
[dir="rtl"] .ps-2 { padding-right: 0.5rem !important; padding-left: 0 !important; }
[dir="rtl"] .ps-3 { padding-right: 1rem !important; padding-left: 0 !important; }

[dir="rtl"] .pe-1 { padding-left: 0.25rem !important; padding-right: 0 !important; }
[dir="rtl"] .pe-2 { padding-left: 0.5rem !important; padding-right: 0 !important; }
[dir="rtl"] .pe-3 { padding-left: 1rem !important; padding-right: 0 !important; }

/* RTL Borders */
[dir="rtl"] .border-left {
    border-left: none !important;
    border-right: 4px solid;
}

[dir="rtl"] .border-start {
    border-left: none !important;
    border-right: 1px solid;
}

[dir="rtl"] .border-end {
    border-right: none !important;
    border-left: 1px solid;
}

/* RTL Navbar */
[dir="rtl"] .navbar-brand {
    margin-left: 1rem;
    margin-right: 0;
}

[dir="rtl"] .navbar-nav {
    margin-left: 0;
    margin-right: auto;
}

[dir="rtl"] .nav-link {
    padding-right: 0.5rem;
    padding-left: 1rem;
}

/* RTL Dropdown */
[dir="rtl"] .dropdown-menu {
    left: auto;
    right: 0;
    text-align: right;
}

[dir="rtl"] .dropdown-menu-end {
    right: auto;
    left: 0;
}

[dir="rtl"] .dropdown-item {
    text-align: right;
}

/* RTL Forms */
[dir="rtl"] .form-control {
    text-align: right;
}

[dir="rtl"] .form-check {
    padding-left: 0;
    padding-right: 1.5em;
}

[dir="rtl"] .form-check-input {
    float: right;
    margin-left: 0;
    margin-right: -1.5em;
}

[dir="rtl"] input[type="text"],
[dir="rtl"] input[type="email"],
[dir="rtl"] input[type="password"],
[dir="rtl"] textarea {
    text-align: right;
}

/* RTL Input Icons */
[dir="rtl"] .input-icon {
    left: auto;
    right: 16px;
}

[dir="rtl"] .form-control {
    padding-left: 16px;
    padding-right: 50px;
}

[dir="rtl"] .password-toggle {
    right: auto;
    left: 16px;
}

[dir="rtl"] .password-field .form-control {
    padding-right: 50px;
    padding-left: 50px;
}

/* RTL Buttons */
[dir="rtl"] .btn i {
    margin-left: 0.5rem;
    margin-right: 0;
}

[dir="rtl"] .btn i:first-child {
    margin-right: 0.5rem;
    margin-left: 0;
}

/* RTL Cards */
[dir="rtl"] .course-card,
[dir="rtl"] .course-item {
    border-left: none;
    border-right: 4px solid var(--primary-purple);
}

[dir="rtl"] .info-row:hover {
    padding-right: 0.5rem;
    margin-right: -0.5rem;
    padding-left: 0.5rem;
    margin-left: -0.5rem;
}

/* RTL Tables */
[dir="rtl"] table {
    text-align: right;
}

[dir="rtl"] th,
[dir="rtl"] td {
    text-align: right;
}

/* RTL Lists */
[dir="rtl"] ul,
[dir="rtl"] ol {
    padding-left: 0;
    padding-right: 1.5rem;
}

/* RTL Alerts */
[dir="rtl"] .alert {
    text-align: right;
}

[dir="rtl"] .alert-dismissible {
    padding-left: 3rem;
    padding-right: 1rem;
}

[dir="rtl"] .alert-dismissible .btn-close {
    left: 0;
    right: auto;
}

/* RTL Back Button */
[dir="rtl"] .back-home i {
    margin-left: 8px;
    margin-right: 0;
}

/* RTL Breadcrumbs */
[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    float: right;
    padding-left: 0.5rem;
    padding-right: 0;
    content: "/" var(--bs-breadcrumb-divider, "/");
}

/* RTL Badges */
[dir="rtl"] .badge {
    text-align: center;
}

/* RTL Modal */
[dir="rtl"] .modal-header .btn-close {
    margin-left: 0;
    margin-right: auto;
}

/* RTL Profile Avatar */
[dir="rtl"] .user-avatar-small {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* RTL Course Meta */
[dir="rtl"] .course-meta {
    text-align: right;
}

/* RTL Stats */
[dir="rtl"] .stat-card {
    text-align: center;
}

/* RTL Section Titles */
[dir="rtl"] .section-title i {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* RTL Info Labels */
[dir="rtl"] .info-label i {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* RTL Form Labels */
[dir="rtl"] .form-label i {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* RTL Animations - Reverse direction */
[dir="rtl"] .dropdown-item:hover {
    transform: translateX(-5px);
}

[dir="rtl"] .course-item:hover,
[dir="rtl"] .course-card:hover {
    transform: translateX(-5px);
}

/* RTL Float */
[dir="rtl"] .float-start {
    float: right !important;
}

[dir="rtl"] .float-end {
    float: left !important;
}

/* RTL Flex */
[dir="rtl"] .flex-row-reverse {
    flex-direction: row !important;
}

/* Improve Arabic Typography */
[lang="ar"] {
    line-height: 1.8;
    letter-spacing: 0;
}

[lang="ar"] h1,
[lang="ar"] h2,
[lang="ar"] h3,
[lang="ar"] h4,
[lang="ar"] h5,
[lang="ar"] h6 {
    font-weight: 700;
}

[lang="ar"] .btn {
    font-weight: 600;
}

[lang="ar"] input,
[lang="ar"] textarea,
[lang="ar"] select {
    font-weight: 400;
}

/* Fix for Arabic numerals */
[lang="ar"] input[type="number"] {
    text-align: left;
}

/* Exempt icon elements from Almarai so Font Awesome / emoji render correctly */
[lang="ar"] i[class^="fa"],
[lang="ar"] .fa,
[lang="ar"] .fas,
[lang="ar"] .far,
[lang="ar"] .fal,
[lang="ar"] .fab,
[lang="ar"] .flag-icon {
    font-family: inherit !important; /* revert to default */
}

/* Language Switcher RTL Fix */
[dir="rtl"] .language-switcher {
    margin-right: auto;
    margin-left: 0;
}

[dir="rtl"] .lang-dropdown {
    left: 0;
    right: auto;
}

/* ===== Icon & Emoji Font Overrides (placed at end for highest specificity) ===== */
[lang="ar"] i[class^="fa"],
[lang="ar"] .fa,
[lang="ar"] .fas,
[lang="ar"] .far,
[lang="ar"] .fal,
[lang="ar"] .fab {
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "Font Awesome 6 Brands", "FontAwesome", sans-serif !important;
    font-weight: 900 !important; /* keep correct icon weights */
}

[lang="ar"] .flag-icon,
[lang="ar"] .emoji,
[lang="ar"] .flag {
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif !important;
}

