/**
 * MIP — RTL / Arabic UX (MAIN + TENANTS)
 * Ne force PAS direction:rtl sur tout le DOM.
 * Respecte html[dir=rtl] / lang=ar et isole les îlots LTR (tel, email, codes).
 * L’ordre DOM des actions [Cancel][Save] n’est PAS inversé via row-reverse.
 */

/* Hiérarchie logique : flex-end + ordre DOM (Cancel puis Save).
   En RTL le flux inline va de droite à gauche : l’utilisateur lit d’abord Cancel, puis Save. */
[dir="rtl"] .form-actions,
[dir="rtl"] .mip-dialog-footer,
[dir="rtl"] .modal-footer,
[dir="rtl"] .lab-form-actions,
[dir="rtl"] .cds-form-footer,
[dir="rtl"] .cds-appt-form-actions,
[dir="rtl"] .mip-crud-dialog__footer,
[dir="rtl"] .mip-tenant-dialog-footer {
    flex-direction: row;
    justify-content: flex-end;
}

[dir="rtl"] .form-actions,
[dir="rtl"] .mip-dialog-footer,
[dir="rtl"] .modal-footer {
    flex-wrap: wrap;
}

/* Alignement de contenu : start = droite en RTL, sans text-align:right hardcodé partout */
[dir="rtl"] .page-title,
[dir="rtl"] .saydali-page-title,
[dir="rtl"] .cds-page-title,
[dir="rtl"] .mip-drugs-page-title,
[dir="rtl"] label,
[dir="rtl"] .cds-breadcrumb,
[dir="rtl"] .mip-breadcrumb {
    text-align: start;
}

[dir="rtl"] .data-table th,
[dir="rtl"] .data-table td,
[dir="rtl"] table.mip-table th,
[dir="rtl"] table.mip-table td {
    text-align: start;
}

/* Chevrons / Back / Next : miroir des glyphes FA uniquement (pas le texte رجوع) */
[dir="rtl"] i.fa-chevron-right,
[dir="rtl"] i.fa-arrow-right,
[dir="rtl"] i.fa-angle-right,
[dir="rtl"] i.fa-chevron-left,
[dir="rtl"] i.fa-arrow-left,
[dir="rtl"] i.fa-angle-left,
[dir="rtl"] i.fa-caret-left,
[dir="rtl"] i.fa-caret-right {
    transform: scaleX(-1);
}

[dir="rtl"] .mip-rtl-keep,
[dir="rtl"] .mip-rtl-keep i {
    transform: none !important;
}

/* Pagination : même ordre DOM, alignement logique */
[dir="rtl"] .pagination,
[dir="rtl"] .mip-pagination,
[dir="rtl"] .products-page-arrow {
    flex-direction: row;
}

/* Recherche : icône en inline-start */
[dir="rtl"] .search-bar,
[dir="rtl"] .list-filters {
    flex-direction: row;
}

/* Dropdowns : ancrage inline-end */
[dir="rtl"] .topbar-dropdown,
[dir="rtl"] .dropdown-menu {
    inset-inline-end: 0;
    inset-inline-start: auto;
}

/* Neutralise row-reverse sur les barres d’actions (y compris styles injectés plus tard).
   Ordre DOM [Cancel][Save] + flex-end : lecture RTL = Cancel puis Save. */
html[dir="rtl"] .form-actions,
html[dir="rtl"] .mip-form-actions,
html[dir="rtl"] .mip-dialog-footer,
html[dir="rtl"] .mip-crud-dialog__footer,
html[dir="rtl"] .mip-tenant-dialog-footer,
html[dir="rtl"] .mip-tenant-dialog-form-footer,
html[dir="rtl"] .modal-footer,
html[dir="rtl"] .lab-form-actions,
html[dir="rtl"] .cds-form-footer,
html[dir="rtl"] .cds-appt-form-actions,
html[dir="rtl"] .mip-modal-footer,
html[dir="rtl"] .register-form-actions,
html[dir="rtl"] .mip-proc-form-foot {
    flex-direction: row !important;
    justify-content: flex-end !important;
}

/* Îlots LTR : chiffres, téléphone, email, dates ISO, codes-barres */
[dir="rtl"] input[type="tel"],
[dir="rtl"] input[type="email"],
[dir="rtl"] input[type="url"],
[dir="rtl"] input[type="number"],
[dir="rtl"] input[type="date"],
[dir="rtl"] input[type="time"],
[dir="rtl"] input[type="datetime-local"],
[dir="rtl"] input[inputmode="numeric"],
[dir="rtl"] input[inputmode="decimal"],
[dir="rtl"] input[inputmode="tel"],
[dir="rtl"] input[inputmode="email"],
[dir="rtl"] .mip-ltr-island,
[dir="rtl"] [data-mip-ltr],
[dir="rtl"] input[id*="Barcode" i],
[dir="rtl"] input[id*="Phone" i],
[dir="rtl"] input[name*="phone" i],
[dir="rtl"] input[name*="email" i],
[dir="rtl"] input[name*="barcode" i] {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: left;
}

/* Navigation / sidebar : alignement logique, pas de inversion de flex des items */
[dir="rtl"] .sidebar,
[dir="rtl"] .app-sidebar,
[dir="rtl"] .sidebar-nav,
[dir="rtl"] .nav-link,
[dir="rtl"] .sidebar-nav a {
    text-align: start;
}

/* Recherche : padding logique (icône en inline-start) */
[dir="rtl"] .search-bar input,
[dir="rtl"] input[type="search"],
[dir="rtl"] .list-search input {
    text-align: start;
}

/* Chat / notifications : bulles restent en flux RTL du document, pas row-reverse forcé */
[dir="rtl"] .support-bubble,
[dir="rtl"] .mip-tc-msg,
[dir="rtl"] .cs-msg,
[dir="rtl"] .toast,
[dir="rtl"] #toast {
    text-align: start;
}

[dir="rtl"] .toast,
[dir="rtl"] #toast {
    inset-inline-end: 16px;
    inset-inline-start: auto;
}

/* Icon-only : pas d’inversion du glyphe emoji ni de l’ordre des boutons */
[dir="rtl"] .mip-action-icon,
[dir="rtl"] .btn-icon,
[dir="rtl"] .tenant-action-btn {
    flex-direction: row;
}

/* Focus : outline logique */
[dir="rtl"] :focus-visible {
    outline-offset: 2px;
}
