/* Advanced RTL Enhancements for Arabic Interface */

/* RTL Base Styles */
[dir="rtl"] {
    direction: rtl;
    text-align: right;
}

/* RTL Typography */
[dir="rtl"] body {
    font-family: 'Tajawal', 'Cairo', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.8;
}

[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4, [dir="rtl"] h5, [dir="rtl"] h6 {
    font-weight: 700;
    line-height: 1.4;
}

/* RTL Layout Adjustments */
[dir="rtl"] .container {
    text-align: right;
}

[dir="rtl"] .row {
    margin-right: -15px;
    margin-left: 0;
}

[dir="rtl"] .col-md-1, [dir="rtl"] .col-md-2, [dir="rtl"] .col-md-3, [dir="rtl"] .col-md-4,
[dir="rtl"] .col-md-5, [dir="rtl"] .col-md-6, [dir="rtl"] .col-md-7, [dir="rtl"] .col-md-8,
[dir="rtl"] .col-md-9, [dir="rtl"] .col-md-10, [dir="rtl"] .col-md-11, [dir="rtl"] .col-md-12 {
    padding-right: 15px;
    padding-left: 0;
}

/* RTL Forms */
[dir="rtl"] .form-control {
    text-align: right;
    font-family: 'Tajawal', sans-serif;
}

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

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

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

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

/* RTL Navigation */
[dir="rtl"] .navbar {
    direction: rtl;
}

[dir="rtl"] .navbar-nav {
    padding-right: 0;
}

[dir="rtl"] .navbar-nav > li {
    float: right;
}

[dir="rtl"] .navbar-brand {
    float: right;
}

/* RTL Breadcrumbs */
[dir="rtl"] .breadcrumbs {
    text-align: right;
}

[dir="rtl"] .breadcrumbs a {
    float: right;
    margin-left: 10px;
    margin-right: 0;
}

[dir="rtl"] .breadcrumbs a:not(:last-child)::after {
    content: '/';
    margin-right: 10px;
    margin-left: 0;
}

/* RTL Cards */
[dir="rtl"] .geodir-category-listing {
    text-align: right;
}

[dir="rtl"] .geodir-category-content {
    text-align: right;
}

[dir="rtl"] .geodir-category-content-title {
    text-align: right;
}

[dir="rtl"] .geodir-category-footer {
    text-align: right;
}

/* RTL Modal */
[dir="rtl"] .modal-dialog {
    text-align: right;
}

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

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

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

/* RTL Tables */
[dir="rtl"] table {
    text-align: right;
}

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

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

/* RTL Lists */
[dir="rtl"] ul, [dir="rtl"] ol {
    text-align: right;
    padding-right: 20px;
    padding-left: 0;
}

[dir="rtl"] .list-unstyled {
    padding-right: 0;
    padding-left: 0;
}

[dir="rtl"] .facilities-list {
    text-align: right;
    padding-right: 0;
}

[dir="rtl"] .facilities-list li {
    float: right;
    margin-left: 10px;
    margin-right: 0;
}

/* RTL Pagination */
[dir="rtl"] .pagination {
    text-align: right;
}

[dir="rtl"] .pagination > li {
    float: right;
    margin-left: 5px;
    margin-right: 0;
}

/* RTL Buttons */
[dir="rtl"] .btn {
    text-align: right;
}

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

[dir="rtl"] .btn-group > .btn {
    float: right;
    margin-left: 5px;
    margin-right: 0;
}

/* RTL Tooltips */
[dir="rtl"] .tooltip {
    text-align: right;
}

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

/* RTL Dropdowns */
[dir="rtl"] .dropdown-menu {
    right: 0;
    left: auto;
    text-align: right;
}

[dir="rtl"] .dropdown-menu-right {
    right: auto;
    left: 0;
}

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

[dir="rtl"] .alert-dismissible {
    padding-left: 0;
    padding-right: 35px;
}

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

/* RTL Media Objects */
[dir="rtl"] .media {
    text-align: right;
}

[dir="rtl"] .media-left {
    padding-right: 10px;
    padding-left: 0;
}

[dir="rtl"] .media-right {
    padding-left: 10px;
    padding-right: 0;
}

/* RTL Progress Bars */
[dir="rtl"] .progress {
    text-align: right;
}

[dir="rtl"] .progress-bar {
    float: right;
}

/* RTL Badges */
[dir="rtl"] .badge {
    text-align: right;
}

/* RTL Labels */
[dir="rtl"] .label {
    text-align: right;
}

/* RTL Panels */
[dir="rtl"] .panel {
    text-align: right;
}

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

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

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

/* RTL Thumbnails */
[dir="rtl"] .thumbnail {
    text-align: right;
}

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

/* RTL Wells */
[dir="rtl"] .well {
    text-align: right;
}

/* RTL Jumbotron */
[dir="rtl"] .jumbotron {
    text-align: right;
}

/* RTL Page Header */
[dir="rtl"] .page-header {
    text-align: right;
}

/* RTL Hero Section */
[dir="rtl"] .section-title {
    text-align: right;
}

[dir="rtl"] .section-title h2 {
    text-align: right;
}

[dir="rtl"] .section-title h4 {
    text-align: right;
}

/* RTL Search Section */
[dir="rtl"] .festivals-search-filter-section {
    text-align: right;
}

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

[dir="rtl"] .festivals-filter-form .row {
    text-align: right;
}

[dir="rtl"] .festivals-filter-form .form-group {
    text-align: right;
}

/* RTL Festival Cards Specific */
[dir="rtl"] .geodir-category-img {
    text-align: right;
}

[dir="rtl"] .listing-avatar {
    right: 20px;
    left: auto;
}

[dir="rtl"] .sale-window {
    left: 20px;
    right: auto;
}

[dir="rtl"] .geodir-category-opt {
    right: 20px;
    left: auto;
}

[dir="rtl"] .count-listing {
    left: 20px;
    right: auto;
}

[dir="rtl"] .geodir-category-location {
    text-align: right;
    justify-content: flex-end;
}

[dir="rtl"] .geodir-category-location i {
    margin-left: 8px;
    margin-right: 0;
}

[dir="rtl"] .listing-item-category-wrap {
    text-align: right;
    justify-content: flex-end;
}

[dir="rtl"] .geodir-opt-list {
    text-align: right;
    justify-content: flex-start;
}

[dir="rtl"] .geodir-opt-list ul {
    text-align: right;
    justify-content: flex-start;
}

[dir="rtl"] .geodir-opt-list li {
    float: right;
    margin-left: 8px;
    margin-right: 0;
}

/* RTL Tooltips */
[dir="rtl"] .geodir-opt-tooltip {
    right: 50%;
    left: auto;
    transform: translateX(50%);
}

[dir="rtl"] .avatar-tooltip {
    right: 50%;
    left: auto;
    transform: translateX(50%);
}

/* RTL Modal Specific */
[dir="rtl"] .festival-details-modal {
    text-align: right;
}

[dir="rtl"] .festival-details-modal .modal-header {
    text-align: right;
}

[dir="rtl"] .festival-details-modal .modal-body {
    text-align: right;
}

[dir="rtl"] .festival-details-modal .festival-detail-header {
    text-align: right;
}

[dir="rtl"] .festival-details-modal .festival-meta {
    text-align: right;
    justify-content: flex-end;
}

[dir="rtl"] .festival-details-modal .festival-facilities ul {
    text-align: right;
}

[dir="rtl"] .festival-details-modal .festival-facilities li {
    text-align: right;
    justify-content: flex-end;
}

/* RTL Floating Elements */
[dir="rtl"] .float-left {
    float: right !important;
}

[dir="rtl"] .float-right {
    float: left !important;
}

/* RTL Text Alignment */
[dir="rtl"] .text-left {
    text-align: right !important;
}

[dir="rtl"] .text-right {
    text-align: left !important;
}

/* RTL Margins and Paddings */
[dir="rtl"] .ml-1 { margin-left: 0; margin-right: 0.25rem; }
[dir="rtl"] .ml-2 { margin-left: 0; margin-right: 0.5rem; }
[dir="rtl"] .ml-3 { margin-left: 0; margin-right: 1rem; }
[dir="rtl"] .ml-4 { margin-left: 0; margin-right: 1.5rem; }
[dir="rtl"] .ml-5 { margin-left: 0; margin-right: 3rem; }

[dir="rtl"] .mr-1 { margin-right: 0; margin-left: 0.25rem; }
[dir="rtl"] .mr-2 { margin-right: 0; margin-left: 0.5rem; }
[dir="rtl"] .mr-3 { margin-right: 0; margin-left: 1rem; }
[dir="rtl"] .mr-4 { margin-right: 0; margin-left: 1.5rem; }
[dir="rtl"] .mr-5 { margin-right: 0; margin-left: 3rem; }

[dir="rtl"] .pl-1 { padding-left: 0; padding-right: 0.25rem; }
[dir="rtl"] .pl-2 { padding-left: 0; padding-right: 0.5rem; }
[dir="rtl"] .pl-3 { padding-left: 0; padding-right: 1rem; }
[dir="rtl"] .pl-4 { padding-left: 0; padding-right: 1.5rem; }
[dir="rtl"] .pl-5 { padding-left: 0; padding-right: 3rem; }

[dir="rtl"] .pr-1 { padding-right: 0; padding-left: 0.25rem; }
[dir="rtl"] .pr-2 { padding-right: 0; padding-left: 0.5rem; }
[dir="rtl"] .pr-3 { padding-right: 0; padding-left: 1rem; }
[dir="rtl"] .pr-4 { padding-right: 0; padding-left: 1.5rem; }
[dir="rtl"] .pr-5 { padding-right: 0; padding-left: 3rem; }

/* RTL Flexbox */
[dir="rtl"] .flex-row {
    flex-direction: row-reverse;
}

[dir="rtl"] .justify-content-start {
    justify-content: flex-end;
}

[dir="rtl"] .justify-content-end {
    justify-content: flex-start;
}

/* RTL Grid System */
[dir="rtl"] .d-flex {
    flex-direction: row-reverse;
}

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

/* RTL Animations */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideInLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* RTL Responsive Adjustments */
@media (max-width: 768px) {
    [dir="rtl"] .row {
        margin-right: -10px;
    }
    
    [dir="rtl"] .col-md-1, [dir="rtl"] .col-md-2, [dir="rtl"] .col-md-3, [dir="rtl"] .col-md-4,
    [dir="rtl"] .col-md-5, [dir="rtl"] .col-md-6, [dir="rtl"] .col-md-7, [dir="rtl"] .col-md-8,
    [dir="rtl"] .col-md-9, [dir="rtl"] .col-md-10, [dir="rtl"] .col-md-11, [dir="rtl"] .col-md-12 {
        padding-right: 10px;
    }
}

@media (max-width: 480px) {
    [dir="rtl"] .row {
        margin-right: -5px;
    }
    
    [dir="rtl"] .col-md-1, [dir="rtl"] .col-md-2, [dir="rtl"] .col-md-3, [dir="rtl"] .col-md-4,
    [dir="rtl"] .col-md-5, [dir="rtl"] .col-md-6, [dir="rtl"] .col-md-7, [dir="rtl"] .col-md-8,
    [dir="rtl"] .col-md-9, [dir="rtl"] .col-md-10, [dir="rtl"] .col-md-11, [dir="rtl"] .col-md-12 {
        padding-right: 5px;
    }
}

/* RTL Print Styles */
@media print {
    [dir="rtl"] {
        direction: rtl;
    }
    
    [dir="rtl"] body {
        text-align: right;
    }
}
