/* ─── Global RTL (Right-to-Left) ─── */
html[dir="rtl"],
html[dir="rtl"] body {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] *,
html[dir="rtl"] *::before,
html[dir="rtl"] *::after {
    /* Ensure flex/grid children inherit RTL flow unless isolated */
}

html[dir="rtl"] .row,
html[dir="rtl"] .container,
html[dir="rtl"] .container-fluid,
html[dir="rtl"] .container-wide,
html[dir="rtl"] .container-narrow,
html[dir="rtl"] main,
html[dir="rtl"] section,
html[dir="rtl"] nav,
html[dir="rtl"] header,
html[dir="rtl"] footer,
html[dir="rtl"] aside,
html[dir="rtl"] .admin-main,
html[dir="rtl"] .admin-content,
html[dir="rtl"] .admin-card,
html[dir="rtl"] .admin-card-body,
html[dir="rtl"] .admin-card-header {
    direction: rtl;
}

/* Forms */
html[dir="rtl"] input:not([type="checkbox"]):not([type="radio"]),
html[dir="rtl"] textarea,
html[dir="rtl"] select,
html[dir="rtl"] .form-control,
html[dir="rtl"] .form-field,
html[dir="rtl"] .form-select {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] .form-label {
    text-align: right;
    display: block;
    width: 100%;
}

html[dir="rtl"] .form-check {
    padding-right: 1.75em;
    padding-left: 0;
    text-align: right;
    min-height: 1.5rem;
}

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

/* Tables */
html[dir="rtl"] .table,
html[dir="rtl"] .table th,
html[dir="rtl"] .table td,
html[dir="rtl"] .table-admin th,
html[dir="rtl"] .table-admin td {
    direction: rtl;
    text-align: right;
}

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

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

html[dir="rtl"] .alert ul {
    padding-right: 1.25rem;
    padding-left: 0;
}

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

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

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

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

/* Buttons with icons */
html[dir="rtl"] .btn,
html[dir="rtl"] .btn-primary-rp,
html[dir="rtl"] .btn-admin-primary,
html[dir="rtl"] .btn-admin-gold {
    direction: rtl;
}

/* Pagination if used */
html[dir="rtl"] .pagination {
    direction: rtl;
}

/* Section headers: title on the right, number on the left */
html[dir="rtl"] .section-header {
    grid-template-columns: 1fr auto;
}

html[dir="rtl"] .section-header .section-index {
    order: 2;
}

html[dir="rtl"] .section-header > div:not(.section-index) {
    order: 1;
}

/* Emails / URLs stay LTR for readability */
html[dir="rtl"] .ltr-field,
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[type="tel"] {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] .font-en {
    direction: ltr;
    unicode-bidi: isolate;
}
