/* RTL Support for Nibras Website */

/* Arabic Font Family - Force Tajawal on EVERYTHING */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@200;300;400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@200;300;400;500;700;800;900&display=swap');

/* Mobile-only padding for specific element */
@media (max-width: 575.98px) {
  .col-sm-10.col-md-8.col-lg-6.col-xl-4.text-right {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

/* Icon fonts are loaded via CDN in HTML head */

/* Force Tajawal on text elements, but preserve icons */
body, html, p, h1, h2, h3, h4, h5, h6, span, div, a, li, ul, ol, td, th, input, textarea, select, button, label {
    font-family: 'Tajawal', 'Arial', sans-serif !important;
}

/* Preserve icon fonts with correct CDN font families */
.icon, .mdi, [class*="mdi-"] {
    font-family: 'Material Design Icons' !important;
}

/* Force Heebo for Hebrew text - detect Hebrew characters */
*[lang="he"], 
*:lang(he),
*[dir="rtl"] p:contains("ת"), 
*[dir="rtl"] p:contains("ב"), 
*[dir="rtl"] p:contains("ש"), 
*[dir="rtl"] p:contains("א"), 
*[dir="rtl"] p:contains("ל"), 
*[dir="rtl"] p:contains("ה"), 
*[dir="rtl"] p:contains("ו"), 
*[dir="rtl"] p:contains("י"), 
*[dir="rtl"] p:contains("כ"), 
*[dir="rtl"] p:contains("מ"), 
*[dir="rtl"] p:contains("נ"), 
*[dir="rtl"] p:contains("ס"), 
*[dir="rtl"] p:contains("ע"), 
*[dir="rtl"] p:contains("פ"), 
*[dir="rtl"] p:contains("צ"), 
*[dir="rtl"] p:contains("ק"), 
*[dir="rtl"] p:contains("ר"), 
*[dir="rtl"] p:contains("ד"), 
*[dir="rtl"] p:contains("ג"), 
*[dir="rtl"] p:contains("ז"), 
*[dir="rtl"] p:contains("ח"), 
*[dir="rtl"] p:contains("ט"), 
*[dir="rtl"] p:contains("ץ"), 
*[dir="rtl"] p:contains("ף"), 
*[dir="rtl"] p:contains("ן"), 
*[dir="rtl"] p:contains("ם"), 
*[dir="rtl"] p:contains("ך"), 
*[dir="rtl"] p:contains("׳"), 
*[dir="rtl"] p:contains("״") {
    font-family: 'Heebo', Arial, sans-serif !important;
}

[class*="linearicons-"] {
    font-family: 'Linearicons' !important;
}

/* Specific fixes for navbar icons */
.rd-navbar-collapse-element-content-inner-left-item-icon .icon,
.rd-navbar-collapse-element-content-inner-left-item-icon .mdi {
    font-family: 'Material Design Icons' !important;
    font-size: 16px !important;
    display: inline-block !important;
}

/* Fix for slider social media icons */
.jumbotron-1-group-item-toggle .icon,
.jumbotron-1-group-item-toggle .mdi {
    font-family: 'Material Design Icons' !important;
    font-size: 22px !important;
    display: inline-block !important;
}

/* Dropdown arrow styling is now handled in style.css with FontAwesome */

body, html {
    font-family: 'Tajawal', 'Arial', sans-serif !important;
    direction: rtl !important;
}

/* Override any existing font declarations */
h1, h2, h3, h4, h5, h6, p, span, div, a, li, ul, ol, button, input, textarea, label, 
.rd-navbar-nav, .rd-menu, .rd-megamenu, .tour-classic-title, .tour-classic-caption,
.quote-light-text, .quote-light-cite, .post-classic-title, .post-classic-time,
.footer-classic-title, .footer-classic-text, .box-1-title, .box-1-subtitle, .box-1-det,
.counter-classic-title, .counter-classic-main, .lg-2-item-title, .profile-classic-name, 
.profile-classic-position, .form-label, .form-input, .button, .rd-nav-link, .rd-dropdown-link,
.rd-megamenu-list-link, .rd-megamenu-title, .rd-navbar-brand, .brand {
    font-family: 'Tajawal', 'Arial', sans-serif !important;
}

/* Ensure all text elements use Tajawal */
h1, h2, h3, h4, h5, h6,
p, span, div, a, li, ul, ol,
button, input, textarea, label,
.rd-navbar-nav, .rd-menu, .rd-megamenu,
.tour-classic-title, .tour-classic-caption,
.quote-light-text, .quote-light-cite,
.post-classic-title, .post-classic-time,
.footer-classic-title, .footer-classic-text,
.box-1-title, .box-1-subtitle, .box-1-det,
.counter-classic-title, .counter-classic-main,
.lg-2-item-title, .profile-classic-name, .profile-classic-position {
    font-family: 'Tajawal', 'Arial', sans-serif !important;
}

/* Navigation Menu - Slightly bolder for better visibility */
[dir="rtl"] .rd-navbar-nav .rd-nav-link,
[dir="rtl"] .rd-navbar-nav .rd-nav-item a,
[dir="rtl"] .rd-menu a,
[dir="rtl"] .rd-megamenu a,
.rd-navbar-nav .rd-nav-link,
.rd-navbar-nav .rd-nav-item a,
.rd-menu a,
.rd-megamenu a {
    font-family: 'Tajawal', 'Arial', sans-serif !important;
    font-weight: 500 !important;
    font-style: normal !important;
}

/* RTL Layout Adjustments */
[dir="rtl"] .container {
    direction: rtl;
}

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

[dir="rtl"] .col-1, [dir="rtl"] .col-2, [dir="rtl"] .col-3, [dir="rtl"] .col-4, 
[dir="rtl"] .col-5, [dir="rtl"] .col-6, [dir="rtl"] .col-7, [dir="rtl"] .col-8, 
[dir="rtl"] .col-9, [dir="rtl"] .col-10, [dir="rtl"] .col-11, [dir="rtl"] .col-12,
[dir="rtl"] .col-sm-1, [dir="rtl"] .col-sm-2, [dir="rtl"] .col-sm-3, [dir="rtl"] .col-sm-4,
[dir="rtl"] .col-sm-5, [dir="rtl"] .col-sm-6, [dir="rtl"] .col-sm-7, [dir="rtl"] .col-sm-8,
[dir="rtl"] .col-sm-9, [dir="rtl"] .col-sm-10, [dir="rtl"] .col-sm-11, [dir="rtl"] .col-sm-12,
[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,
[dir="rtl"] .col-lg-1, [dir="rtl"] .col-lg-2, [dir="rtl"] .col-lg-3, [dir="rtl"] .col-lg-4,
[dir="rtl"] .col-lg-5, [dir="rtl"] .col-lg-6, [dir="rtl"] .col-lg-7, [dir="rtl"] .col-lg-8,
[dir="rtl"] .col-lg-9, [dir="rtl"] .col-lg-10, [dir="rtl"] .col-lg-11, [dir="rtl"] .col-lg-12,
[dir="rtl"] .col-xl-1, [dir="rtl"] .col-xl-2, [dir="rtl"] .col-xl-3, [dir="rtl"] .col-xl-4,
[dir="rtl"] .col-xl-5, [dir="rtl"] .col-xl-6, [dir="rtl"] .col-xl-7, [dir="rtl"] .col-xl-8,
[dir="rtl"] .col-xl-9, [dir="rtl"] .col-xl-10, [dir="rtl"] .col-xl-11, [dir="rtl"] .col-xl-12 {
    direction: rtl;
}

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

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

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

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

/* Navigation RTL - Minimal adjustments */
[dir="rtl"] .rd-navbar-nav {
    direction: rtl;
}

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

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

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

[dir="rtl"] .rd-navbar-megamenu {
    text-align: right;
    right: 0;
    left: auto;
}

/* Fix megamenu positioning for RTL - hide by default, show on hover with smooth transition */
[dir="rtl"] .rd-navbar-megamenu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    transform: translateX(0) !important;
    z-index: 9999 !important;
    min-width: 400px !important;
    width: auto !important;
    max-width: 600px !important;
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(-10px) !important;
    transition: all 0.3s ease !important;
    pointer-events: none !important;
}

[dir="rtl"] .rd-navbar-nav .rd-nav-item:hover .rd-navbar-megamenu,
[dir="rtl"] .rd-navbar-nav .rd-nav-item.focus .rd-navbar-megamenu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    z-index: 9999 !important;
    min-width: 400px !important;
    width: auto !important;
    max-width: 600px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

/* Ensure menu items have proper positioning context */
[dir="rtl"] .rd-navbar-nav .rd-nav-item {
    position: relative !important;
}

/* Make sure megamenu is visible and properly sized */
[dir="rtl"] .rd-navbar-megamenu .rd-megamenu-item {
    display: block !important;
    width: 100% !important;
}

[dir="rtl"] .rd-navbar-megamenu .rd-megamenu-block {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
}

[dir="rtl"] .rd-navbar-megamenu .rd-megamenu-list {
    flex: 1 !important;
    min-width: 200px !important;
}

/* Ensure megamenu content is right-aligned */
[dir="rtl"] .rd-navbar-megamenu .rd-megamenu-item {
    text-align: right;
}

[dir="rtl"] .rd-navbar-megamenu .rd-megamenu-list {
    text-align: right;
}

[dir="rtl"] .rd-navbar-megamenu .rd-megamenu-list-link {
    text-align: right;
}

/* Form RTL */
[dir="rtl"] .form-input {
    text-align: right;
    direction: rtl;
}

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

[dir="rtl"] .form-icon {
    left: 15px;
    right: auto;
}

/* Button RTL */
[dir="rtl"] .button-icon-left .icon {
    margin-right: 0;
    margin-left: 8px;
}

[dir="rtl"] .button-icon-right .icon {
    margin-left: 0;
    margin-right: 8px;
}

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

/* Margin and Padding RTL */
[dir="rtl"] .ml-auto {
    margin-left: 0 !important;
    margin-right: auto !important;
}

[dir="rtl"] .mr-auto {
    margin-right: 0 !important;
    margin-left: auto !important;
}

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

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

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

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

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

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

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

/* Carousel RTL */
[dir="rtl"] .owl-carousel {
    direction: rtl;
}

[dir="rtl"] .owl-item {
    direction: rtl;
}

/* Social Links RTL */
[dir="rtl"] .group-sm > * + * {
    margin-left: 0;
    margin-right: 8px;
}

/* Ensure consistent spacing for all footer social media icons */
.footer-classic .group-sm a.link-1 {
    margin-left: 15px !important;
    margin-right: 0 !important;
}

.footer-classic .group-sm a.link-1:first-child {
    margin-left: 15px !important;
}

/* Quote RTL */
[dir="rtl"] .quote-light-mark {
    right: 0;
    left: auto;
}

/* Evaluation Section RTL */
[dir="rtl"] .comment-review-meta {
    text-align: right !important;
}

[dir="rtl"] .comment-review-meta li {
    text-align: right !important;
}

[dir="rtl"] .comment-review-meta p {
    text-align: right !important;
    direction: rtl !important;
}

[dir="rtl"] .comment-review-rating {
    justify-content: flex-end !important;
}

[dir="rtl"] .comment-review-rating li {
    margin-left: 4px !important;
    margin-right: 0 !important;
}

[dir="rtl"] .comment-review-rating li:first-child {
    margin-left: 0 !important;
}

[dir="rtl"] .review-meta > li > *:last-child {
    margin-right: 12px !important;
}

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

/* Mobile Only: Remove RTL from navbar to move المزيد button to left */
@media (max-width: 991px) {
    .rd-navbar-main {
        direction: ltr !important;
    }
    
    .rd-navbar-collapse-outer {
        order: -1 !important;
    }
}

/* Modern Panel Styles */
.modern-panel {
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12) !important;
    padding: 24px !important;
    max-width: 400px !important;
    border: 1px solid #e2e8f0 !important;
}

.modern-section {
    margin-bottom: 24px;
}

.modern-section:last-child {
    margin-bottom: 0;
}

.modern-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #2563eb;
}

.modern-title .icon {
    color: #2563eb;
    font-size: 20px;
}

/* Login Form Styles */
.modern-login-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.form-group {
    position: relative;
}

.form-control {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e8ed;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.3s ease;
    background: white;
    direction: rtl;
}

.form-control:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.btn-modern {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    text-decoration: none;
    display: inline-block;
}

.btn-primary {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: white;
    border: 1px solid #1d4ed8;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.4);
    border-color: #1e40af;
}

.forgot-password {
    color: #7f8c8d;
    font-size: 12px;
    text-decoration: none;
    text-align: center;
    transition: color 0.3s ease;
}

.forgot-password:hover {
    color: #2563eb;
}

/* Download Items Styles */
.download-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.download-item {
    display: flex;
    align-items: center;
    padding: 16px;
    background: white;
    border-radius: 8px;
    border: 2px solid #e1e8ed;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    gap: 12px;
}

.download-item:hover {
    border-color: #3498db;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(52, 152, 219, 0.15);
    text-decoration: none;
    color: inherit;
}

.download-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
}

.download-content {
    flex: 1;
}

.download-content h5 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 600;
    color: #2c3e50;
}

.download-content p {
    margin: 0;
    font-size: 12px;
    color: #7f8c8d;
}

.download-arrow {
    color: #3498db;
    font-size: 18px;
}

/* Contact Info Styles */
.contact-info p {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 14px;
    color: #2c3e50;
}

.contact-info .icon {
    color: #3498db;
    font-size: 16px;
    width: 20px;
}

.contact-info a {
    color: #3498db;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-info a:hover {
    color: #2980b9;
}

/* Divider Styles */
.divider-modern {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #bdc3c7 50%, transparent 100%);
    margin: 20px 0;
}



/* Breadcrumbs RTL */
[dir="rtl"] .breadcrumbs-custom-line {
    transform: scaleX(-1);
}

/* What We Offer - Mobile Layout */
@media (max-width: 768px) {
    #what-we-offer .list-group-2 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    #what-we-offer .lg-2-item {
        display: block !important;
        margin: 0 !important;
        margin-bottom: 20px !important;
        min-width: 0 !important;
        float: none !important;
        clear: none !important;
    }
    
    #what-we-offer .lg-2-item:nth-child(odd) {
        margin-right: 10px !important;
    }
    
    #what-we-offer .lg-2-item:nth-child(even) {
        margin-left: 10px !important;
    }
    
    #what-we-offer .lg-2-item-icon {
        font-size: 30px !important;
    }
    
    #what-we-offer .lg-2-item-title {
        font-size: 14px !important;
        margin-top: 10px !important;
    }
    
    #what-we-offer .lg-2-item-text {
        font-size: 12px !important;
        margin-top: 5px !important;
    }
}

/* Footer RTL */
[dir="rtl"] .footer-classic-layout {
    direction: rtl;
}

/* Gallery RTL */
[dir="rtl"] .gallery-thumnail {
    direction: rtl;
}

/* Testimonials RTL */
[dir="rtl"] .quote-classic-profile {
    direction: rtl;
}

[dir="rtl"] .quote-classic-links {
    left: 0;
    right: auto;
}

/* Team RTL */
[dir="rtl"] .profile-classic {
    direction: rtl;
}

/* Blog RTL */
[dir="rtl"] .post-classic {
    direction: rtl;
}

[dir="rtl"] .post-classic-time {
    text-align: right;
}

/* Search RTL */
[dir="rtl"] .rd-search {
    direction: rtl;
}

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

/* Tabs RTL */
[dir="rtl"] .nav-tabs {
    direction: rtl;
}

[dir="rtl"] .nav-tabs .nav-item {
    float: right;
}

/* Accordion RTL */
[dir="rtl"] .card-title a {
    text-align: right;
}

[dir="rtl"] .card-arrow {
    left: 0;
    right: auto;
    transform: rotate(180deg);
}

/* Progress RTL */
[dir="rtl"] .progress-bar-linear {
    direction: rtl;
}

/* Rating RTL */
[dir="rtl"] .comment-review-rating {
    direction: rtl;
}

/* Pagination RTL */
[dir="rtl"] .pagination {
    direction: rtl;
}

[dir="rtl"] .pagination .page-item {
    float: right;
}

/* Utility Classes RTL */
[dir="rtl"] .text-start {
    text-align: right !important;
}

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

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

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

/* Custom RTL Adjustments for Nibras */
[dir="rtl"] .brand-logo-dark,
[dir="rtl"] .brand-logo-light {
    direction: rtl;
}

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

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

[dir="rtl"] .lg-2-item {
    direction: rtl;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

[dir="rtl"] .lg-2-item > * + * {
    margin-left: 0 !important;
    margin-right: 30px !important;
}

@media (min-width: 768px) {
    [dir="rtl"] .lg-2-item > * + * {
        margin-left: 0 !important;
        margin-right: 45px !important;
    }
}

[dir="rtl"] .lg-2-item-main {
    text-align: right;
    margin-top: 0 !important;
}

[dir="rtl"] .lg-2-item-aside {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

[dir="rtl"] .box-1 {
    text-align: right;
}

[dir="rtl"] .box-1-det {
    text-align: right;
}

/* Animation RTL */
[dir="rtl"] .wow {
    direction: rtl;
}

/* Preloader RTL */
[dir="rtl"] .preloader {
    direction: rtl;
}

/* IE Panel RTL */
[dir="rtl"] .ie-panel {
    direction: rtl;
    text-align: right;
}
/* Improve spacing between menu items - much more space */
[dir="rtl"] .rd-navbar-nav .rd-nav-item {
    margin-left: 25px;
    margin-right: 25px;
}

[dir="rtl"] .rd-navbar-nav .rd-nav-item:first-child {
    margin-right: 0;
}

[dir="rtl"] .rd-navbar-nav .rd-nav-item:last-child {
    margin-left: 0;
}

/* Additional spacing for better visual separation */
[dir="rtl"] .rd-navbar-nav .rd-nav-item + .rd-nav-item {
    margin-left: 25px;
}

/* Ensure proper spacing in mobile menu */
@media (max-width: 991px) {
    [dir="rtl"] .rd-navbar-nav .rd-nav-item {
        margin: 5px 0;
    }
}

/* Fix menu spacing for both static and classic navbar types */
/* The base CSS uses adjacent sibling selector which skips the first item, so we need to compensate */
.rd-navbar-static .rd-nav-item:first-child {
    margin-left: 40px !important;
}

.rd-navbar-classic .rd-nav-item:first-child {
    margin-left: 40px !important;
}

@media (min-width: 1200px) {
    .rd-navbar-static .rd-nav-item:first-child {
        margin-left: 80px !important;
    }
    
    .rd-navbar-classic .rd-nav-item:first-child {
        margin-left: 80px !important;
    }
}

/* Force RTL and Tajawal on everything */
html {
    direction: rtl !important;
}

body {
    direction: rtl !important;
    text-align: right !important;
}

/* Override all possible font weights to normal */
* {
    font-weight: 400 !important;
}

/* Specific overrides for headings to maintain hierarchy */
h1 { font-weight: 600 !important; }
h2 { font-weight: 500 !important; }
h3 { font-weight: 500 !important; }
h4 { font-weight: 400 !important; }
h5 { font-weight: 400 !important; }
h6 { font-weight: 400 !important; }

/* Ensure all website content uses Tajawal and RTL */
[dir="rtl"] .tour-1-title,
[dir="rtl"] .tour-subtitle,
[dir="rtl"] .tour-classic-title,
[dir="rtl"] .tour-classic-caption,
[dir="rtl"] .quote-light-text,
[dir="rtl"] .quote-light-cite,
[dir="rtl"] .post-classic-title,
[dir="rtl"] .post-classic-time,
[dir="rtl"] .footer-classic-title,
[dir="rtl"] .footer-classic-text,
[dir="rtl"] .box-1-title,
[dir="rtl"] .box-1-subtitle,
[dir="rtl"] .box-1-det,
[dir="rtl"] .counter-classic-title,
[dir="rtl"] .counter-classic-main,
[dir="rtl"] .lg-2-item-title,
[dir="rtl"] .profile-classic-name,
[dir="rtl"] .profile-classic-position,
[dir="rtl"] .form-label,
[dir="rtl"] .form-input,
[dir="rtl"] .button,
.tour-1-title,
.tour-subtitle,
.tour-classic-title,
.tour-classic-caption,
.quote-light-text,
.quote-light-cite,
.post-classic-title,
.post-classic-time,
.footer-classic-title,
.footer-classic-text,
.box-1-title,
.box-1-subtitle,
.box-1-det,
.counter-classic-title,
.counter-classic-main,
.lg-2-item-title,
.profile-classic-name,
.profile-classic-position,
.form-label,
.form-input,
.button {
    font-family: 'Tajawal', 'Arial', sans-serif !important;
    direction: rtl !important;
    text-align: right !important;
}

/* Exclude slider section from RTL - keep original positioning */
.section-main,
.jumbotron-1-aside,
.jumbotron-1-group,
.jumbotron-1-group-item,
.jumbotron-1-group-item-content,
.swiper-container,
.swiper-slider {
    direction: ltr !important;
    text-align: left !important;
}

/* Counter Alignment Fix - Even Spacing */
[dir="rtl"] .counter-classic,
[dir="rtl"] .counter-classic-2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Override the adjacent sibling selector from style.css - target article elements */
[dir="rtl"] article.counter-classic-2 + article.counter-classic-2,
[dir="rtl"] .counter-classic-2.counter-classic-2 + .counter-classic-2.counter-classic-2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Override media query spacing for all screen sizes */
@media (min-width: 576px) {
    [dir="rtl"] .counter-classic-2.counter-classic-2 + .counter-classic-2.counter-classic-2 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (min-width: 1200px) {
    [dir="rtl"] .counter-classic-2.counter-classic-2 + .counter-classic-2.counter-classic-2 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Counter spacing from working template */
[dir="rtl"] .col-12.wow.fadeIn.d-flex.justify-content-start {
    gap: 80px !important;
    justify-content: flex-start !important;
    align-items: center !important;
}
[dir="rtl"] .wow {
    direction: rtl;
}
[dir="rtl"] .justify-content-start {
    justify-content: flex-end !important;
}
[dir="rtl"] .d-flex {
    direction: rtl;
}

[dir="rtl"] .col-12.wow.fadeIn.d-flex.justify-content-start > * {
    flex-shrink: 0 !important;
}

/* Center the counter text under numbers */
[dir="rtl"] .counter-classic,
[dir="rtl"] .counter-classic-2 {
    text-align: center !important;
}

/* Ensure counter numbers are centered */
[dir="rtl"] .counter-classic .counter,
[dir="rtl"] .counter-classic-2 .counter {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

/* Center the counter text/labels */
[dir="rtl"] .counter-classic .counter-text,
[dir="rtl"] .counter-classic-2 .counter-text {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* Modern Program Cards Styling */
.tour-classic {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08) !important;
    background: #fff !important;
    position: relative !important;
    height: 100% !important;
}

.tour-classic:hover {
    transform: translateY(-12px) scale(1.02) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
}

.tour-classic-media {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 20px 20px 0 0 !important;
}

.tour-classic-image {
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
}

.tour-classic:hover .tour-classic-image {
    transform: scale(1.1) !important;
}

.tour-classic-pricing {
    display: none !important;
}

.tour-classic-price {
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    margin: 0 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.tour-classic-body {
    padding: 25px 20px !important;
    background: #fff !important;
    border-radius: 0 0 20px 20px !important;
    position: relative !important;
}

.tour-classic-title a {
    color: #2c3e50 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    line-height: 1.3 !important;
}

.tour-classic-title a:hover {
    color: #667eea !important;
}

.tour-classic-caption {
    color: #7f8c8d !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin: 10px 0 15px 0 !important;
}

.tour-classic-footer {
    border-top: 1px solid #ecf0f1 !important;
    padding-top: 15px !important;
    margin-top: 15px !important;
}

.tour-classic-footer span {
    font-size: 12px !important;
    color: #95a5a6 !important;
}

/* Remove the gradient overlay - keep photos clean */

/* Responsive adjustments for 6 cards per row */
@media (min-width: 992px) {
    .col-lg-2 {
        flex: 0 0 16.666667% !important;
        max-width: 16.666667% !important;
    }
}

@media (max-width: 991px) {
    .col-lg-2 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

@media (max-width: 575px) {
    .col-lg-2 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Radial Program Layout inspired by the infographic */
.nibras-radial-layout {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 0;
    min-height: 800px;
    background: #fafafa;
    border-radius: 20px;
    border: 2px dashed #e0e0e0;
    overflow: hidden;
    z-index: 1;
}

/* Central Sun/Clock Element - Moved to Top */
.central-sun {
    position: absolute;
    top: 5%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 15;
    text-align: center;
    pointer-events: none;
}

/* Nibras Logo Container */
.logo-container {
    width: 120px;
    height: 120px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.nibras-logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
    /* Removed transition for performance */
}

/* Removed hover effects for performance */

/* Old sun styles removed - now using logo */

.central-title {
    font-size: 24px;
    font-weight: 800;
    color: #213d6d;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Sun rays removed - now using logo */

/* Left-Right-Bottom Program Layout with Scroll Animations */
.program-cluster {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 5;
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.program-cluster.animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* Left side - 4 programs */
.cluster-left {
    top: 15%;
    left: 5%;
    max-width: 200px;
}

.cluster-left .program-cell {
    min-width: 180px;
}

/* Right side - 4 programs */
.cluster-right {
    top: 15%;
    right: 5%;
    max-width: 200px;
}

.cluster-right .program-cell {
    min-width: 180px;
}

/* Bottom center - 4 programs forming a cube */
.cluster-bottom {
    bottom: 15%;
    left: 50% !important;
    transform: translateX(-50%) !important;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center !important;
    align-items: center !important;
    gap: 15px;
    max-width: 400px;
    width: 100%;
    text-align: center !important;
}

.cluster-bottom .program-cell {
    flex: 0 0 calc(50% - 8px);
    min-width: 140px;
}

/* Program Cells */
.program-cell {
    position: relative;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* Removed transition for performance */
    z-index: 6;
    background: linear-gradient(135deg, #ffffff 0%, #f1f3f4 100%);
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08), 0 4px 10px rgba(0, 0, 0, 0.05);
    min-width: 160px;
    min-height: 140px;
    margin-bottom: 8px;
    opacity: 0;
    transform: translateY(30px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 2px solid transparent;
    overflow: hidden;
}

.program-cell::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #56B19F, #4a9b8a, #56B19F);
    background-size: 200% 100%;
    animation: shimmer 3s ease-in-out infinite;
}

/* Removed hover effects for performance */

/* Removed active state for performance */

/* Removed cellPulse animation for performance */

/* Removed shimmer animation for performance */

.program-cell.animate-in {
    opacity: 1;
    transform: translateY(0);
    animation: cellBounce 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Removed cellBounce animation for performance */


/* Removed design leftovers - lines and circles */

.cell-icon {
    font-size: 20px;
    text-align: center;
    margin-bottom: 8px;
    opacity: 0.7;
}

.cell-content h4 {
    font-size: 18px;
    font-weight: 800;
    color: #1a252f;
    margin: 0 0 12px 0;
    line-height: 1.3;
    text-align: center;
    flex: 1;
    position: relative;
    transition: color 0.3s ease;
}

.cell-content h4::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 2px;
    background: linear-gradient(90deg, #56B19F, #4a9b8a);
    border-radius: 1px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Removed hover effects for performance */

.cell-content p {
    display: none;
}

/* Cell Color Variants - Nibras Green */
.cell-yellow,
.cell-blue,
.cell-gray,
.cell-red {
    background: linear-gradient(135deg, #56B19F, #4a9b8a);
    color: white;
    border: 2px solid #56B19F;
    position: relative;
    overflow: hidden;
}

.cell-yellow::before,
.cell-blue::before,
.cell-gray::before,
.cell-red::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

/* Removed hover effects for performance */

/* Background illustrations removed */

/* Responsive Design */
@media (max-width: 1200px) {
    .nibras-radial-layout {
        padding: 80px 0;
        min-height: 600px;
        max-width: 1000px;
    }
    
    .sun-icon {
        width: 100px;
        height: 100px;
    }
    
    .central-title {
        font-size: 20px;
    }
    
    .program-cell {
        min-width: 140px;
        padding: 10px;
    }
    
    .cell-content h4 {
        font-size: 13px;
    }
    
    .cell-content p {
        font-size: 10px;
    }
    
    .cluster-left, .cluster-right {
        max-width: 180px;
    }
    
    .cluster-bottom {
        max-width: 250px;
    }
}

/* Professional Academic Programs Section */
.programs-section {
    width: 100%;
    padding: 120px 0;
    background: 
        linear-gradient(135deg, #0f172a 0%, #1e293b 25%, #334155 50%, #475569 75%, #64748b 100%),
        radial-gradient(circle at 20% 20%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(16, 185, 129, 0.08) 0%, transparent 50%);
    position: relative;
    overflow: hidden;
}

/* Removed heavy background animations for better performance */

.programs-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #f59e0b 15%, 
        #3b82f6 30%, 
        #10b981 45%, 
        #8b5cf6 60%, 
        #ef4444 75%, 
        #06b6d4 90%, 
        transparent 100%);
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.3);
}

/* Subtle Background Elements for Depth */
.programs-section::after {
    content: '';
    position: absolute;
    top: 10%;
    left: -10%;
    width: 30%;
    height: 30%;
    background: radial-gradient(circle, rgba(79, 70, 229, 0.02) 0%, transparent 70%);
    border-radius: 50%;
}

.programs-section::before {
    content: '';
    position: absolute;
    bottom: 15%;
    right: -15%;
    width: 25%;
    height: 25%;
    background: radial-gradient(circle, rgba(5, 150, 105, 0.03) 0%, transparent 60%);
    border-radius: 50%;
}

/* Removed heavy keyframe animations for better performance */

/* Removed shimmer animation for performance */

/* Removed float animation for performance */

/* Ultra-Modern Programs Header */
.programs-header {
    text-align: center;
    margin-bottom: 100px;
    position: relative;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 40px;
}

.programs-main-title {
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 900;
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 50%, #e2e8f0 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0 0 24px 0;
    letter-spacing: -0.02em;
    line-height: 1.1;
    position: relative;
    text-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}

.programs-main-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #56B19F, #2E63E3);
    border-radius: 2px;
    animation: underlineGlow 2s ease-in-out infinite;
}

.programs-subtitle {
    font-size: clamp(18px, 3vw, 28px);
    font-weight: 600;
    color: #e2e8f0;
    margin: 0;
    font-family: 'Heebo', Arial, sans-serif;
    letter-spacing: 0.01em;
    opacity: 0.9;
    position: relative;
    display: inline-block;
    padding: 16px 32px;
    background: 
        linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(16, 185, 129, 0.15) 50%, rgba(139, 92, 246, 0.15) 100%);
    border-radius: 50px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    /* Removed backdrop-filter for performance */
    /* Removed backdrop-filter for performance */
    box-shadow: 
        0 8px 24px rgba(59, 130, 246, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    /* Removed transition for performance */
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.programs-subtitle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.03) 0%, rgba(16, 185, 129, 0.03) 100%);
    border-radius: 50px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Removed hover effects for performance */

/* Removed titleGlow animation for performance */

/* Removed underlineGlow animation for performance */

/* Removed fadeInUp animation for performance */

/* Professional Academic Programs Grid */
.programs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    max-width: 1800px;
    margin: 0 auto;
    padding: 60px 40px;
    perspective: 2000px;
    perspective-origin: center top;
    transform-style: preserve-3d;
    background: 
        radial-gradient(ellipse at center, rgba(255, 255, 255, 0.05) 0%, transparent 70%),
        linear-gradient(135deg, rgba(30, 41, 59, 0.8) 0%, rgba(51, 65, 85, 0.6) 100%);
    border-radius: 32px;
    /* Removed backdrop-filter for performance */
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 
        inset 0 2px 0 rgba(255, 255, 255, 0.1),
        0 20px 60px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Professional Academic Program Cards */
.program-card {
    background: 
        linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.9) 100%);
    /* Removed backdrop-filter for performance */
    -webkit-backdrop-filter: blur(15px);
    border-radius: 18px;
    padding: 20px 18px;
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(0, 0, 0, 0.06),
        inset 0 2px 0 rgba(255, 255, 255, 0.8),
        inset 0 -2px 0 rgba(0, 0, 0, 0.03);
    border: 2px solid rgba(255, 255, 255, 0.4);
    /* Removed transition for performance */
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: relative;
    overflow: visible;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transform: translateY(0) scale(1);
    z-index: 1;
}

/* Removed cardFloat animation for performance */

/* Individual Card Colors */
.program-card:nth-child(1) { 
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-color: #f59e0b;
}
.program-card:nth-child(2) { 
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    border-color: #3b82f6;
}
.program-card:nth-child(3) { 
    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
    border-color: #10b981;
}
.program-card:nth-child(4) { 
    background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
    border-color: #8b5cf6;
}
.program-card:nth-child(5) { 
    background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
    border-color: #ec4899;
}
.program-card:nth-child(6) { 
    background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);
    border-color: #ef4444;
}
.program-card:nth-child(7) { 
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border-color: #059669;
}
.program-card:nth-child(8) { 
    background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
    border-color: #06b6d4;
}
.program-card:nth-child(9) { 
    background: linear-gradient(135deg, #fdf4ff 0%, #f3e8ff 100%);
    border-color: #a855f7;
}
.program-card:nth-child(10) { 
    background: linear-gradient(135deg, #fff7ed 0%, #fed7aa 100%);
    border-color: #ea580c;
}
.program-card:nth-child(11) { 
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: #16a34a;
}
.program-card:nth-child(12) { 
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border-color: #d97706;
}

/* Removed staggered animations for better performance */

/* Removed gradient line for cleaner appearance */

.program-card::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(86, 177, 159, 0.1) 0%, transparent 70%);
    opacity: 0;
    /* Removed transition for performance */
    pointer-events: none;
}

/* Removed hover effects */

/* Removed hover effects */

/* Removed cardFloat animation for performance */

/* Removed gradient line for cleaner appearance */

/* Removed hover effects for performance */

/* Professional Academic Program Icon */
.program-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    /* Removed transition for performance */
    box-shadow: 
        0 10px 30px rgba(0, 0, 0, 0.3),
        0 4px 12px rgba(0, 0, 0, 0.2),
        inset 0 2px 0 rgba(255, 255, 255, 0.2),
        inset 0 -2px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
    margin-bottom: 24px;
    border: 3px solid rgba(255, 255, 255, 0.3);
}

/* Removed icon shine animation for better performance */

.program-icon i {
    font-size: 36px;
    color: #ffffff;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Removed hover effects */

/* Removed icon hover animation */

/* Professional Academic Program Content */
.program-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
    gap: 12px;
    padding-top: 8px;
}

.program-title {
    font-size: clamp(22px, 2.8vw, 32px);
    font-weight: 900;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0 0 8px 0;
    line-height: 1.1;
    letter-spacing: -0.02em;
    position: relative;
    /* Removed transition for performance */
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Removed hover effects */

.program-description {
    font-size: clamp(15px, 2vw, 18px);
    color: #1e293b;
    margin: 0;
    line-height: 1.4;
    font-weight: 600;
    font-family: 'Heebo', Arial, sans-serif !important;
    opacity: 0.8;
    /* Removed transition for performance */
    position: relative;
    display: inline-block;
    padding: 12px 20px;
    background: 
        linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(16, 185, 129, 0.15) 50%, rgba(139, 92, 246, 0.15) 100%);
    border-radius: 25px;
    border: 2px solid rgba(59, 130, 246, 0.3);
    /* Removed backdrop-filter for performance */
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 
        0 4px 12px rgba(59, 130, 246, 0.15),
        inset 0 2px 0 rgba(255, 255, 255, 0.4),
        inset 0 -2px 0 rgba(0, 0, 0, 0.05);
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

.program-description::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(79, 70, 229, 0.04) 0%, rgba(5, 150, 105, 0.04) 100%);
    border-radius: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Removed hover effects for performance */

/* Removed hover effects for performance */

.hebrew-text {
    font-family: 'Heebo', Arial, sans-serif !important;
}

/* Fixed visibility - removed scroll animations */
.program-card {
    opacity: 1;
    transform: none;
}

/* Removed animation delays - no longer needed */

/* Removed cardReveal animation for performance */

/* Glassmorphism Effects */
.program-card {
    background: rgba(255, 255, 255, 0.1);
    /* Removed backdrop-filter for performance */
    /* Removed backdrop-filter for performance */
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Removed hover effects for performance */

/* Parallax Background Elements */
.programs-section::before {
    animation: shimmer 4s ease-in-out infinite;
}

/* Removed active state for performance */

/* Focus States for Accessibility */
.program-card:focus {
    outline: 2px solid #56B19F;
    outline-offset: 4px;
}

/* Removed spinning border animation for better performance */

/* Advanced CSS Filters and Effects */
.program-card {
    filter: 
        drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1))
        contrast(1.05)
        brightness(1.02);
    transition: filter 0.4s ease;
}

/* Removed hover effects for performance */

/* Revolutionary Icon Effects */
.program-icon {
    position: relative;
    overflow: hidden;
}

/* Removed icon shine animation for performance */

/* Advanced Text Effects */
.program-title {
    position: relative;
    background: 
        linear-gradient(135deg, #1a202c 0%, #2d3748 50%, #4a5568 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% 200%;
    animation: textShimmer 6s ease-in-out infinite;
}

/* Removed textShimmer animation for performance */

/* Revolutionary Hover States */
.program-card:hover .program-title {
    background: 
        linear-gradient(135deg, #6366f1 0%, #10b981 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Fixed visibility - removed scroll animations */
.program-card {
    opacity: 1;
    transform: none;
}

/* Removed cardReveal animation for performance */

/* Revolutionary Background Particles */
.programs-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 20%, rgba(86, 177, 159, 0.1) 1px, transparent 1px),
        radial-gradient(circle at 80% 80%, rgba(46, 99, 227, 0.1) 1px, transparent 1px),
        radial-gradient(circle at 40% 60%, rgba(229, 94, 99, 0.1) 1px, transparent 1px);
    background-size: 100px 100px, 150px 150px, 200px 200px;
    animation: particleFloat 20s linear infinite;
    pointer-events: none;
}

/* Removed particleFloat animation for performance */

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .program-card,
    .programs-main-title,
    .programs-subtitle,
    .program-icon,
    .programs-section::before,
    .programs-section::after {
        animation: none;
    }
    
    .program-card {
        opacity: 1;
        transform: none;
    }
    
    .program-card::before,
    .program-card::after {
        animation: none;
    }
}

/* Modern Responsive Design */
@media (max-width: 1400px) {
    .programs-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
    }
}

@media (max-width: 1200px) {
    .programs-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

@media (max-width: 992px) {
    .programs-section {
        padding: 60px 0;
    }
    
    .programs-header {
        margin-bottom: 60px;
        padding: 0 16px;
    }
    
    .programs-main-title {
        font-size: 40px;
    }
    
    .programs-subtitle {
        font-size: 18px;
    }
    
    .programs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        padding: 20px;
        border-radius: 16px;
    }
    
    .program-card {
        padding: 16px 14px;
        min-height: 140px;
        flex-direction: row;
        gap: 10px;
    }
    
    .program-icon {
        width: 48px;
        height: 48px;
    }
    
    .program-icon i {
        font-size: 20px;
    }
    
    .program-title {
        font-size: 18px;
    }
    
    .program-description {
        font-size: 13px;
        padding: 4px 10px;
    }
}

@media (max-width: 768px) {
    .programs-section {
        padding: 40px 0;
    }
    
    .programs-header {
        margin-bottom: 40px;
    }
    
    .programs-main-title {
        font-size: 32px;
    }
    
    .programs-subtitle {
        font-size: 16px;
    }
    
    .programs-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 16px;
        border-radius: 12px;
    }
    
    .program-card {
        padding: 14px 12px;
        min-height: 120px;
        flex-direction: row;
        gap: 8px;
    }
    
    .program-icon {
        width: 40px;
        height: 40px;
    }
    
    .program-icon i {
        font-size: 18px;
    }
    
    .program-title {
        font-size: 16px;
    }
    
    .program-description {
        font-size: 12px;
        padding: 4px 8px;
    }
}

/* LightGallery Fixes */
.lg-outer {
    direction: ltr !important;
}

.lg-outer .lg-inner {
    height: 100% !important;
    width: 100% !important;
    position: relative !important;
}

.lg-outer .lg-img-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    width: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

.lg-outer .lg-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    width: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

.lg-outer .lg-img-wrap .lg-object,
.lg-outer .lg-img-wrap img {
    max-width: 90% !important;
    max-height: 90% !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
}

/* Ensure main image container has proper z-index */
.lg-outer .lg-inner {
    z-index: 1060 !important;
}

/* Fix for RTL direction conflicts */
.lg-outer * {
    box-sizing: border-box !important;
}

/* Owl Carousel RTL Fix */
.owl-carousel {
    direction: ltr !important;
}

.owl-carousel .owl-item {
    float: left !important;
}

/* Ensure testimonials section works properly */
.section .owl-carousel {
    direction: ltr !important;
    width: 102% !important;
    margin-left: -1% !important;
}

.quote-light {
    text-align: right !important;
    direction: rtl !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Fix only the text truncation without breaking layout */
.quote-light-text q {
    text-align: right !important;
    direction: rtl !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    margin-left: 45px !important;
    margin-right: 15px !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.quote-light-text {
    text-align: right !important;
    direction: rtl !important;
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.quote-light-main {
    text-align: right !important;
    direction: rtl !important;
}

.quote-light-cite {
    text-align: right !important;
    direction: rtl !important;
}

/* Override the original margin-left that pushes content in RTL */
.quote-light > * + * {
    margin-left: 0 !important;
    margin-right: 20px !important;
}

@media (min-width: 768px) {
    .quote-light > * + * {
        margin-left: 0 !important;
        margin-right: 30px !important;
    }
    
    .section-lg {
        padding: 0 !important;
    }
}

/* Hide any broken counters in testimonials */
.owl-group-3::before,
.owl-group-3::after,
.quote-light::before,
.quote-light::after {
    display: none !important;
}

/* Hide any counter elements that might be showing */
.owl-carousel .owl-counter,
.owl-carousel .owl-nav,
.testimonials-counter {
    display: none !important;
}

/* Hide the yellow quote mark that might be showing as "6" */
.quote-light-mark,
.linearicons-quote-open {
    display: none !important;
}

/* Slightly expand testimonials section container */
.section.section-lg.bg-default .container {
    max-width: 1220px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-bottom: 20px;
}

/* Also hide any other potential yellow elements */
.owl-group-3 .quote-light-mark {
    display: none !important;
}

/* CTA Section RTL Fixes */
.parallax-heading {
    text-align: right !important;
    direction: rtl !important;
    align-items: flex-end !important;
}

.parallax-heading span {
    text-align: right !important;
    direction: rtl !important;
    width: 100% !important;
    display: block !important;
}

.parallax-subtitle {
    text-align: right !important;
    direction: rtl !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* Ensure CTA section content is properly aligned */
.section-parallax .container .row {
    text-align: right !important;
}

.section-parallax .button {
    text-align: center !important;
    direction: ltr !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Contacts Section RTL Fixes */
.contacts-box {
    text-align: right !important;
    direction: rtl !important;
}

.box-1-title {
    text-align: right !important;
    direction: rtl !important;
}

.box-1-subtitle {
    text-align: right !important;
    direction: rtl !important;
}

.box-1-det {
    text-align: right !important;
    direction: rtl !important;
}

/* Contact Form RTL Fixes */
.text-decor-1 {
    direction: rtl !important;
    padding-top: 25px;
}

.form-label {
    text-align: right !important;
    direction: rtl !important;
}

.form-input, .form-input textarea {
    text-align: right !important;
    direction: rtl !important;
}

/* Form icons positioning for RTL */
.form-wrap-icon .form-icon {
    left: auto !important;
    right: 20px !important;
}

.form-wrap-icon .form-input {
    padding-left: 20px !important;
    padding-right: 90px !important;
}

/* Additional spacing for textarea */
.form-wrap-icon textarea.form-input {
    padding-left: 20px !important;
    padding-right: 90px !important;
    padding-top: 20px !important;
}

/* Ensure proper spacing between icon and text */
.form-wrap-icon {
    position: relative !important;
}

.form-wrap-icon .form-icon {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 15px !important;
    left: auto !important;
    z-index: 2 !important;
}

/* For textarea, position icon at top */
.form-wrap-icon:has(textarea) .form-icon {
    top: 20px !important;
    transform: none !important;
    right: 15px !important;
}

/* Contact form button */
.form-wrap-button {
    text-align: right !important;
}

.form-wrap-button .button {
    text-align: center !important;
    direction: ltr !important;
}

/* Additional overrides to prevent icon overlap */
.rd-mailform .form-wrap-icon .form-input {
    padding-right: 90px !important;
    padding-left: 20px !important;
}

.rd-mailform .form-wrap-icon .form-icon {
    right: 25px !important;
    left: auto !important;
}

/* Force proper spacing for all contact form inputs - text starts AFTER icon */
#contact-name,
#contact-phone, 
#contact-email,
#contact-message {
    padding-right: 55px !important;
    padding-left: 15px !important;
    text-align: right !important;
    direction: rtl !important;
}

/* Additional text positioning for form inputs */
.form-wrap-icon .form-input {
    padding-right: 55px !important;
    padding-left: 15px !important;
}

.form-wrap-icon textarea.form-input {
    padding-right: 55px !important;
    padding-left: 15px !important;
    padding-top: 15px !important;
}

/* Placeholder text positioning - move labels away from icons */
.form-wrap-icon .form-label {
    right: 55px !important;
    left: auto !important;
    text-align: right !important;
    direction: rtl !important;
    padding-right: 0px !important;
}

/* Also fix placeholder text in inputs */
.form-wrap-icon .form-input::placeholder {
    padding-right: 0px !important;
    text-align: right !important;
    direction: rtl !important;
}

/* Force label positioning for all contact form labels */
label[for="contact-name"],
label[for="contact-phone"],
label[for="contact-email"], 
label[for="contact-message"] {
    right: 55px !important;
    left: auto !important;
    text-align: right !important;
    direction: rtl !important;
}

/* Make validation error messages bigger and more readable - NO BOX */
.form-validation,
.form-output-global,
.form-output,
.has-error .form-validation,
.form-wrap .form-validation {
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: #dc3545 !important;
    font-weight: 600 !important;
    text-align: right !important;
    direction: rtl !important;
    margin-top: 15px !important;
    margin-bottom: 10px !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
    clear: both !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
}

/* Also target any other error message classes */
.text-danger,
.alert-danger,
.error-message,
.validation-error {
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    text-align: right !important;
    direction: rtl !important;
}

/* Ensure form wrapper doesn't interfere with validation message positioning */
.form-wrap {
    position: relative !important;
    overflow: visible !important;
}

.form-wrap-icon {
    position: relative !important;
    overflow: visible !important;
}

/* Force validation messages to appear after the input field */
.form-wrap .form-validation {
    order: 999 !important;
}

/* Ensure validation messages don't float or position absolutely */
.form-validation {
    float: none !important;
    position: static !important;
}

/* Footer RTL Styling */
.footer-classic {
    direction: rtl !important;
    text-align: right !important;
}

.footer-classic-title {
    text-align: right !important;
    direction: rtl !important;
}

.footer-classic-item-block ul {
    text-align: right !important;
    direction: rtl !important;
}

.footer-classic-item-block li {
    text-align: right !important;
    direction: rtl !important;
}

.footer-classic-item-block a {
    text-align: right !important;
    direction: rtl !important;
}

.footer-classic-aside {
    direction: rtl !important;
    text-align: right !important;
}

.footer-classic-aside .rights {
    text-align: right !important;
    direction: rtl !important;
}

/* Social media icons - keep LTR for proper icon alignment */
.group-sm {
    direction: ltr !important;
    text-align: right !important;
}

/* Center only the icon content within its circle */
.group-sm a {
    text-align: center !important;
}

/* Fix mobile text width in What We Offer section */
@media (max-width: 767px) {
    .lg-2-item {
        width: 100% !important;
    }
    
    .lg-2-item-main {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }
    
    .lg-2-item-main h4,
    .lg-2-item-main p {
        width: 100% !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    #program-features {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    #program-features .lg-2-item {
        margin-bottom: 20px !important;
    }
}

/* What We Offer clickable items styling */
.lg-2-item-link:hover .lg-2-item-aside {
    transform: translateY(-2px) !important;
    transition: transform 0.3s ease !important;
}

.lg-2-item-link:hover .lg-2-item-title {
    color: #3b82f6 !important;
    transition: color 0.3s ease !important;
}

.lg-2-item-link:hover {
    transform: translateY(-2px) !important;
    transition: transform 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.lg-2-item {
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    padding: 15px !important;
    height: 100% !important;
}

/* Ensure consistent heights and better alignment */
#program-features {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 15px !important;
}

#program-features li {
    flex: 1 1 calc(33.333% - 10px) !important;
    min-width: 300px !important;
    align-items: stretch !important;
}

.lg-2-item-link {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
}

.lg-2-item-main {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.lg-2-item-title {
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
    min-height: 2.6em !important;
}

/* Fix RTL alignment for single-program page */
.post-info-details .big {
    text-align: right !important;
    direction: rtl !important;
    float: right !important;
}

.post-info-details {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix table headers and content alignment */
.table th, .table td {
    text-align: right !important;
    direction: rtl !important;
}

.table th {
    font-weight: bold !important;
}

/* Fix all Arabic text alignment in single program */
.post-info-title,
.post-info-price,
.post-info-meta,
.post-info-meta-list,
.post-info-meta-list li {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix tabs navigation RTL alignment */
.nav-tabs {
    text-align: right !important;
    direction: rtl !important;
}

.nav-tabs .nav-link {
    text-align: right !important;
    direction: rtl !important;
}

.nav-tabs .nav-link span {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix accordion/card RTL alignment */
.card-title,
.card-link {
    text-align: right !important;
    direction: rtl !important;
}

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

/* Fix breadcrumbs RTL alignment */
.breadcrumbs-custom-title {
    text-align: center !important;
    direction: rtl !important;
}

.breadcrumbs-custom-main {
    text-align: center !important;
    direction: rtl !important;
}

/* Fix button group RTL alignment */
.group-sm {
    text-align: right !important;
    direction: rtl !important;
}

.button-icon-left {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix form RTL alignment in single program */
.box-4 h4 {
    text-align: right !important;
    direction: rtl !important;
}

.box-4-inner {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix gallery section RTL alignment */
.thumbnail-light {
    text-align: center !important;
}

/* Fix tabs toggle button RTL */
.tabs-complex-nav-toggle {
    text-align: right !important;
    direction: rtl !important;
}

.tabs-complex-nav-toggle span {
    text-align: right !important;
    direction: rtl !important;
}

/* Logo switching on scroll */
.rd-navbar .brand-logo-dark {
    display: block !important;
}

.rd-navbar .brand-logo-light {
    display: none !important;
}

.rd-navbar.rd-navbar--is-stuck .brand-logo-dark {
    display: none !important;
}

.rd-navbar.rd-navbar--is-stuck .brand-logo-light {
    display: block !important;
    width: 377px !important;
    height: 72px !important;
    max-width: 377px !important;
    max-height: 72px !important;
    object-fit: contain !important;
    position: relative !important;
    top: 5px !important;
}

/* Mobile logo switching - same logic but with mobile sizing */
.rd-navbar-fixed .brand-logo-dark {
    display: block !important;
}

.rd-navbar-fixed .brand-logo-light {
    display: none !important;
}

.rd-navbar-fixed.rd-navbar--is-stuck .brand-logo-dark {
    display: none !important;
}

.rd-navbar-fixed.rd-navbar--is-stuck .brand-logo-light {
    display: block !important;
    width: 160px !important;
    height: 58px !important;
    max-width: 160px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    position: relative !important;
    top: 2px !important;
}

/* Custom Israel Map Styling */
.custom-map-container {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    margin: 20px 0;
    position: relative;
    overflow: hidden;
}

.custom-map-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 173, 0, 0.05) 0%, rgba(74, 144, 226, 0.05) 100%);
    pointer-events: none;
}

.israel-map {
    position: relative;
    z-index: 2;
    text-align: center;
    border-radius: 10px;
    overflow: hidden;
}

.interactive-map {
    width: 100%;
    height: 400px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    z-index: 1;
}

/* Leaflet marker styling */
.nibras-marker {
    background: transparent !important;
    border: none !important;
}

.marker-pin {
    width: 30px;
    height: 30px;
    background: #FFAD00;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 10px rgba(255, 173, 0, 0.4);
    border: 3px solid white;
    transition: all 0.3s ease;
    cursor: pointer;
}

.marker-pin:hover {
    background: #ff6b35;
    box-shadow: 0 5px 15px rgba(255, 107, 53, 0.6);
    transform: scale(1.1);
}

.marker-logo {
    width: 16px;
    height: 16px;
    object-fit: contain;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
}

.map-markers-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

.map-marker {
    position: absolute;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.3s ease;
    transform: translate(-50%, -50%);
}

.map-marker:hover {
    transform: translate(-50%, -50%) scale(1.2);
    z-index: 20;
}

.marker-pin {
    width: 30px;
    height: 30px;
    background: #FFAD00;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 10px rgba(255, 173, 0, 0.4);
    border: 3px solid white;
    transition: all 0.3s ease;
}

.map-marker:hover .marker-pin {
    background: #ff6b35;
    box-shadow: 0 5px 15px rgba(255, 107, 53, 0.6);
    transform: scale(1.1);
}

.marker-logo {
    width: 16px;
    height: 16px;
    object-fit: contain;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
}

.marker-label {
    position: absolute;
    top: 35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-family: 'Tajawal', 'Arial', sans-serif;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    transition: all 0.3s ease;
    pointer-events: none;
}

.map-marker:hover .marker-label {
    opacity: 1;
    transform: translateX(-50%) translateY(-5px);
}

.map-info-panel {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 10px;
    padding: 15px;
    margin-top: 15px;
    text-align: center;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 173, 0, 0.2);
}

.map-info-panel h4 {
    color: #2c3e50;
    font-family: 'Tajawal', 'Arial', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px 0;
}

.map-info-panel p {
    color: #6c757d;
    font-family: 'Tajawal', 'Arial', sans-serif;
    font-size: 14px;
    margin: 0;
    line-height: 1.4;
}

/* City info tooltip */
.city-tooltip {
    position: absolute;
    background: rgba(0, 0, 0, 0.9);
    color: white;
    padding: 10px 15px;
    border-radius: 8px;
    font-family: 'Tajawal', 'Arial', sans-serif;
    font-size: 14px;
    font-weight: 600;
    pointer-events: none;
    z-index: 1000;
    transform: translateY(-100%);
    margin-top: -10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.city-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: rgba(0, 0, 0, 0.9);
}

.city-tooltip.show {
    opacity: 1;
}

/* Responsive design */
@media (max-width: 768px) {
    .custom-map-container {
        padding: 15px;
        margin: 15px 0;
    }
    
    .israel-svg {
        max-width: 100%;
    }
    
    .city-label {
        font-size: 10px;
    }
    
    .city-marker:hover .city-label {
        font-size: 12px;
    }
    
    .map-info-panel h4 {
        font-size: 16px;
    }
    
    .map-info-panel p {
        font-size: 12px;
    }
}

/* RTL fixes for list-marked checkmarks */
.list-marked {
    direction: rtl !important;
    text-align: right !important;
}

.list-marked > li {
    text-indent: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    direction: rtl !important;
    text-align: right !important;
    display: flex !important;
    align-items: center !important;
    flex-direction: row-reverse !important;
    justify-content: flex-end !important;
}

.list-marked > li > * {
    text-align: right !important;
    direction: rtl !important;
}

.list-marked > li::before {
    position: static !important;
    display: inline-block !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    min-width: 20px !important;
    margin-left: 8px !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
}

/* RTL fixes for table cells */
.font-weight-sbold {
    text-align: right !important;
    direction: rtl !important;
}

td.font-weight-sbold {
    text-align: right !important;
    direction: rtl !important;
}

table td {
    text-align: right !important;
    direction: rtl !important;
}

table th {
    text-align: right !important;
    direction: rtl !important;
}

/* Center text for send button */
.button.button-lg.button-primary.button-block {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Additional specific RTL fixes for single-program page */
.font-weight-sbold {
    text-align: right !important;
    direction: rtl !important;
}

.post-info-meta {
    text-align: right !important;
    direction: rtl !important;
}

.post-info-meta-list {
    text-align: right !important;
    direction: rtl !important;
}

.post-info-meta-list li {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix table body and all table elements */
#tabs-1-1 table,
#tabs-1-1 table tbody,
#tabs-1-1 table tbody tr,
#tabs-1-1 table tbody tr td {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix all headings with margin classes */
.mt-md-30,
.mt-lg-50,
.mt-xl-80 {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix elements after post-info-meta */
.post-info-meta + * {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix all paragraphs and headings in single program */
#tabs-1-1 p,
#tabs-1-1 h1,
#tabs-1-1 h2,
#tabs-1-1 h3,
#tabs-1-1 h4,
#tabs-1-1 h5,
#tabs-1-1 h6 {
    text-align: right !important;
    direction: rtl !important;
}

/* Fix all content in the main article */
.post-info p,
.post-info h1,
.post-info h2,
.post-info h3,
.post-info h4,
.post-info h5,
.post-info h6 {
    text-align: right !important;
    direction: rtl !important;
}

/* Improve slider text readability over colorful images */
.swiper-slide::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.1) 0%,
        rgba(0, 0, 0, 0.2) 30%,
        rgba(0, 0, 0, 0.45) 60%,
        rgba(0, 0, 0, 0.6) 100%
    ) !important; /* Smart gradient overlay - stronger dimming in text area */
    z-index: 1 !important;
}

.tour-1-2 {
    position: relative !important;
    z-index: 2 !important; /* Ensure text appears above overlay */
}

/* Balanced text shadows for good readability */
.tour-1-title {
    text-shadow: 
        2px 2px 4px rgba(0, 0, 0, 0.8),
        -1px -1px 2px rgba(0, 0, 0, 0.7),
        1px -1px 2px rgba(0, 0, 0, 0.7),
        -1px 1px 2px rgba(0, 0, 0, 0.7),
        0px 0px 8px rgba(0, 0, 0, 0.6) !important;
    font-weight: bold !important;
    color: #ffffff !important;
}

.tour-subtitle {
    text-shadow: 
        1px 1px 3px rgba(0, 0, 0, 0.8),
        -1px -1px 2px rgba(0, 0, 0, 0.6),
        1px -1px 2px rgba(0, 0, 0, 0.6),
        -1px 1px 2px rgba(0, 0, 0, 0.6),
        0px 0px 6px rgba(0, 0, 0, 0.5) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Enhanced button visibility */
.swiper-slide .button-primary {
    background: rgba(59, 130, 246, 0.9) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

.swiper-slide .button-primary:hover {
    background: rgba(59, 130, 246, 1) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
}

/* Slider text size adjustments with FORCED right alignment */
.tour-1-2 .tour-1-title,
.swiper-slide .tour-1-title,
p.tour-1-title {
    font-size: 3.5em !important; /* Even larger title */
    text-align: right !important;
    direction: rtl !important;
    width: 100% !important;
    display: block !important;
    margin: 0 0 15px 0 !important;
    font-weight: bold !important;
    line-height: 1.3 !important; /* Increased line height */
    letter-spacing: 0.5px !important; /* Added letter spacing */
}

.tour-1-2 .tour-subtitle,
.swiper-slide .tour-subtitle,
span.tour-subtitle {
    font-size: 1.7em !important; /* Larger subtitle */
    max-width: 100% !important;
    width: 100% !important;
    line-height: 1.5 !important; /* Increased line height */
    text-align: right !important;
    direction: rtl !important;
    display: block !important;
    margin: 0 0 20px 0 !important;
    letter-spacing: 0.3px !important; /* Added letter spacing */
}

/* Hide breadcrumb line */
.breadcrumbs-custom-line {
    display: none !important;
}

/* Hide ALL ::before pseudo-element pagination bullets */
.swiper-pagination-bullet::before,
.swiper-pagination-bullet:before,
.swiper-pagination-text::before,
.swiper-pagination-text:before,
[class*="pagination"]::before,
[class*="pagination"]:before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* AGGRESSIVELY hide pagination text numbers */
.swiper-pagination-text,
.swiper-pagination-bullet-text,
.swiper-pagination .swiper-pagination-text,
.swiper-pagination .swiper-pagination-bullet-text,
.swiper-slider .swiper-pagination-text,
.swiper-slider .swiper-pagination-bullet-text,
.swiper-slider-1 .swiper-pagination-text,
.swiper-slider-1 .swiper-pagination-bullet-text,
[data-bullet-text] .swiper-pagination-bullet::after,
[data-bullet-text] .swiper-pagination-bullet:after,
.swiper-pagination-bullet[data-bullet-text]::after,
.swiper-pagination-bullet[data-bullet-text]:after {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    content: none !important;
    font-size: 0 !important;
    color: transparent !important;
}

/* Alternative: If you want to keep numbers, uncomment below and comment above
.swiper-pagination-text,
.swiper-pagination-bullet-text {
    position: absolute !important;
    bottom: -20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-size: 10px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    text-align: center !important;
}
*/

/* Show the main pagination */
.swiper-pagination {
    display: flex !important;
    position: absolute !important;
    bottom: 15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    height: auto !important;
    text-align: center !important;
    z-index: 999 !important;
    justify-content: center !important;
    align-items: center !important;
    flex-direction: row !important;
}

/* Style all pagination bullets identically */
.swiper-pagination-bullet,
.swiper-pagination .swiper-pagination-bullet,
.swiper-slider .swiper-pagination-bullet,
.swiper-slider-1 .swiper-pagination-bullet {
    display: inline-block !important;
    margin: 0 6px !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.6) !important;
    cursor: pointer !important;
    opacity: 1 !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}

.swiper-pagination-bullet-active,
.swiper-pagination .swiper-pagination-bullet-active,
.swiper-slider .swiper-pagination-bullet-active,
.swiper-slider-1 .swiper-pagination-bullet-active {
    background: rgba(255, 255, 255, 1) !important;
    transform: scale(1.1) !important;
}

/* Content positioned to the RIGHT side - responsive and clean */
.tour-1-2 {
    position: absolute !important;
    right: 5% !important;
    top: 20% !important;
    transform: translateY(-20%) !important;
    width: 45% !important;
    max-width: 800px !important;
    min-width: 280px !important;
    height: auto !important;
    text-align: right !important;
    direction: rtl !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 20px !important;
    z-index: 10 !important;
}

/* Center the button properly */
.tour-1-2 .button,
.swiper-slide .button {
    text-align: center !important;
    display: block !important;
    margin: 15px 0 0 auto !important;
    width: fit-content !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .tour-1-2 {
        right: 3% !important;
        left: 3% !important;
        top: 8% !important;
        transform: translateY(-8%) !important;
        width: 94% !important;
        max-width: 94vw !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        max-height: 75vh !important;
    }
    
    /* Mobile-specific text flow improvements */
    .tour-1-2 .tour-1-title,
    .swiper-slide .tour-1-title,
    p.tour-1-title {
        font-size: 3.2em !important;
        max-width: 100% !important;
        width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
    }
    
    .tour-1-2 .tour-subtitle,
    .swiper-slide .tour-subtitle,
    span.tour-subtitle {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        line-height: 1.3 !important;
        font-size: 1.3em !important;
        max-width: 100% !important;
        width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        text-overflow: clip !important;
    }
    
    /* Ensure button stays within bounds and doesn't overlap pagination */
    .tour-1-2 .button,
    .swiper-slide .button {
        max-width: 100% !important;
        width: fit-content !important;
        box-sizing: border-box !important;
        margin: 10px auto 60px auto !important;
        display: block !important;
        text-align: center !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .tour-1-2 {
        right: 6% !important;
        top: 15% !important;
        transform: translateY(-15%) !important;
        width: 50% !important;
        max-width: 600px !important;
    }
}

@media (min-width: 1200px) {
    .tour-1-2 {
        right: 8% !important;
        top: 20% !important;
        transform: translateY(-20%) !important;
        width: 45% !important;
        max-width: 800px !important;
    }
}

/* Ensure slider container allows absolute positioning */
.swiper-slide {
    position: relative !important;
    overflow: visible !important;
}

/* Hide the vertical pagination if it exists */
.swiper-pagination-vertical {
    display: none !important;
}

/* Fix Navbar Centering After Removing Burger Menu */
@media (min-width: 992px) {
    .rd-navbar-main {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
    }
    
    .rd-navbar-panel {
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 10 !important;
    }
    
    .rd-navbar-nav-wrap {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        position: relative !important;
        z-index: 5 !important;
    }
    
    .rd-navbar-nav {
        margin: 0 !important;
        display: flex !important;
        list-style: none !important;
        padding: 0 !important;
    }
}


/* Make Numbers section image circular */
.label-box img {
    border-radius: 50% !important;
    object-fit: cover !important;
    width: 441px !important;
    height: 441px !important;
    aspect-ratio: 1 / 1 !important;
}

/* Ensure perfect circle on mobile */
@media (max-width: 767px) {
    .label-box img {
        width: 280px !important;
        height: 280px !important;
        min-width: 280px !important;
        min-height: 280px !important;
        max-width: 280px !important;
        max-height: 280px !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 50% !important;
        object-fit: cover !important;
    }
    
    .label-box {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
}

/* Hide slider quick contact buttons on mobile (Phone / Mail / Share) */
@media (max-width: 767px) {
    .jumbotron-1-aside,
    .jumbotron-1-aside .jumbotron-1-group,
    .jumbotron-1-aside .jumbotron-1-group-item {
        display: none !important;
    }
}

/* Gefen Sub-categories Styling */
.subcategory-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 2px solid #e2e8f0;
    border-radius: 16px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    height: 100%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    direction: rtl !important;
}

.subcategory-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 8px 24px rgba(59, 130, 246, 0.2);
    transform: translateY(-4px);
}

.subcategory-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    box-shadow: 0 4px 16px rgba(59, 130, 246, 0.3);
}

.subcategory-icon i {
    font-size: 2.5rem;
    color: white;
}

.subcategory-card h4 {
    color: #1e293b;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-align: center !important;
    direction: rtl !important;
}

.subcategory-card p {
    color: #64748b;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 0;
    text-align: center !important;
    direction: rtl !important;
}

/* Active state for selected subcategory */
.subcategory-card.active {
    border-color: #10b981;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
}

.subcategory-card.active .subcategory-icon {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.subcategory-card.active h4 {
    color: #065f46;
}

.subcategory-card.active p {
    color: #047857;
}

/* MOBILE PROGRAMS SECTION - COMPLETE REDESIGN */
@media (max-width: 992px) {
    /* Hide desktop layout completely */
    .nibras-radial-layout {
        display: none !important;
    }
    
    /* Create new mobile-only programs section */
    .section-lg.bg-gray-100.text-center {
        padding: 60px 20px !important;
        background: #f8f9fa !important;
    }
    
    .section-lg.bg-gray-100.text-center .container {
        max-width: 100% !important;
        padding: 0 15px !important;
    }
    
    /* Mobile Programs Grid */
    .mobile-programs-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
        margin-top: 40px !important;
        width: 100% !important;
    }
    
    .mobile-program-card {
        background: #ffffff !important;
        border-radius: 16px !important;
        padding: 24px 16px !important;
        text-align: center !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
        border: 1px solid #e9ecef !important;
        transition: all 0.3s ease !important;
        min-height: 140px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        cursor: pointer !important;
    }
    
    /* Removed hover effects for performance */
    
    .mobile-program-icon {
        width: 48px !important;
        height: 48px !important;
        background: #f8f9fa !important;
        border-radius: 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 16px !important;
        font-size: 20px !important;
        color: #56B19F !important;
        border: 2px solid #e9ecef !important;
    }
    
    .mobile-program-title {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #2c3e50 !important;
        margin: 0 !important;
        line-height: 1.4 !important;
        text-align: center !important;
    }
    
    /* Section Title */
    .section-lg h2 {
        font-size: 28px !important;
        font-weight: 800 !important;
        color: #2c3e50 !important;
        margin-bottom: 16px !important;
    }
    
    .section-lg p {
        font-size: 16px !important;
        color: #6c757d !important;
        margin-bottom: 0 !important;
    }
    
}

/* Horizontal Scrollable Team Section */
.team-scroll-container {
    width: 100%;
    margin-top: 40px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 20px 0;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: scroll-position;
}

.team-scroll-wrapper {
    display: inline-flex;
    gap: 20px;
}

.team-scroll-wrapper::-webkit-scrollbar {
    height: 8px;
    background: #f1f1f1;
    border-radius: 4px;
}

.team-scroll-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.team-scroll-wrapper::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.team-scroll-wrapper::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Profile Classic Styling for Horizontal Scroll */
.team-scroll-wrapper .profile-classic {
    width: 272px;
    margin: 0;
    flex-shrink: 0;
}

/* Responsive Design for Team Section */
@media (max-width: 768px) {
    .team-scroll-wrapper .profile-classic {
        flex: 0 0 200px;
    }
}

/* SMALL MOBILE OVERRIDE - Even smaller screens */
@media (max-width: 768px) {
    .nibras-radial-layout {
        padding: 20px 10px !important;
    }
    
    .program-cell {
        width: calc(50% - 8px) !important;
        min-width: 120px !important;
        max-width: 180px !important;
        padding: 12px !important;
        margin: 4px auto !important;
    }
    
    .cell-content h4 {
        font-size: 14px !important;
        font-weight: 800 !important;
        color: white !important;
    }
    
    .cell-content p {
        display: none !important;
    }
    
    .logo-container {
        width: 60px !important;
        height: 60px !important;
    }
    
    .central-title {
        font-size: 16px !important;
    }
}

@media (max-width: 480px) {
    .nibras-radial-layout {
        padding: 15px 8px !important;
    }
    
    .program-cell {
        width: calc(50% - 6px) !important;
        min-width: 100px !important;
        max-width: 150px !important;
        padding: 10px !important;
        margin: 3px auto !important;
    }
    
    .cell-content h4 {
        font-size: 12px !important;
        font-weight: 800 !important;
        color: white !important;
    }
    
    .cell-content p {
        display: none !important;
    }
    
    .logo-container {
        width: 50px !important;
        height: 50px !important;
    }
    
    .central-title {
        font-size: 14px !important;
    }
}

@media (max-width: 768px) {
    .nibras-radial-layout {
        padding: 30px 0;
        min-height: 350px;
    }
    
    .program-cluster {
        flex-direction: column;
        align-items: center;
    }
    
    .program-cell {
        min-width: 200px;
        margin: 10px 0;
    }
    
    .sun-icon {
        width: 60px;
        height: 60px;
    }
    
    .central-title {
        font-size: 16px;
    }
}

@media (max-width: 576px) {
    .nibras-radial-layout {
        padding: 20px 0;
        min-height: 300px;
    }
    
    .program-cell {
        min-width: 180px;
        padding: 8px;
    }
    
    .cell-content h4 {
        font-size: 12px;
    }
    
    .cell-content p {
        font-size: 9px;
    }
}

/* About Page Styles */
.about-content {
}

.about-section {
    margin-bottom: 60px;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 30px;
    text-align: right;
    display: flex;
    align-items: center;
    gap: 15px;
}

.section-title .icon {
    font-size: 2rem;
    color: #3498db;
}

.section-content {
    margin-bottom: 30px;
}

.section-content h3 {
    font-size: 1.5rem;
    font-weight: 600;
    color: #34495e;
    margin-bottom: 15px;
    text-align: right;
}

.section-content p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #555;
    text-align: right;
    margin-bottom: 20px;
}

.divider-section {
    height: 2px;
    background: linear-gradient(90deg, transparent, #3498db, transparent);
    margin: 50px 0;
}

.info-box {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 10px;
    border-right: 4px solid #3498db;
    margin-top: 20px;
}

.info-box h4 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: right;
}

.info-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.info-box li {
    padding: 8px 0;
    border-bottom: 1px solid #e9ecef;
    text-align: right;
}

.info-box li:last-child {
    border-bottom: none;
}

.curriculum-principles,
.curriculum-methods {
    list-style: none;
    padding: 0;
    margin: 0;
}

.curriculum-principles li,
.curriculum-methods li {
    padding: 10px 0;
    border-bottom: 1px solid #e9ecef;
    text-align: right;
    position: relative;
    padding-right: 25px;
}

.curriculum-principles li:before,
.curriculum-methods li:before {
    content: "✓";
    position: absolute;
    right: 0;
    color: #27ae60;
    font-weight: bold;
}

.tool-card {
    background: #fff;
    padding: 30px 20px;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    text-align: center;
    margin-bottom: 30px;
    transition: transform 0.3s ease;
}

.tool-card:hover {
    transform: translateY(-5px);
}

.tool-icon {
    font-size: 3rem;
    color: #3498db;
    margin-bottom: 20px;
}

.tool-card h4 {
    font-size: 1.3rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 15px;
}

.tool-card p {
    color: #666;
    line-height: 1.6;
}

.team-stats {
    margin-top: 30px;
}

.stat-item {
    text-align: center;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 10px;
    margin-bottom: 20px;
}

.stat-item h3 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #3498db;
    margin-bottom: 10px;
}

.stat-item p {
    color: #666;
    font-weight: 500;
}

.team-highlight {
    background: #e8f4f8;
    padding: 25px;
    border-radius: 10px;
    border-right: 4px solid #3498db;
}

.team-highlight h4 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: right;
}

.team-highlight ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.team-highlight li {
    padding: 8px 0;
    text-align: right;
    position: relative;
    padding-right: 25px;
}

.team-highlight li:before {
    content: "★";
    position: absolute;
    right: 0;
    color: #f39c12;
    font-weight: bold;
}

/* Team Members Styles */
.team-members {
    margin-bottom: 40px;
}

.team-member {
    background: #f8f9fa;
    padding: 20px;
    margin-bottom: 15px;
    border-radius: 10px;
    border-right: 4px solid #3498db;
    transition: transform 0.3s ease;
}

.team-member:hover {
    transform: translateX(-5px);
}

.team-member h4 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: 1.2rem;
}

.team-member p {
    color: #666;
    margin: 0;
    font-size: 1rem;
}

.specialists-section {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 2px solid #e9ecef;
}

.specialists-section h3 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 25px;
    text-align: right;
    font-size: 1.4rem;
}

.specialists-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.specialist {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    border-right: 4px solid #27ae60;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.specialist:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

.specialist h4 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 1.1rem;
}

.specialist p {
    color: #666;
    margin: 0;
    line-height: 1.6;
    font-size: 0.95rem;
}

/* Programs Grid Styles - Fixed to 4 columns max */
.programs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 30px;
    max-width: 1800px;
    margin-left: auto;
    margin-right: auto;
}

/* Responsive breakpoints for programs grid */
@media (max-width: 1400px) {
    .programs-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }
}

@media (max-width: 1000px) {
    .programs-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .programs-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

.program-category {
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-right: 4px solid #3498db;
    transition: transform 0.3s ease;
}

.program-category:hover {
    transform: translateY(-5px);
}

.program-category h3 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: right;
    font-size: 1.3rem;
}

.program-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.program-list li {
    padding: 12px 0;
    border-bottom: 1px solid #e9ecef;
    text-align: right;
    position: relative;
    padding-right: 25px;
    color: #555;
    font-size: 1rem;
}

.program-list li:last-child {
    border-bottom: none;
}

.program-list li:before {
    content: "▶";
    position: absolute;
    right: 0;
    color: #3498db;
    font-weight: bold;
    font-size: 0.8rem;
}

/* Curriculum Approach Styles */
.curriculum-approach {
    margin: 40px 0;
    padding: 30px;
    background: #f8f9fa;
    border-radius: 15px;
    border-right: 4px solid #3498db;
}

.curriculum-approach h3 {
    color: #2c3e50;
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: right;
}

.approach-pillars {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 30px;
}

.pillar {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 25px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.pillar:hover {
    transform: translateY(-3px);
}

.pillar-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #3498db, #2980b9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
}

.pillar-content h4 {
    color: #2c3e50;
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 10px;
    text-align: right;
}

.pillar-content p {
    color: #666;
    line-height: 1.6;
    text-align: right;
    margin: 0;
}

/* Curriculum Foundations Styles */
.curriculum-foundations {
    margin: 40px 0;
    padding: 30px;
    background: #e8f4f8;
    border-radius: 15px;
    border-right: 4px solid #27ae60;
}

.curriculum-foundations h3 {
    color: #2c3e50;
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: right;
}

.foundations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 25px;
}

.foundation-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.foundation-item:hover {
    transform: translateX(-5px);
}

.foundation-number {
    width: 40px;
    height: 40px;
    background: #27ae60;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.foundation-text {
    color: #2c3e50;
    font-weight: 500;
    text-align: right;
    flex: 1;
}

/* Curriculum Philosophy Styles */
.curriculum-philosophy {
    margin: 40px 0;
    padding: 30px;
    background: #fff3cd;
    border-radius: 15px;
    border-right: 4px solid #f39c12;
}

.curriculum-philosophy h3 {
    color: #2c3e50;
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: right;
}

.curriculum-philosophy p {
    color: #666;
    line-height: 1.8;
    text-align: right;
    font-size: 1.1rem;
    margin: 0;
}

/* Team Contact Table Styles */
.team-contact-table {
    margin: 40px 0;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    overflow: hidden;
}

.team-table {
    margin: 0;
    width: 100%;
    border-collapse: collapse;
}

.team-table thead {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
}

.team-table thead th {
    padding: 20px 15px;
    text-align: right;
    font-weight: 600;
    font-size: 1.1rem;
    border: none;
}

.team-table tbody tr {
    border-bottom: 1px solid #e9ecef;
    transition: background-color 0.3s ease;
}

.team-table tbody tr:hover {
    background-color: #f8f9fa;
}

.team-table tbody tr:last-child {
    border-bottom: none;
}

.team-table tbody td {
    padding: 18px 15px;
    text-align: right;
    vertical-align: middle;
    border: none;
}

.team-table tbody td:first-child {
    font-weight: 600;
    color: #2c3e50;
}

.team-table a {
    color: #3498db;
    text-decoration: none;
    transition: color 0.3s ease;
}

.team-table a:hover {
    color: #2980b9;
    text-decoration: underline;
}

/* WhatsApp links styling */
.team-table a[href*="wa.me"] {
    color: #25d366;
    font-weight: 500;
}

.team-table a[href*="wa.me"]:hover {
    color: #128c7e;
}

/* Email links styling */
.team-table a[href^="mailto:"] {
    color: #e74c3c;
    font-weight: 500;
}

.team-table a[href^="mailto:"]:hover {
    color: #c0392b;
}

/* Responsive table */
@media (max-width: 768px) {
    .team-table thead th,
    .team-table tbody td {
        padding: 12px 8px;
        font-size: 0.9rem;
    }
    
    .team-table thead th {
        font-size: 1rem;
    }
}

/* Modern Compact Panel Styles */
.modern-panel-content {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Programs Compact */
.programs-compact {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 2px solid #2563eb;
}

.section-icon {
    font-size: 1.2rem;
    color: #2563eb;
}

.section-title {
    color: #0f172a;
    font-weight: 700;
    font-size: 1rem;
}

.program-link-compact {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    background: #ffffff;
    border-radius: 10px;
    text-decoration: none;
    color: #0f172a;
    transition: all 0.2s ease;
    border: 2px solid #e2e8f0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.program-link-compact:hover {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    transform: translateX(-3px);
    text-decoration: none;
    color: #0f172a;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.2);
    border-color: #2563eb;
}

.program-icon-compact {
    font-size: 1.4rem;
    margin-left: 14px;
    flex-shrink: 0;
}

.program-info {
    flex: 1;
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.program-text {
    font-weight: 700;
    font-size: 1.1rem;
    color: #0f172a;
}

.program-desc {
    font-size: 0.85rem;
    color: #475569;
    font-weight: 500;
}

.program-arrow {
    color: #2563eb;
    font-size: 1rem;
    margin-right: 4px;
    transition: transform 0.2s ease;
    font-weight: bold;
}

.program-link-compact:hover .program-arrow {
    transform: translateX(-2px);
}

/* App Compact */
.app-compact {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
    border: 2px solid #e2e8f0;
    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.08);
    transition: all 0.3s ease;
}

.app-compact:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.15);
    border-color: #60a5fa;
}

.app-compact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #60a5fa 0%, #93c5fd 50%, #bfdbfe 100%);
    border-radius: 16px 16px 0 0;
}

.app-compact::after {
    content: '';
    position: absolute;
    top: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.08) 0%, rgba(147, 197, 253, 0.04) 100%);
    border-radius: 50%;
    z-index: 1;
}

.app-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
    padding: 16px;
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.06) 0%, rgba(147, 197, 253, 0.03) 100%);
    border-radius: 12px;
    border: 1px solid rgba(96, 165, 250, 0.15);
}

.app-icon {
    font-size: 2rem;
    background: linear-gradient(135deg, #60a5fa 0%, #93c5fd 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 2px 4px rgba(96, 165, 250, 0.3));
}

.app-title {
    color: #0f172a;
    font-weight: 800;
    font-size: 1.3rem;
    letter-spacing: -0.025em;
}

.app-description {
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0 0 24px 0;
    position: relative;
    z-index: 2;
    font-weight: 500;
    text-align: center;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
}

.app-features {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 20px 0;
    position: relative;
    z-index: 2;
    flex-wrap: wrap;
}

.feature-tag {
    background: linear-gradient(135deg, #60a5fa 0%, #93c5fd 100%);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    border: none;
    box-shadow: 0 2px 8px rgba(96, 165, 250, 0.3);
    transition: all 0.2s ease;
}

.feature-tag:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(96, 165, 250, 0.4);
}

.download-btn {
    background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
    border: 2px solid #60a5fa;
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
    box-shadow: 0 4px 15px rgba(96, 165, 250, 0.3);
    letter-spacing: 0.025em;
}

.download-btn:hover {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(96, 165, 250, 0.4);
    text-decoration: none;
    color: #ffffff;
    border-color: #3b82f6;
}

.download-btn:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(96, 165, 250, 0.3);
}

.download-icon {
    font-size: 1.1rem;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
    transition: transform 0.2s ease;
}

.download-btn:hover .download-icon {
    transform: translateY(-1px);
}

/* Contact Compact */
.contact-compact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #ffffff;
    border-radius: 8px;
    transition: all 0.2s ease;
    border: 2px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.contact-item:hover {
    background: #f8fafc;
    transform: translateX(-2px);
    border-color: #2563eb;
    box-shadow: 0 4px 8px rgba(37, 99, 235, 0.15);
}

.contact-icon {
    font-size: 1rem;
    flex-shrink: 0;
}

.contact-info {
    flex: 1;
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.contact-text {
    color: #0f172a;
    font-weight: 600;
    font-size: 0.9rem;
}

.contact-link {
    color: #0f172a;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.contact-subtitle {
    color: #475569;
    font-size: 0.8rem;
    font-weight: 500;
}

.contact-link:hover {
    color: #2563eb;
    text-decoration: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .modern-panel-content {
        padding: 16px;
        gap: 16px;
    }
    
    .program-link-compact {
        padding: 10px 14px;
    }
    
    .app-compact {
        padding: 14px;
    }
    
    .contact-item {
        padding: 8px 10px;
    }
}

/* Reduce margin between counters and programs sections */
.section-lg + .section-lg {
    margin-top: 20px !important;
}

/* Reduce spacing in What We Offer section */
#what-we-offer.section-lg {
    padding-bottom: 30px !important;
}

#what-we-offer .program-header.mb-4 {
    margin-bottom: 15px !important;
}

#what-we-offer .container:first-child {
    margin-bottom: 10px !important;
}