/* ==========================================================================
   assets/css/rtl.css - Right-to-Left (RTL) Layout Engine
   Specifically designed for Arabic (ar) and Persian (fa) localization.
   Maintains strict LTR for Western Arabic numerals (0-9), IP addresses,
   code blocks, and networking metrics as mandated by project requirements.
   ========================================================================== */

/* 1. Global RTL Typography & Direction */
html[dir="rtl"] {
    direction: rtl;
    text-align: right;
}

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

/* 2. Strict LTR Isolation for Technical Metrics & Western Arabic Numerals (0-9) */
/* Mandated: IP addresses, ports, scores, ping latency, ASN, code blocks stay LTR */
html[dir="rtl"] code,
html[dir="rtl"] pre,
html[dir="rtl"] kbd,
html[dir="rtl"] samp,
html[dir="rtl"] .font-monospace,
html[dir="rtl"] .ip-text,
html[dir="rtl"] .badge-ip,
html[dir="rtl"] .ip-lookup-result,
html[dir="rtl"] .latency-ms,
html[dir="rtl"] .metric-value,
html[dir="rtl"] .score-number,
html[dir="rtl"] .asn-badge,
html[dir="rtl"] .fingerprint-hash,
html[dir="rtl"] input[type="text"].ip-input,
html[dir="rtl"] .ltr-force {
    direction: ltr !important;
    text-align: left;
    display: inline-block;
    unicode-bidi: isolate;
}

/* 3. Navigation Bar & Dropdowns */
html[dir="rtl"] .dropdown-menu {
    text-align: right;
}

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

html[dir="rtl"] .navbar-nav {
    padding-right: 0;
}

html[dir="rtl"] .navbar-nav .dropdown-menu {
    position: absolute;
}

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

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

/* 4. Margin & Padding Mirroring (Bootstrap utilities) */
html[dir="rtl"] .me-1 { margin-left: 0.25rem !important; margin-right: 0 !important; }
html[dir="rtl"] .me-2 { margin-left: 0.5rem !important; margin-right: 0 !important; }
html[dir="rtl"] .me-3 { margin-left: 1rem !important; margin-right: 0 !important; }
html[dir="rtl"] .me-4 { margin-left: 1.5rem !important; margin-right: 0 !important; }
html[dir="rtl"] .me-5 { margin-left: 3rem !important; margin-right: 0 !important; }

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

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

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

/* 5. Form Inputs & Input Groups */
html[dir="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-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: var(--bs-border-radius);
    border-bottom-left-radius: var(--bs-border-radius);
}

html[dir="rtl"] .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius);
}

/* 6. Cards, Tables, Status Dots & Indicators */
html[dir="rtl"] .table th,
html[dir="rtl"] .table td {
    text-align: right;
}

html[dir="rtl"] .card-header .btn-close {
    margin-right: auto;
    margin-left: 0;
}

html[dir="rtl"] .dot-container {
    flex-direction: row-reverse;
}

/* 7. Alerts, Badges & Lists */
html[dir="rtl"] .alert-dismissible {
    padding-left: 3rem;
    padding-right: 1rem;
}

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

html[dir="rtl"] .list-group {
    padding-right: 0;
}

/* 8. Accordions & Chevrons */
html[dir="rtl"] .accordion-button::after {
    margin-right: auto;
    margin-left: 0;
    transform: rotate(0deg);
}
html[dir="rtl"] .accordion-button:not(.collapsed):after {
    transform: rotate(-180deg);
}

/* 9. Language Switcher & Modal */
html[dir="rtl"] .modal-header .btn-close {
    margin: -0.5rem auto -0.5rem -0.5rem;
}
