/**
 * QGIS Viewer - RTL (Right-to-Left) Support
 * Loaded when locale is ar, he, fa, ur
 */

/* ============================================================================
   GENERAL RTL OVERRIDES
   ============================================================================ */

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

/* Flip icon margins */
[dir="rtl"] .me-1 { margin-right: 0 !important; margin-left: 0.25rem !important; }
[dir="rtl"] .me-2 { margin-right: 0 !important; margin-left: 0.5rem !important; }
[dir="rtl"] .me-3 { margin-right: 0 !important; margin-left: 1rem !important; }
[dir="rtl"] .ms-1 { margin-left: 0 !important; margin-right: 0.25rem !important; }
[dir="rtl"] .ms-2 { margin-left: 0 !important; margin-right: 0.5rem !important; }
[dir="rtl"] .ms-3 { margin-left: 0 !important; margin-right: 1rem !important; }
[dir="rtl"] .ms-auto { margin-left: 0 !important; margin-right: auto !important; }

/* ============================================================================
   ADMIN SIDEBAR
   ============================================================================ */

[dir="rtl"] .qgis-admin-sidebar {
    left: auto;
    right: 0;
    border-left: 1px solid var(--qgis-admin-border);
    border-right: none;
}

[dir="rtl"] .qgis-admin-content {
    margin-left: 0;
    margin-right: 260px;
}

@media (max-width: 991.98px) {
    [dir="rtl"] .qgis-admin-content {
        margin-right: 0;
    }

    [dir="rtl"] .qgis-admin-sidebar {
        transform: translateX(100%);
    }

    [dir="rtl"] .qgis-admin-sidebar.show {
        transform: translateX(0);
    }
}

/* Sidebar nav items */
[dir="rtl"] .qgis-admin-nav-item {
    padding-left: 0;
    padding-right: 1rem;
}

[dir="rtl"] .qgis-admin-nav-item i {
    margin-right: 0;
    margin-left: 0.5rem;
}

[dir="rtl"] .qgis-admin-sidebar-brand i {
    margin-right: 0;
    margin-left: 0.5rem;
}

/* ============================================================================
   MAP VIEWER LAYOUT
   ============================================================================ */

/* Sidebar */
[dir="rtl"] .qgis-sidebar {
    left: auto;
    right: 0;
    border-left: 1px solid var(--qgis-border-color);
    border-right: none;
}

[dir="rtl"] .qgis-sidebar.collapsed {
    transform: translateX(100%);
}

[dir="rtl"] .qgis-sidebar-toggle {
    left: auto;
    right: -28px;
}

[dir="rtl"] .qgis-sidebar-toggle i.bi-chevron-left {
    transform: scaleX(-1);
}

/* Map toolbar */
[dir="rtl"] .qgis-map-toolbar {
    right: auto;
    left: 1rem;
}

/* Map container offset */
[dir="rtl"] .qgis-map-container {
    margin-left: 0;
    margin-right: 0;
}

[dir="rtl"] .qgis-sidebar.collapsed ~ .qgis-map-container {
    margin-right: 0;
}

/* ============================================================================
   HEADER
   ============================================================================ */

[dir="rtl"] .qgis-header-brand {
    margin-right: 0;
    margin-left: auto;
}

[dir="rtl"] .qgis-header-actions {
    margin-left: 0;
    margin-right: auto;
}

/* ============================================================================
   LAYER TREE
   ============================================================================ */

[dir="rtl"] .qgis-layer-item-header {
    flex-direction: row-reverse;
    text-align: right;
}

[dir="rtl"] .qgis-layer-toggle {
    margin-right: 0;
    margin-left: 0.25rem;
}

[dir="rtl"] .qgis-layer-item-content {
    padding-left: 0;
    padding-right: 1.5rem;
}

[dir="rtl"] .qgis-layer-actions {
    margin-left: 0;
    margin-right: auto;
}

/* ============================================================================
   LEGEND
   ============================================================================ */

[dir="rtl"] .qgis-legend-item-header {
    flex-direction: row-reverse;
}

[dir="rtl"] .qgis-legend-symbol-row {
    flex-direction: row-reverse;
}

[dir="rtl"] .qgis-legend-symbol-icon {
    margin-right: 0;
    margin-left: 0.5rem;
}

/* ============================================================================
   FILTER PANEL
   ============================================================================ */

[dir="rtl"] .qgis-filter-row .row {
    flex-direction: row-reverse;
}

/* ============================================================================
   FEATURE INFO
   ============================================================================ */

[dir="rtl"] .qgis-feature-card .card-header {
    flex-direction: row-reverse;
}

[dir="rtl"] #feature-info-modal .modal-header {
    flex-direction: row-reverse;
}

[dir="rtl"] #feature-info-modal .btn-close {
    margin-left: 0;
    margin-right: auto;
}

/* ============================================================================
   TABLES
   ============================================================================ */

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

[dir="rtl"] .qgis-admin-table th.text-center,
[dir="rtl"] .qgis-admin-table td.text-center {
    text-align: center;
}

/* ============================================================================
   FORMS
   ============================================================================ */

[dir="rtl"] .qgis-admin-form-label {
    text-align: right;
}

[dir="rtl"] .qgis-admin-form-text {
    text-align: right;
}

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

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

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

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

/* ============================================================================
   ALERTS
   ============================================================================ */

[dir="rtl"] .qgis-admin-alert {
    flex-direction: row-reverse;
    text-align: right;
}

[dir="rtl"] .qgis-admin-alert i {
    margin-right: 0;
    margin-left: 0.5rem;
}

/* ============================================================================
   STAT CARDS
   ============================================================================ */

[dir="rtl"] .qgis-admin-stat-card {
    flex-direction: row-reverse;
}

[dir="rtl"] .qgis-admin-stat-icon {
    margin-right: 0;
    margin-left: 1rem;
}

[dir="rtl"] .qgis-admin-stat-content {
    text-align: right;
}

/* ============================================================================
   BREADCRUMB
   ============================================================================ */

[dir="rtl"] .qgis-admin-breadcrumb {
    flex-direction: row-reverse;
}

[dir="rtl"] .qgis-admin-breadcrumb-separator {
    transform: scaleX(-1);
}

/* ============================================================================
   BUTTONS
   ============================================================================ */

[dir="rtl"] .qgis-admin-btn i,
[dir="rtl"] .btn i {
    margin-right: 0;
    margin-left: 0.25rem;
}

/* When icon is after text (e.g., arrows) */
[dir="rtl"] .bi-arrow-left::before {
    content: "\F12C"; /* bi-arrow-right */
}

[dir="rtl"] .bi-arrow-right::before {
    content: "\F128"; /* bi-arrow-left */
}

[dir="rtl"] .bi-chevron-left::before {
    content: "\F285"; /* bi-chevron-right */
}

[dir="rtl"] .bi-chevron-right::before {
    content: "\F282"; /* bi-chevron-left */
}

/* ============================================================================
   DROPDOWN MENUS
   ============================================================================ */

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

[dir="rtl"] .dropdown-menu-end {
    --bs-position: start;
}

[dir="rtl"] .dropdown-item i {
    margin-right: 0;
    margin-left: 0.5rem;
}

/* ============================================================================
   DEFINITION LISTS (dl/dt/dd)
   ============================================================================ */

[dir="rtl"] dl.row dt {
    text-align: right;
}

[dir="rtl"] dl.row dd {
    text-align: right;
}

/* ============================================================================
   CODE BLOCKS
   ============================================================================ */

[dir="rtl"] code,
[dir="rtl"] .qgis-admin-code-inline {
    direction: ltr;
    display: inline-block;
}

/* ============================================================================
   COORDINATES & SCALE (always LTR – numbers)
   ============================================================================ */

[dir="rtl"] .qgis-coordinates,
[dir="rtl"] .qgis-scale,
[dir="rtl"] .coord-lat,
[dir="rtl"] .coord-lng,
[dir="rtl"] .scale-value {
    direction: ltr;
    display: inline-block;
}

/* ============================================================================
   PRINT PANEL
   ============================================================================ */

[dir="rtl"] .qgis-print-panel {
    text-align: right;
}

/* ============================================================================
   ZOOM OVERLAY (Legend)
   ============================================================================ */

[dir="rtl"] .qgis-legend-zoom-header {
    flex-direction: row-reverse;
}

/* ============================================================================
   GAP UTILITIES (flex gap doesn't need RTL fix, but justify does)
   ============================================================================ */

[dir="rtl"] .justify-content-between {
    /* flex works fine in RTL */
}

/* ============================================================================
   LEAFLET MAP OVERRIDES
   ============================================================================ */

/* Leaflet controls position */
[dir="rtl"] .leaflet-control-zoom {
    margin-left: 10px;
    margin-right: auto;
}

[dir="rtl"] .leaflet-control-scale {
    direction: ltr;
}

/* Keep leaflet popups LTR for coordinates but RTL for text */
[dir="rtl"] .leaflet-popup-content {
    text-align: right;
}

[dir="rtl"] .leaflet-popup-content table {
    direction: rtl;
}