/* Custom CSS for RTL and Persian support */

/* RTL Support */
html {
    direction: rtl;
}

/* Import local fonts - Vazirmatn */
@font-face {
    font-family: 'Vazirmatn';
    src: url('../../fonts/webfonts/Vazirmatn-Regular.woff2') format('woff2'),
         url('../../fonts/ttf/Vazirmatn-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('../../fonts/webfonts/Vazirmatn-Bold.woff2') format('woff2'),
         url('../../fonts/ttf/Vazirmatn-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('../../fonts/webfonts/Vazirmatn-Light.woff2') format('woff2'),
         url('../../fonts/ttf/Vazirmatn-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('../../fonts/webfonts/Vazirmatn-Medium.woff2') format('woff2'),
         url('../../fonts/ttf/Vazirmatn-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Fallback to Google Fonts if local fonts fail */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;700;800;900&display=swap');

body {
    direction: rtl;
    text-align: right;
    font-family: 'Vazirmatn', 'Vazir', 'Tahoma', 'Arial', sans-serif !important;
}

* {
    font-family: 'Vazirmatn', 'Vazir', 'Tahoma', 'Arial', sans-serif;
}

/* Fix sidebar for RTL - Jazzmin */
.main-sidebar {
    right: 0 !important;
    left: auto !important;
    direction: rtl;
    transition: width 0.3s ease-in-out;
    width: 250px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: 100vh !important;
    position: fixed !important;
}

/* When sidebar is collapsed */
body.sidebar-collapse .main-sidebar {
    width: 4.6rem !important;
    min-width: 4.6rem !important;
    max-width: 4.6rem !important;
    overflow: visible !important;
}

.content-wrapper {
    margin-right: 250px !important;
    margin-left: 0 !important;
    transition: margin-right 0.3s ease-in-out;
    width: calc(100% - 250px) !important;
}

/* When sidebar is collapsed */
body.sidebar-collapse .content-wrapper {
    margin-right: 4.6rem !important;
    margin-left: 0 !important;
    width: calc(100% - 4.6rem) !important;
}

@media (max-width: 767.98px) {
    .content-wrapper {
        margin-right: 0 !important;
    }
    
    body.sidebar-collapse .content-wrapper {
        margin-right: 0 !important;
    }
}

/* Fix navbar for RTL - Jazzmin */
.main-header {
    margin-right: 250px !important;
    margin-left: 0 !important;
    direction: rtl;
    transition: margin-right 0.3s ease-in-out;
    width: calc(100% - 250px) !important;
}

/* When sidebar is collapsed */
body.sidebar-collapse .main-header {
    margin-right: 4.6rem !important;
    margin-left: 0 !important;
    width: calc(100% - 4.6rem) !important;
}

@media (max-width: 767.98px) {
    .main-header {
        margin-right: 0 !important;
    }
    
    body.sidebar-collapse .main-header {
        margin-right: 0 !important;
    }
}

.navbar-nav {
    direction: rtl;
}

/* Fix brand logo */
.navbar-brand {
    margin-right: 1rem;
    margin-left: 0;
}

/* Fix hamburger menu for RTL */
.navbar-toggler {
    margin-left: 1rem !important;
    margin-right: 0 !important;
    order: -1;
    position: relative;
    border: none;
    padding: 0.5rem;
}

.navbar-toggler:focus {
    box-shadow: none;
    outline: none;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    width: 1.5em;
    height: 1.5em;
}

@media (max-width: 767.98px) {
    .navbar-toggler {
        position: absolute !important;
        right: 1rem !important;
        left: auto !important;
        z-index: 1001;
        top: 50%;
        transform: translateY(-50%);
    }
    
    .main-sidebar {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        height: 100vh !important;
        z-index: 1000 !important;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
    }
    
    .main-sidebar.show {
        transform: translateX(0);
    }
    
    .content-wrapper {
        margin-right: 0 !important;
        width: 100% !important;
    }
    
    .main-header {
        margin-right: 0 !important;
        width: 100% !important;
    }
    
    body.sidebar-open {
        overflow: hidden;
    }
}

/* Fix sidebar overlay for mobile */
.sidebar-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.sidebar-overlay.show {
    display: block;
    opacity: 1;
}

/* Fix sidebar menu */
.sidebar {
    direction: rtl;
    text-align: right;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: 100% !important;
}

.sidebar-menu {
    direction: rtl;
}

.nav-sidebar {
    direction: rtl;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.nav-sidebar ul {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.main-sidebar ul {
    padding: 0 !important;
    margin: 0 !important;
}

.sidebar ul {
    padding: 0 !important;
    margin: 0 !important;
}

.main-sidebar .nav-pills {
    padding: 0 !important;
    margin: 0 !important;
}

.nav-sidebar > li {
    direction: rtl;
    text-align: right;
    margin: 0 !important;
}

.nav-sidebar > li > a {
    direction: rtl;
    text-align: right;
    padding: 0.75rem 1rem !important;
    margin: 0 !important;
}

.nav-sidebar .nav-treeview {
    direction: rtl;
    padding-right: 1rem !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

.nav-sidebar .nav-treeview > li > a {
    padding: 0.5rem 1rem 0.5rem 1.5rem !important;
    margin: 0 !important;
}

/* Fix dashboard */
.content-header {
    direction: rtl;
    text-align: right;
}

.content-header h1 {
    direction: rtl;
    text-align: right;
}

.content-header .breadcrumb {
    direction: rtl;
    float: left;
}

/* Fix dashboard cards */
.info-box {
    direction: rtl;
    text-align: right;
}

.info-box-icon {
    right: 0 !important;
    left: auto !important;
}

.info-box-content {
    margin-right: 90px !important;
    margin-left: 0 !important;
    text-align: right;
}

.info-box-text {
    text-align: right;
    direction: rtl;
}

.info-box-number {
    text-align: right;
    direction: ltr;
    display: inline-block;
}

/* Fix dashboard */
.dashboard {
    direction: rtl;
}

.row {
    direction: rtl;
}

.col {
    direction: rtl;
}

/* Fix small boxes */
.small-box {
    direction: rtl;
    text-align: right;
}

.small-box .icon {
    right: 10px;
    left: auto;
}

.small-box .inner {
    text-align: right;
    direction: rtl;
}

.small-box .small-box-footer {
    text-align: right;
    direction: rtl;
}

/* Fix admin dashboard text */
.content-header h1 {
    direction: rtl;
    text-align: right;
}

.content-header .breadcrumb {
    direction: rtl;
    float: left;
    text-align: right;
}

/* Fix admin actions */
.actions {
    direction: ltr;
    text-align: left;
}

.action-checkbox {
    direction: ltr;
}

/* Fix admin changelist */
.changelist-actions {
    direction: ltr;
    text-align: left;
}

.changelist-actions .actions {
    direction: ltr;
}

/* Fix admin filters */
#changelist-filter {
    right: auto;
    left: 0;
    direction: rtl;
    text-align: right;
}

#changelist-filter h2 {
    text-align: right;
    direction: rtl;
}

#changelist-filter h3 {
    text-align: right;
    direction: rtl;
}

#changelist-filter ul {
    text-align: right;
    direction: rtl;
    padding-right: 0;
    padding-left: 0;
}

#changelist-filter li {
    text-align: right;
    direction: rtl;
}

/* Fix admin search */
#changelist-search {
    direction: rtl;
}

#changelist-search input {
    direction: rtl;
    text-align: right;
}

/* Fix admin object tools */
.object-tools {
    direction: ltr;
    text-align: left;
    float: left;
}

.object-tools li {
    float: right;
    margin-left: 5px;
    margin-right: 0;
}

.object-tools a {
    direction: ltr;
}

/* Fix admin add/change buttons */
.addlink, .changelink, .viewlink {
    direction: ltr;
}

/* Fix admin inline */
.inline-group {
    direction: rtl;
}

.inline-related h3 {
    text-align: right;
    direction: rtl;
}

.inline-related .form-row {
    direction: rtl;
}

/* Fix admin readonly */
.readonly {
    direction: rtl;
    text-align: right;
}

/* Fix admin messages */
.messages {
    direction: rtl;
    text-align: right;
}

.message {
    direction: rtl;
    text-align: right;
}

/* Fix admin help */
.help {
    direction: rtl;
    text-align: right;
}

.help ul {
    direction: rtl;
    text-align: right;
    padding-right: 20px;
    padding-left: 0;
}

/* Fix admin errors */
.errorlist {
    direction: rtl;
    text-align: right;
}

.errors {
    direction: rtl;
    text-align: right;
}

.errors ul {
    direction: rtl;
    text-align: right;
    padding-right: 20px;
    padding-left: 0;
}

/* Fix form fields */
.form-group {
    text-align: right;
    direction: rtl;
}

.form-control, input, textarea, select {
    text-align: right;
    direction: rtl;
}

.form-row {
    direction: rtl;
}

/* Fix help text */
.help-block, .help, .help-text {
    text-align: right;
    direction: rtl;
    display: block;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: #6c757d;
}

.field-box {
    direction: rtl;
    text-align: right;
}

.field-label {
    text-align: right;
}

/* Fix tables */
.table {
    direction: rtl;
    text-align: right;
}

/* Fix buttons */
.btn {
    margin-left: 5px;
    margin-right: 0;
}

.btn-group {
    direction: ltr;
}

.button-group {
    direction: ltr;
    text-align: left;
}

.submit-row {
    direction: ltr;
    text-align: left;
}

.submit-row .btn {
    margin-left: 5px;
    margin-right: 0;
}

/* Fix pagination */
.pagination {
    direction: ltr;
}

/* Fix select2 for RTL */
.select2-container {
    direction: rtl;
    text-align: right;
}

/* Fix date picker */
.datepicker {
    direction: rtl;
}

/* Fix modals */
.modal {
    direction: rtl;
    text-align: right;
}

.modal-header {
    text-align: right;
}

.modal-body {
    text-align: right;
}

.modal-footer {
    text-align: left;
    direction: ltr;
}

/* Fix breadcrumb */
.breadcrumb {
    direction: rtl;
    text-align: right;
}

/* Fix alerts */
.alert {
    text-align: right;
    direction: rtl;
}

/* Fix list groups */
.list-group {
    text-align: right;
    direction: rtl;
}

/* Fix cards */
.card {
    text-align: right;
    direction: rtl;
}

/* Fix dropdowns */
.dropdown-menu {
    right: 0;
    left: auto;
    text-align: right;
}

/* Fix tooltips */
.tooltip {
    direction: rtl;
    text-align: right;
}

/* Fix popovers */
.popover {
    direction: rtl;
    text-align: right;
}

/* Fix input groups */
.input-group {
    direction: rtl;
}

.input-group-prepend {
    order: 2;
}

.input-group-append {
    order: 1;
}

.input-group-text {
    border-left: 0;
    border-right: 1px solid #ced4da;
}

.input-group .form-control:not(:last-child) {
    border-right: 0;
    border-left: 1px solid #ced4da;
}

/* Fix checkboxes and radios */
.form-check {
    padding-right: 1.5rem;
    padding-left: 0;
}

.form-check-input {
    margin-right: -1.5rem;
    margin-left: 0;
}

/* Fix file input */
.custom-file-label {
    text-align: right;
    direction: rtl;
}

.custom-file-label::after {
    right: auto;
    left: 0;
    border-right: 0;
    border-left: 1px solid #ced4da;
}

/* Fix badges */
.badge {
    direction: ltr;
}

/* Fix numbers in RTL */
.number {
    direction: ltr;
    display: inline-block;
}

/* Fix code blocks */
code {
    direction: ltr;
    text-align: left;
}

/* Fix pre blocks */
pre {
    direction: ltr;
    text-align: left;
}

/* Fix Jazzmin specific elements */
.card {
    direction: rtl;
    text-align: right;
}

.card-header {
    text-align: right;
    direction: rtl;
}

.card-body {
    text-align: right;
    direction: rtl;
}

/* Fix inline forms */
.inline-group {
    direction: rtl;
}

.inline-related {
    direction: rtl;
}

/* Fix fieldset */
fieldset {
    direction: rtl;
    text-align: right;
}

fieldset .form-row {
    direction: rtl;
}

/* Fix admin specific */
.form-row > div {
    direction: rtl;
}

.vLargeTextField, .vTextField {
    direction: rtl;
    text-align: right;
}

/* Fix select2 dropdown */
.select2-container--default .select2-selection--single {
    direction: rtl;
    text-align: right;
}

.select2-results {
    direction: rtl;
    text-align: right;
}

/* Fix date/time pickers */
.datetime {
    direction: rtl;
}

.datetimeshortcuts {
    direction: ltr;
    float: left;
}

/* Fix related widget wrapper */
.related-widget-wrapper {
    direction: rtl;
}

.related-widget-wrapper-link {
    margin-right: 5px;
    margin-left: 0;
}

/* Fix add another button */
.add-related {
    direction: ltr;
}

/* Fix delete checkbox */
.delete {
    direction: ltr;
}

/* Fix inline add button */
.add-row {
    direction: ltr;
}

/* Fix object tools */
.object-tools {
    direction: ltr;
    text-align: left;
    float: left;
}

.object-tools li {
    float: right;
}

/* Fix changelist */
.changelist {
    direction: rtl;
}

.changelist-actions {
    direction: ltr;
    text-align: left;
}

/* Fix results table */
.results {
    direction: rtl;
}

.results table {
    direction: rtl;
}

/* Fix filters */
#changelist-filter {
    right: auto;
    left: 0;
    direction: rtl;
    text-align: right;
}

/* Fix search */
#changelist-search {
    direction: rtl;
}

/* Fix paginator */
.paginator {
    direction: ltr;
    text-align: left;
}

/* Fix messages */
.messages {
    direction: rtl;
    text-align: right;
}

.message {
    direction: rtl;
    text-align: right;
}

/* Fix errorlist */
.errorlist {
    direction: rtl;
    text-align: right;
}

/* Fix help ul */
.help ul {
    direction: rtl;
    text-align: right;
    padding-right: 20px;
    padding-left: 0;
}

/* Fix required field indicator */
.required {
    margin-right: 5px;
    margin-left: 0;
}

/* Fix field errors */
.fieldBox {
    direction: rtl;
}

.errors {
    direction: rtl;
    text-align: right;
}

.errors li {
    direction: rtl;
    text-align: right;
}

/* Fix readonly fields */
.readonly {
    direction: rtl;
    text-align: right;
}

/* Fix horizontal tabs */
.horizontal-tabs {
    direction: rtl;
}

.horizontal-tabs ul {
    direction: rtl;
}

.horizontal-tabs .tab {
    direction: rtl;
}

/* Fix collapsible */
.collapse {
    direction: rtl;
}

.collapse-toggle {
    direction: rtl;
}

/* Fix footer and copyright */
.main-footer {
    direction: rtl;
    text-align: right;
    margin-right: 250px !important;
    margin-left: 0 !important;
    padding-right: 1rem;
    padding-left: 1rem;
    transition: margin-right 0.3s ease-in-out;
    width: calc(100% - 250px) !important;
}

/* When sidebar is collapsed */
body.sidebar-collapse .main-footer {
    margin-right: 4.6rem !important;
    margin-left: 0 !important;
    width: calc(100% - 4.6rem) !important;
}

@media (max-width: 767.98px) {
    .main-footer {
        margin-right: 0 !important;
    }
    
    body.sidebar-collapse .main-footer {
        margin-right: 0 !important;
    }
}

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

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

/* Fix sidebar when collapsed - hide text, show only icons */
body.sidebar-collapse .main-sidebar .nav-sidebar > li > a > p {
    display: none !important;
}

body.sidebar-collapse .main-sidebar .nav-sidebar > li > a {
    justify-content: center !important;
    align-items: center !important;
    padding: 0.75rem 0.5rem !important;
    text-align: center !important;
    width: 100% !important;
    overflow: hidden !important;
}

body.sidebar-collapse .main-sidebar .nav-sidebar > li > a > i {
    margin-right: 0 !important;
    margin-left: 0 !important;
    width: auto !important;
    text-align: center !important;
    display: block !important;
    font-size: 1.2rem !important;
}

body.sidebar-collapse .main-sidebar .nav-sidebar > li {
    width: 100% !important;
    overflow: hidden !important;
}

/* Fix brand logo when collapsed */
body.sidebar-collapse .main-sidebar .brand-text {
    display: none !important;
}

body.sidebar-collapse .main-sidebar .brand-link {
    justify-content: center !important;
    padding: 0.5rem !important;
}

body.sidebar-collapse .main-sidebar .brand-link .brand-image {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Fix nav treeview when collapsed */
body.sidebar-collapse .main-sidebar .nav-treeview {
    display: none !important;
}

/* Fix nav header when collapsed */
body.sidebar-collapse .main-sidebar .nav-header {
    display: none !important;
}

/* Fix user panel when collapsed */
body.sidebar-collapse .main-sidebar .user-panel {
    padding: 0.5rem !important;
    justify-content: center !important;
}

body.sidebar-collapse .main-sidebar .user-panel .image {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.sidebar-collapse .main-sidebar .user-panel .info {
    display: none !important;
}

/* Fix nav items alignment when collapsed */
body.sidebar-collapse .main-sidebar .nav-sidebar > li {
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Fix nav header spacing */
.nav-sidebar .nav-header {
    padding: 0.5rem 1rem !important;
    margin: 0 !important;
    font-size: 0.75rem !important;
}

/* Remove extra spacing from nav items */
.nav-sidebar > li.nav-item {
    margin-bottom: 0 !important;
    padding: 0 !important;
}

body.sidebar-collapse .main-sidebar .nav-sidebar > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Fix nav icon position when collapsed */
body.sidebar-collapse .main-sidebar .nav-sidebar > li > a > .nav-icon {
    margin-right: 0 !important;
    margin-left: 0 !important;
    width: 3.5rem !important;
    text-align: center !important;
}

/* Fix sidebar width transition */
.main-sidebar {
    transition: width 0.3s ease-in-out !important;
}

/* Ensure proper RTL when collapsed */
body.sidebar-collapse .main-sidebar {
    direction: rtl !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/* Fix sidebar content when collapsed */
body.sidebar-collapse .main-sidebar .sidebar {
    overflow: hidden !important;
    width: 100% !important;
}

body.sidebar-collapse .main-sidebar .nav-sidebar {
    width: 100% !important;
    overflow: hidden !important;
}

/* Prevent horizontal scroll */
body.sidebar-collapse .main-sidebar * {
    max-width: 100% !important;
    /* overflow-x: hidden !important; */
}

/* Fix tooltip for collapsed menu items */
body.sidebar-collapse .main-sidebar .nav-sidebar > li > a[title] {
    position: relative;
}

/* Fix nav item hover when collapsed */
body.sidebar-collapse .main-sidebar .nav-sidebar > li:hover > a {
    background-color: rgba(255, 255, 255, 0.1) !important;
}
