/*================================================================
  TAYSSIR School - RTL Custom Overrides Stylesheet
================================================================*/

/* 1. Global Font and Text Alignment Overrides */
body, p, span, a, h3, h4, h5, h6, select, input, textarea, button, label, li {
    font-family: 'Cairo', 'Manrope', sans-serif !important;
}

/* 2. Arabic Heading Font — El Messiri for H1 & H2 */
h1, h2,
h1.sec-title, h2.sec-title,
.sec-title {
    font-family: 'El Messiri', 'Cairo', sans-serif !important;
    font-weight: 700 !important;
}

/*
 * CRITICAL — Arabic Letter Spacing Fix
 * -----------------------------------------------
 * Any positive letter-spacing in CSS inserts whitespace BETWEEN
 * every glyph, which breaks Arabic ligatures and makes text appear
 * as disconnected individual letters (non-attached / غير متصل).
 * We reset it to 0 for every element globally.
 */
* {
    letter-spacing: 0 !important;
    word-spacing: normal !important;
}

body {
    text-align: right !important;
}

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

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

/* 2. Swapping Margins and Paddings */
.ml-90 {
    margin-right: 90px !important;
    margin-left: 0 !important;
}
.mr-24 {
    margin-left: 24px !important;
    margin-right: 0 !important;
}
.mr-30 {
    margin-left: 30px !important;
    margin-right: 0 !important;
}
.ml-30 {
    margin-right: 30px !important;
    margin-left: 0 !important;
}
.mt-25 {
    margin-top: 25px !important;
}

/* About Section Offsets */
.about-left-bg {
    margin-left: 0 !important;
    margin-right: 90px !important;
}
@media (max-width: 991px) {
    .about-left-bg {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* 3. Header & Dropdown Alignments */
.main-menu ul.sub-menu {
    left: auto !important;
    right: 0 !important;
    text-align: right !important;
}
.main-menu ul.sub-menu li:hover > a {
    padding-left: 0 !important;
    padding-right: 23px !important;
}
.main-menu ul.sub-menu li:hover > a::before {
    left: auto !important;
    right: 0 !important;
    width: 20px !important;
}
.main-menu ul.sub-menu li a::before {
    left: auto !important;
    right: 0 !important;
}
.main-menu > ul > li.menu-item-has-children > a {
    padding-left: 19px !important;
    padding-right: 0 !important;
}
.main-menu > ul > li.menu-item-has-children > a::before {
    left: 0 !important;
    right: auto !important;
}
.header-right-wrapper .sidebar-trigger {
    margin-left: 0 !important;
    margin-right: 30px !important;
}

/* 4. Mirroring Icons and Arrows */
.arrow-all svg, 
.arrow1 i, 
.theme-btn i, 
.theme-btn svg,
.btn-wrapper .arrow-all svg {
    transform: scaleX(-1) !important;
}

/* 5. Admin Badge Offset Swap */
.admin-badge {
    right: auto !important;
    left: -7px !important;
}

/* 6. Form Inputs & Validation RTL Adjustments */
.input-icon-custom {
    left: auto !important;
    right: 12px !important;
}
.form-control-custom {
    padding-left: 15px !important;
    padding-right: 36px !important;
    text-align: right !important;
}
.invalid-feedback-custom {
    padding-left: 0 !important;
    padding-right: 4px !important;
    text-align: right !important;
}

/* Checkbox RTL adjustments */
.checkbox-checkmark-custom {
    margin-right: 0 !important;
    margin-left: 8px !important;
}
.checkbox-container-custom {
    margin-right: 0 !important;
    margin-left: 8px !important;
}

/* Feature Checkmarks list */
.features li .checkmark {
    margin-left: 10px !important;
    margin-right: 0 !important;
}
.features li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* 7. Language Switcher Styling */
.lang-switch-container {
    display: inline-flex;
    align-items: center;
    margin-right: 15px;
    margin-left: 15px;
}
.lang-switch-btn {
    color: #fff;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;
    padding: 5px 12px 5px 10px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.08);
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.lang-switch-btn:hover {
    background: var(--theme-color);
    color: #fff !important;
    border-color: var(--theme-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(16, 83, 243, 0.3);
}
.lang-flag {
    font-size: 18px;
    line-height: 1;
    display: inline-block;
    border-radius: 3px;
    overflow: hidden;
    flex-shrink: 0;
}
.lang-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0 !important;
}

/* 8. Specific Visual Adjustments */
/* Footer list margins */
.footer-widget ul li a {
    padding-right: 0 !important;
}
.contact-list-one li .contact-info-box {
    text-align: right !important;
}
.contact-list-one li .icon {
    margin-right: 0 !important;
    margin-left: 15px !important;
}

/* Swiper slider adjustments for RTL */
.swiper {
    direction: ltr !important; /* Keep slider scroll mechanism flowing, but content RTL */
}
.swiper-slide {
    direction: rtl !important;
}

/* 9. Newsletter RTL Adjustments */
.newsletter-section.style-2 .newsletter .newsletter-form {
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    margin: 0 auto !important;
}

.newsletter-form .form-group button[type=submit],
.sidebar-newsletter .newsletter-form .form-group button[type=submit] {
    right: auto !important;
    left: 10px !important;
}

.newsletter-form .form-group input[type=email] {
    padding-right: 25px !important;
    padding-left: 65px !important;
}
