/**
 * RTL (Right-to-Left) Stylesheet
 * For Arabic and other RTL languages
 * Türkei Mietwagen - 20 Language Support
 */

/* ===================================
   BASE RTL LAYOUT
   =================================== */

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

body[dir="rtl"] * {
    direction: rtl;
}

/* ===================================
   TYPOGRAPHY
   =================================== */

body[dir="rtl"] h1,
body[dir="rtl"] h2,
body[dir="rtl"] h3,
body[dir="rtl"] h4,
body[dir="rtl"] h5,
body[dir="rtl"] h6 {
    text-align: right;
}

body[dir="rtl"] p,
body[dir="rtl"] li {
    text-align: right;
}

/* ===================================
   NAVIGATION
   =================================== */

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

body[dir="rtl"] .navbar-brand {
    margin-right: 0;
    margin-left: 1rem;
}

body[dir="rtl"] .nav-item {
    margin-right: 0;
    margin-left: 1rem;
}

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

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

/* ===================================
   FORMS
   =================================== */

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

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

body[dir="rtl"] .form-check {
    padding-right: 1.5em;
    padding-left: 0;
    text-align: right;
}

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

body[dir="rtl"] .input-group > :not(:first-child) {
    margin-left: 0;
    margin-right: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

body[dir="rtl"] .input-group > :not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

/* ===================================
   BUTTONS
   =================================== */

body[dir="rtl"] .btn {
    text-align: center;
}

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

/* ===================================
   CARDS
   =================================== */

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

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

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

/* ===================================
   LISTS
   =================================== */

body[dir="rtl"] ul,
body[dir="rtl"] ol {
    padding-right: 2rem;
    padding-left: 0;
}

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

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

/* ===================================
   TABLES
   =================================== */

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

body[dir="rtl"] .table th,
body[dir="rtl"] .table td {
    text-align: right;
}

/* ===================================
   MODALS
   =================================== */

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

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

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

body[dir="rtl"] .modal-header .btn-close {
    margin: -0.5rem auto -0.5rem -0.5rem;
}

/* ===================================
   ALERTS
   =================================== */

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

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

/* ===================================
   BREADCRUMBS
   =================================== */

body[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    float: right;
    padding-right: 0;
    padding-left: 0.5rem;
    content: "/";
}

/* ===================================
   PAGINATION
   =================================== */

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

/* ===================================
   BADGES
   =================================== */

body[dir="rtl"] .badge {
    text-align: center;
}

/* ===================================
   TOOLTIPS & POPOVERS
   =================================== */

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

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

/* ===================================
   ICONS - FLIP DIRECTIONAL ICONS
   =================================== */

body[dir="rtl"] .bi-chevron-right::before {
    content: "\f285"; /* chevron-left */
}

body[dir="rtl"] .bi-chevron-left::before {
    content: "\f286"; /* chevron-right */
}

body[dir="rtl"] .bi-arrow-right::before {
    content: "\f12f"; /* arrow-left */
}

body[dir="rtl"] .bi-arrow-left::before {
    content: "\f138"; /* arrow-right */
}

body[dir="rtl"] .bi-caret-right-fill::before {
    content: "\f229"; /* caret-left-fill */
}

body[dir="rtl"] .bi-caret-left-fill::before {
    content: "\f22a"; /* caret-right-fill */
}

/* ===================================
   SPACING UTILITIES - FLIP MARGINS
   =================================== */

/* Margin End (me-*) becomes Margin Start */
body[dir="rtl"] .me-0 { margin-right: 0 !important; margin-left: 0 !important; }
body[dir="rtl"] .me-1 { margin-right: 0 !important; margin-left: 0.25rem !important; }
body[dir="rtl"] .me-2 { margin-right: 0 !important; margin-left: 0.5rem !important; }
body[dir="rtl"] .me-3 { margin-right: 0 !important; margin-left: 1rem !important; }
body[dir="rtl"] .me-4 { margin-right: 0 !important; margin-left: 1.5rem !important; }
body[dir="rtl"] .me-5 { margin-right: 0 !important; margin-left: 3rem !important; }
body[dir="rtl"] .me-auto { margin-right: 0 !important; margin-left: auto !important; }

/* Margin Start (ms-*) becomes Margin End */
body[dir="rtl"] .ms-0 { margin-left: 0 !important; margin-right: 0 !important; }
body[dir="rtl"] .ms-1 { margin-left: 0 !important; margin-right: 0.25rem !important; }
body[dir="rtl"] .ms-2 { margin-left: 0 !important; margin-right: 0.5rem !important; }
body[dir="rtl"] .ms-3 { margin-left: 0 !important; margin-right: 1rem !important; }
body[dir="rtl"] .ms-4 { margin-left: 0 !important; margin-right: 1.5rem !important; }
body[dir="rtl"] .ms-5 { margin-left: 0 !important; margin-right: 3rem !important; }
body[dir="rtl"] .ms-auto { margin-left: 0 !important; margin-right: auto !important; }

/* ===================================
   SPACING UTILITIES - FLIP PADDING
   =================================== */

/* Padding End (pe-*) becomes Padding Start */
body[dir="rtl"] .pe-0 { padding-right: 0 !important; padding-left: 0 !important; }
body[dir="rtl"] .pe-1 { padding-right: 0 !important; padding-left: 0.25rem !important; }
body[dir="rtl"] .pe-2 { padding-right: 0 !important; padding-left: 0.5rem !important; }
body[dir="rtl"] .pe-3 { padding-right: 0 !important; padding-left: 1rem !important; }
body[dir="rtl"] .pe-4 { padding-right: 0 !important; padding-left: 1.5rem !important; }
body[dir="rtl"] .pe-5 { padding-right: 0 !important; padding-left: 3rem !important; }

/* Padding Start (ps-*) becomes Padding End */
body[dir="rtl"] .ps-0 { padding-left: 0 !important; padding-right: 0 !important; }
body[dir="rtl"] .ps-1 { padding-left: 0 !important; padding-right: 0.25rem !important; }
body[dir="rtl"] .ps-2 { padding-left: 0 !important; padding-right: 0.5rem !important; }
body[dir="rtl"] .ps-3 { padding-left: 0 !important; padding-right: 1rem !important; }
body[dir="rtl"] .ps-4 { padding-left: 0 !important; padding-right: 1.5rem !important; }
body[dir="rtl"] .ps-5 { padding-left: 0 !important; padding-right: 3rem !important; }

/* ===================================
   TEXT ALIGNMENT
   =================================== */

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

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

/* ===================================
   FLOAT UTILITIES
   =================================== */

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

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

/* ===================================
   OFFCANVAS
   =================================== */

body[dir="rtl"] .offcanvas-start {
    right: 0;
    left: auto;
    border-right: 0;
    border-left: 1px solid rgba(0, 0, 0, 0.2);
    transform: translateX(100%);
}

body[dir="rtl"] .offcanvas-end {
    left: 0;
    right: auto;
    border-left: 0;
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    transform: translateX(-100%);
}

/* ===================================
   CUSTOM COMPONENTS
   =================================== */

/* Car Cards */
body[dir="rtl"] .car-card {
    text-align: right;
}

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

/* Search Form */
body[dir="rtl"] .search-form {
    text-align: right;
}

/* Footer */
body[dir="rtl"] .footer {
    text-align: right;
}

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

/* Reservation Form */
body[dir="rtl"] .reservation-form {
    text-align: right;
}

/* Language Switcher */
body[dir="rtl"] .language-switcher .dropdown-menu {
    right: auto;
    left: 0;
}

/* ===================================
   RESPONSIVE RTL
   =================================== */

@media (max-width: 767px) {
    body[dir="rtl"] .navbar-collapse {
        text-align: right;
    }
    
    body[dir="rtl"] .offcanvas {
        text-align: right;
    }
}

/* ===================================
   PRINT RTL
   =================================== */

@media print {
    body[dir="rtl"] {
        direction: rtl;
        text-align: right;
    }
}

/* ===================================
   ACCESSIBILITY
   =================================== */

body[dir="rtl"] .visually-hidden {
    direction: rtl;
}

/* ===================================
   CUSTOM SCROLLBAR (RTL)
   =================================== */

body[dir="rtl"] ::-webkit-scrollbar {
    width: 10px;
}

body[dir="rtl"] ::-webkit-scrollbar-track {
    background: #f1f1f1;
}

body[dir="rtl"] ::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
}

body[dir="rtl"] ::-webkit-scrollbar-thumb:hover {
    background: #555;
}
