/* RTL Styles for TEKlaB Website */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;600;700&display=swap');

:root {
    --font-primary: 'Cairo', sans-serif;
    --font-secondary: 'Cairo', sans-serif;
}

body {
    direction: rtl;
    text-align: right;
    font-family: 'Cairo', sans-serif;
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    text-align: right;
    font-family: 'Cairo', sans-serif;
}

/* Bootstrap Utility Overrides */
.text-left {
    text-align: right !important;
}

.text-right {
    text-align: left !important;
}

.mr-auto {
    margin-right: 0 !important;
    margin-left: auto !important;
}

.ml-auto {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.mr-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.ml-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Spacing Utilities - Flipping Margins/Paddings */
/* Using specific overrides for key Bootstrap spacing utilities to avoid unintended side effects */

/* Padding-left to Padding-right flips for common Bootstrap utilities */
.ps-1,
.ps-2,
.ps-3,
.ps-4,
.ps-5 {
    padding-right: inherit;
    padding-left: 0 !important;
}

.pe-1,
.pe-2,
.pe-3,
.pe-4,
.pe-5 {
    padding-left: inherit;
    padding-right: 0 !important;
}

/* Margin-start/end flips */
.ms-1,
.ms-2,
.ms-3,
.ms-4,
.ms-5,
.ms-auto {
    margin-right: inherit;
    margin-left: 0 !important;
}

.me-1,
.me-2,
.me-3,
.me-4,
.me-5,
.me-auto {
    margin-left: inherit;
    margin-right: 0 !important;
}

/* Header & Navigation */
.header-topbar .contact-list li {
    margin-right: 0;
    margin-left: 20px;
}

.header-topbar .contact-list li:last-child {
    margin-left: 0;
}

.header-topbar .contact-list li i {
    margin-right: 0;
    margin-left: 8px;
}

.navbar-brand {
    margin-right: 0;
    margin-left: 1rem;
}

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

.navbar-nav .nav-item {
    margin-left: 0;
    margin-right: 25px;
}

.navbar-nav .nav-item:first-child {
    margin-right: 0;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
}

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

.dropdown-item {
    text-align: right;
}

/* Buttons & Icons */
.btn i {
    margin-left: 0;
    margin-right: 5px;
    /* Assuming icon is usually on the left in LTR, but if it's on right... */
}

/* Specific fix for icons that were on the left of text */
.btn-contact i,
.contact-list i,
.feature-icon,
.service-icon,
.contact-icon {
    /* These usually don't need flipping if they are above or separate, but if inline: */
}

.ml-30 {
    margin-left: 0 !important;
    margin-right: 30px !important;
}

.mr-30 {
    margin-right: 0 !important;
    margin-left: 30px !important;
}

/* Slider */
/* .slick-slider { direction: ltr; } - Removed to allow native RTL handling */

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

/* Features & Services */
.feature-item,
.service-item {
    text-align: right;
}

.feature-icon,
.service-icon {
    margin-right: 0;
    margin-left: 20px;
}

.feature-content,
.service-content {
    overflow: hidden;
    /* Clear floats */
}

/* Footer */
.footer-widget-title:before {
    left: auto;
    right: 0;
}

.footer-widget-content {
    padding-left: 0;
    padding-right: 0;
}

.footer-copyright {
    text-align: center;
    /* Usually center anyway */
}

/* Forms */
.form-control {
    text-align: right;
}

/* Lists */
.list-unstyled {
    padding-right: 0;
}

.list-items-layout1 li:before {
    margin-right: 0;
    margin-left: 10px;
    /* Flip arrow content if it's a pseudo element */
    transform: rotate(180deg);
    display: inline-block;
}

/* Breadcrumbs */
.breadcrumb-item+.breadcrumb-item {
    padding-left: 0;
    padding-right: 0.5rem;
}

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

/* Sidebar */
.sidebar {
    margin-right: 0;
    margin-left: 0;
    /* Adjust based on layout */
}

.widget-title {
    text-align: right;
}

.widget-title:before {
    left: auto;
    right: 0;
}

/* Flip specific icons */
.fa-angle-right:before {
    content: "\f104";
}

.fa-angle-left:before {
    content: "\f105";
}

.fa-arrow-right:before {
    content: "\f060";
}

.fa-arrow-left:before {
    content: "\f061";
}

.fa-long-arrow-alt-right:before {
    content: "\f30a";
}

/* Contact Page */
.contact-panel {
    text-align: right;
}

.contact-icon {
    float: right;
    margin-right: 0;
    margin-left: 15px;
}

/* Language Switcher */
.miniPopup-language-area .miniPopup-language-trigger {
    padding-right: 0;
    padding-left: 20px;
    /* Adjust for arrow */
}

.miniPopup-language {
    right: auto;
    left: 0;
    /* Or align with parent */
}

/* =================================
   RTL Card Spacing & Overlap Fixes
   ================================= */

/* Fix row margins for RTL */
.row {
    margin-right: calc(-0.5 * var(--bs-gutter-x, 1.5rem));
    margin-left: calc(-0.5 * var(--bs-gutter-x, 1.5rem));
}

/* Prep Card RTL Fixes */
.prep-card,
.prep-detail-card {
    margin-bottom: 25px;
}

.prep-card p,
.prep-detail-card p {
    margin-bottom: 15px;
    line-height: 1.7;
}

/* Fix icon margins in RTL for prep lists */
.prep-list li i.fa-check-circle,
.prep-list li .fas,
.prep-list li .far {
    margin-left: 12px !important;
    margin-right: 0 !important;
}

/* Alert icons RTL fix */
.alert i.fas,
.alert i.far,
.alert i.fab {
    margin-left: 10px !important;
    margin-right: 0 !important;
}

/* Card headers RTL fix */
.prep-detail-header h3,
.prep-detail-header h4 {
    display: flex;
    align-items: center;
    gap: 10px;
}

.prep-detail-header h3 i,
.prep-detail-header h4 i {
    order: 1;
}

/* Fix column padding for cards */
[class*="col-"] {
    padding-left: 15px;
    padding-right: 15px;
}

/* Ensure proper spacing between cards */
.mb-30 {
    margin-bottom: 30px !important;
}

.mb-20 {
    margin-bottom: 20px !important;
}

/* Fix h-100 cards to not overflow */
.h-100 {
    height: 100% !important;
    display: flex;
    flex-direction: column;
}

/* Fix padding utilities */
.p-30 {
    padding: 25px !important;
}

.p-20 {
    padding: 20px !important;
}

/* Package/Health Checkup Cards RTL */
.package-card,
.service-item {
    margin-bottom: 25px;
}

.package-list li i {
    margin-left: 12px !important;
    margin-right: 0 !important;
}

/* Fix text wrapping in cards */
.prep-detail-body,
.package-body,
.card-body {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Mobile spacing improvements */
@media (max-width: 767px) {

    .prep-card,
    .prep-detail-card,
    .package-card,
    .service-item {
        margin-bottom: 20px;
    }

    [class*="col-"] {
        padding-left: 12px;
        padding-right: 12px;
    }

    .container,
    .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }
}