/* ===== RTL Base ===== */
body,
[dir="rtl"] {
    direction: rtl;
    text-align: right;
    font-family: 'Cairo', sans-serif !important;
}

/* ===== Headings & Text ===== */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
p, span, label, a,
.title, .subtitle,
.card-title, .card-subtitle, .card-text,
.page-title,
th, td {
    text-align: right;
    direction: rtl;
    font-family: 'Cairo', sans-serif !important;
}

/* ===== Form elements ===== */
input, textarea, select,
.form-control,
.input-group-text {
    text-align: right;
    direction: rtl;
    font-family: 'Cairo', sans-serif !important;
}

/* ===== Input group — flip icon/text order ===== */
.input-group {
    flex-direction: row-reverse;
}

.input-group > .input-group-prepend {
    margin-right: 0;
    margin-left: -1px;
}

.input-group > .input-group-append {
    margin-left: 0;
    margin-right: -1px;
}

/* ===== Navigation / Navbar ===== */
.navbar,
.navbar-nav,
.nav,
.nav-item,
.nav-link,
.dropdown-menu,
.dropdown-item {
    text-align: right;
    direction: rtl;
    font-family: 'Cairo', sans-serif !important;
}

.navbar-nav {
    padding-right: 0;
}

.dropdown-menu {
    right: 0;
    left: auto;
    text-align: right;
}

/* ===== Sidebar ===== */
.sidenav,
.sidenav .nav-item,
.sidenav .nav-link,
.sidenav-header {
    text-align: right;
    direction: rtl;
    font-family: 'Cairo', sans-serif !important;
}

.sidenav .nav-link .nav-link-text {
    margin-right: 0.5rem;
    margin-left: 0;
}

/* ===== Cards ===== */
.card,
.card-header,
.card-body,
.card-footer,
.card-title,
.card-text {
    text-align: right;
    direction: rtl;
    font-family: 'Cairo', sans-serif !important;
}

/* ===== Tables ===== */
.table th,
.table td {
    text-align: right;
    font-family: 'Cairo', sans-serif !important;
}

/* ===== Alerts & Badges ===== */
.alert,
.badge,
.toast,
.toast-header,
.toast-body {
    text-align: right;
    direction: rtl;
    font-family: 'Cairo', sans-serif !important;
}

/* ===== Lists ===== */
.list-group-item,
ul, ol, li {
    text-align: right;
    direction: rtl;
    font-family: 'Cairo', sans-serif !important;
}

/* ===== Modals ===== */
.modal-header,
.modal-body,
.modal-footer,
.modal-title {
    text-align: right;
    direction: rtl;
    font-family: 'Cairo', sans-serif !important;
}

/* ===== Breadcrumb ===== */
.breadcrumb {
    flex-direction: row-reverse;
    justify-content: flex-start;
}

.breadcrumb-item + .breadcrumb-item::before {
    padding-right: 0;
    padding-left: 0.5rem;
}

/* ===== Bootstrap utility class fixes ===== */
.text-left  { text-align: right !important; }
.text-right { text-align: left  !important; }

.mr-1, .mr-2, .mr-3, .mr-4, .mr-5 { margin-right: 0 !important; }
.ml-1 { margin-left: 0 !important; margin-right: 0.25rem !important; }
.ml-2 { margin-left: 0 !important; margin-right: 0.5rem  !important; }
.ml-3 { margin-left: 0 !important; margin-right: 1rem   !important; }
.ml-4 { margin-left: 0 !important; margin-right: 1.5rem  !important; }
.ml-5 { margin-left: 0 !important; margin-right: 3rem   !important; }

.pl-1 { padding-left: 0 !important; padding-right: 0.25rem !important; }
.pl-2 { padding-left: 0 !important; padding-right: 0.5rem  !important; }
.pl-3 { padding-left: 0 !important; padding-right: 1rem   !important; }
.pl-4 { padding-left: 0 !important; padding-right: 1.5rem  !important; }
.pl-5 { padding-left: 0 !important; padding-right: 3rem   !important; }

/* ===== Positioning fixes ===== */
.right-0 {
    left: 0 !important;
    right: auto !important;
}

.oblique {
    transform: skewX(-10deg) !important;
    overflow: hidden;
    width: 60%;
    left: -10rem !important;
    right: auto !important;
    border-bottom-right-radius: 0.75rem !important;
}

/* ===== Icon & button alignment ===== */
.btn-group {
    direction: ltr;
}

.float-left  { float: right !important; }
.float-right { float: left  !important; }
