html {
    scroll-behavior: smooth;
}

/*
Theme Name: Eduspace
Author: ModinaTheme
Author URI: https://themeforest.net/user/modinatheme/
Description: Eduspace - Online Course, Education & University Html Template
Version: 1.2.0
*/

/*
=================================
|***    Table of contents:   ***|
=================================

1. General styles
2. Typography
3. Helpers
4. Preloader
5. Go up button
6. Header and navigation
7. Hero Section
8. About us
9. Services
10. Fun facts
11. Projects
12. Pricing
13. Testimonial
14. CTA
15. Team
16. Video Banner
17. Shop
18. Marquee
19. Blog
20. Footer

Main Style file-> assets/css/main.css 
*/
/* ==========================================================================
   Header and Navigation Optimization
   ========================================================================== */

/* Logo size */
.header-main .header-logo img,
.header-main .header-logo-2 img {
    max-width: 280px !important;
    height: auto !important;
}

/* Centering the menu between logo and right buttons */
.header-main .header-left {
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
}

/* Spacing between menu items */
.header-main .main-menu ul li {
    margin-inline-end: 12px !important;
}

/* Menu text size - 16px */
.header-main .main-menu ul li a {
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: -0.4px;
}

/* Icons styling */
.header-main .main-menu ul li a .head-icon {
    display: inline-block !important;
    margin-right: 3px !important;
    font-size: 16px !important;
}

.header-main .main-menu ul li a i.fa-chevron-down {
    margin-left: 4px !important;
    font-size: 11px !important;
}

/* Header right side gaps */
.header-main .header-right,
.header-3 .header-main .header-right {
    gap: 10px !important;
    flex-shrink: 0;
}

/* Compact header buttons */
.header-3 .header-button .theme-btn {
    padding: 12px 18px !important;
    font-size: 15px !important;
}

/* Responsive adjustment */
@media (max-width: 1399px) {
    .header-main .main-menu ul li a {
        font-size: 15px !important;
    }

    .header-main .main-menu ul li {
        margin-inline-end: 12px !important;
    }
}

/* Custom Red hover for Inscription button */
.header-3 .header-button .theme-btn.btn-red-hover:hover {
    border-color: var(--theme-red) !important;
}

.header-3 .header-button .theme-btn.btn-red-hover::before,
.header-3 .header-button .theme-btn.btn-red-hover::after {
    background-color: var(--theme-red) !important;
}

/* Fix visibility in sticky header */
.sticky.header-3 .header-button .theme-btn {
    color: var(--header) !important;
    border-color: var(--header) !important;
}

/* Ensure text becomes white on hover in sticky header for all buttons */
.sticky.header-3 .header-button .theme-btn:hover {
    color: var(--white) !important;
}

/* In sticky mode, the red button should still show red on hover */
.sticky.header-3 .header-button .theme-btn.btn-red-hover:hover {
    border-color: var(--theme-red) !important;
}

/* ==========================================================================
   Hero Section Optimization
   ========================================================================== */

.hero-section-3.hero-3 {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.hero-3 .hero-slider {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-3 .hero-fixed-container {
    position: relative;
    z-index: 2;
    pointer-events: none;
    /* Allow clicks to pass to arrows if needed, but we should be careful with buttons */
}

.hero-3 .hero-fixed-container .hero-content,
.hero-3 .hero-fixed-container .hero-button {
    pointer-events: auto;
    /* Re-enable clicks for buttons and text */
}

/* Ensure the arrows stay clickable and on top */
.hero-3 .array-button {
    z-index: 10 !important;
}

/* Remove comma from 'Depuis 1982' counter */
.counter-box .odometer .odometer-formatting-mark {
    display: none !important;
}

/* ==========================================================================
   Offcanvas Buttons Custom Style - Compact Version
   ========================================================================== */
.offcanvas-button {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    margin-top: 20px !important;
}

.offcanvas-custom-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border-radius: 10px;
    text-decoration: none;
    color: #fff !important;
    font-weight: 700;
    font-size: 13px;
    transition: all 0.3s ease;
    width: calc(50% - 5px);
    white-space: nowrap;
}

.offcanvas-custom-btn.btn-blue {
    background-color: #0D2A54;
}

.offcanvas-custom-btn.btn-red {
    background-color: #D1003D;
}

.offcanvas-custom-btn .btn-icon-box {
    background-color: rgba(255, 255, 255, 0.15);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
}

.offcanvas-custom-btn .btn-text {
    flex-grow: 1;
    text-align: center;
    margin: 0 5px;
}

.offcanvas-custom-btn .btn-arrow {
    background-color: rgba(255, 255, 255, 0.15);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 10px;
    flex-shrink: 0;
}

.offcanvas-custom-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    opacity: 0.95;
}

.offcanvas-custom-btn:hover .btn-arrow i {
    transform: translateX(1px);
    transition: transform 0.3s ease;
}

/* ==========================================================================
   Back to top button
   ========================================================================== */
.back-to-top {
    background-color: var(--theme-red) !important;
}

.back-to-top:hover {
    background-color: var(--header) !important;
}

/* ==========================================================================
   Remove Horizontal Scrollbar
   ========================================================================== */
html,
body {
    overflow-x: hidden !important;
    width: 100%;
}

/* Hide Marquee Section (Scrolling Bar) */
.marquee-section,
.mycustom-marque,
.scrolling-wrap {
    display: none !important;
}

/* Centering Breadcrumb Title and Items */
.breadcrumb-wrapper.style-2::before {
    display: none !important;
}

.breadcrumb-wrapper.style-2 .page-heading {
    text-align: center !important;
    padding-top: 140px !important;
    padding-bottom: 110px !important;
    margin-bottom: 0 !important;
}

.breadcrumb-wrapper.style-2 .page-heading .breadcrumb-items {
    justify-content: center !important;
    margin-bottom: 40px !important;
}

.breadcrumb-wrapper.style-2 .page-heading h1 {
    margin-bottom: 35px !important;
    font-weight: 800 !important;
    font-size: 55px !important;
}

.breadcrumb-logo {
    display: block !important;
    margin: 40px auto 0 !important;
    max-width: 140px !important;
    height: auto !important;
    position: relative !important;
    z-index: 10 !important;
}

/* ==========================================================================
   Brand Color Updates
   ========================================================================== */
:root {
    --theme-blue: #0D2A54 !important;
}

.text-primary,
.icon-box.text-primary i,
.feature-card i.text-primary {
    color: #0D2A54 !important;
}

.icon-box.text-primary {
    border-color: #0D2A54 !important;
}

/* ==========================================================================
   Dark Mode Revision Generale
   ========================================================================== */
[data-theme="dark"] {
    --white: #1a1a1a;
    --black: #ffffff;
    --body: #0d0d0d;
    --header: #ffffff;
    --text: #e0e0e0;
    --border: #333333;
    --border2: #444444;
    --bg: #0d0d0d;
    --bg2: #1a1a1a;
    --bg3: #1a1a1a;
    --bg4: #2d453f;
    --bg5: #000000;
    --bg6: #1a1a1a;
    --bg7: #121212;
    --bg8: #1a1a1a;
    ---box-shadow: 0px 4px 25px rgba(255, 255, 255, 0.05);
}

/* Base resets for dark mode */
[data-theme="dark"] body {
    background-color: #0d0d0d !important;
    color: #e0e0e0 !important;
}

/* Section Title Fixes */
[data-theme="dark"] .section-title h2,
[data-theme="dark"] .section-title h3,
[data-theme="dark"] .section-title h5,
[data-theme="dark"] .section-title h4,
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3, 
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6 {
    color: #ffffff !important;
}

[data-theme="dark"] .section-title h6 {
    color: var(--theme-blue) !important;
}

[data-theme="dark"] p, [data-theme="dark"] span:not(.letters-loading) {
    color: #b0b0b0 !important;
}

/* Header & Sticky Fixes */
[data-theme="dark"] .header-section-3, 
[data-theme="dark"] #header-sticky,
[data-theme="dark"] .header-3 {
    background-color: #0d0d0d !important;
}

[data-theme="dark"] .main-menu ul li a {
    color: #ffffff !important;
}

[data-theme="dark"] .main-menu ul li a:hover {
    color: var(--theme-blue) !important;
}

[data-theme="dark"] .sticky.header-3 .header-button .theme-btn {
    color: #ffffff !important;
    border-color: #ffffff !important;
}

/* Logo Management */
[data-theme="dark"] .header-logo { display: block !important; }
[data-theme="dark"] .header-logo-2 { display: none !important; }
[data-theme="dark"] .sticky .header-logo-2 { display: none !important; }
[data-theme="dark"] .sticky .header-logo { display: block !important; }

/* Yellow Buttons & Elements (CONTRAST FIX) */
[data-theme="dark"] .theme-btn.yellow-btn,
[data-theme="dark"] .yellow-btn,
[data-theme="dark"] .theme-btn.yellow-btn i {
    color: #031F42 !important; /* Keep it dark for contrast */
}

[data-theme="dark"] .theme-btn.yellow-btn:hover {
    color: #ffffff !important;
}

/* Breadcrumb Fix */
[data-theme="dark"] .breadcrumb-items li,
[data-theme="dark"] .breadcrumb-items li a {
    color: #ffffff !important;
}

[data-theme="dark"] .breadcrumb-items li.style-2 {
    color: #e0e0e0 !important;
}

/* Section Backgrounds */
[data-theme="dark"] .section-padding,
[data-theme="dark"] .about-section-3,
[data-theme="dark"] .choose-us-section-3,
[data-theme="dark"] .event-section,
[data-theme="dark"] .global-partners-section,
[data-theme="dark"] .feature-section-3,
[data-theme="dark"] .testimonial-section-3 {
    background-color: #0d0d0d !important;
}

.repub-card {
    padding: 30px 20px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: all 0.3s ease-in-out;
    height: 100%;
    margin-bottom: 24px;
}

.repub-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.repub-card i {
    font-size: 40px;
    margin-bottom: 20px;
    color: #002664;
}

/* Cards & Components */
[data-theme="dark"] .feature-card-items,
[data-theme="dark"] .testimonial-card-items,
[data-theme="dark"] .repub-card,
[data-theme="dark"] .event-card-items .content,
[data-theme="dark"] .event-card-items,
[data-theme="dark"] .team-card-items,
[data-theme="dark"] .single-footer-widget {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
}

[data-theme="dark"] .repub-card p,
[data-theme="dark"] .repub-card h6 {
    color: #ffffff !important;
}

[data-theme="dark"] .repub-card i {
    color: var(--theme-blue) !important;
}

/* Counter sections on RED background (UESTA Red) */
[data-theme="dark"] .counter-items .content h2,
[data-theme="dark"] .counter-items .content p,
[data-theme="dark"] .counter-items .icon i {
    color: #ffffff !important;
}

/* Global Partners section fix */
[data-theme="dark"] .global-partners-section {
    background-color: #0d0d0d !important;
}

/* Footer & Offcanvas */
[data-theme="dark"] .footer-section-3,
[data-theme="dark"] .footer-bottom.style-3 {
    background-color: #050505 !important;
}

[data-theme="dark"] .offcanvas__info {
    background-color: #121212 !important;
    border-right: 1px solid #333;
}

[data-theme="dark"] .offcanvas-title,
[data-theme="dark"] .offcanvas__contact h3 {
    color: #ffffff !important;
}

[data-theme="dark"] .contact-list li,
[data-theme="dark"] .offcanvas__content p {
    color: #b0b0b0 !important;
}

/* Specialized Overrides */
/* Republic Day Banner Styles */
.republic-banner-modern {
    background: linear-gradient(135deg, #002664 0%, #ad0119 100%);
    border-radius: 30px;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
    color: #fff;
    box-shadow: 0 15px 40px rgba(0, 38, 100, 0.2);
}

.republic-banner-modern .banner-watermark {
    position: absolute;
    right: -50px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.1;
    width: 350px;
    pointer-events: none;
}

[data-theme="dark"] .republic-banner-modern {
    background: linear-gradient(135deg, #001a45 0%, #60000a 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

[dir="rtl"] .republic-banner-modern .banner-watermark {
    right: auto;
    left: -50px;
}

[data-theme="dark"] .about-content p,
[data-theme="dark"] .hero-content p {
    color: #e0e0e0 !important;
}

/* Theme Toggle Button */
.theme-toggle-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.3s;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    margin-left: 15px;
    font-size: 18px;
}

.sticky .theme-toggle-btn {
    border-color: #ffffff !important;
    color: #ffffff !important;
}

[data-theme="dark"] .theme-toggle-btn {
    border-color: rgba(255,255,255,0.2) !important;
    color: #ffffff !important;
}

.theme-toggle-btn:hover {
    background: var(--theme-blue);
    color: #fff !important;
    border-color: var(--theme-blue) !important;
}

/* Fix for sub-titles and highlighted text in dark mode */
[data-theme="dark"] .section-title h6,
[data-theme="dark"] .choose-content .section-title h2,
[data-theme="dark"] .choose-content .section-title h6 {
    color: #ffffff !important;
}

[data-theme="dark"] .choose-content .section-title h6::before {
    background-color: #ffffff !important;
}

/* Red sections specific fixes */
[data-theme="dark"] .bg-red .section-title h2,
[data-theme="dark"] .bg-red .section-title h6,
[data-theme="dark"] .bg-red p,
[data-theme="dark"] .bg-red i,
[data-theme="dark"] .theme-red-bg h2,
[data-theme="dark"] .theme-red-bg p,
[data-theme="dark"] .theme-red-bg h6,
[data-theme="dark"] .theme-red-bg i {
    color: #ffffff !important;
}

/* Yellow design elements (accent shapes) */
[data-theme="dark"] .shape-yellow,
[data-theme="dark"] .yellow-shape {
    opacity: 0.6; /* Soften bright yellow shapes */
}

/* Ensure color-red section title h6 remains red in dark mode */
[data-theme="dark"] .section-title.color-red h6 {
    color: #D1003D !important;
}

/* Course details specifically */
[data-theme="dark"] .course-details-box,
[data-theme="dark"] .course-details-box-items,
[data-theme="dark"] .course-sidebar {
    background-color: #1a1a1a !important;
    border-color: #333 !important;
}

/* Form inputs readability */
[data-theme="dark"] input, 
[data-theme="dark"] textarea,
[data-theme="dark"] select {
    background-color: #222 !important;
    color: #fff !important;
    border: 1px solid #444 !important;
}

[data-theme="dark"] input::placeholder {
    color: #888 !important;
}

/* Pricing cards */
[data-theme="dark"] .pricing-card-items {
    background-color: #1a1a1a !important;
    border-color: #333 !important;
}

[data-theme="dark"] .pricing-card-items .price-header h2 {
    color: #ffffff !important;
}

/* Force dark text on SPECIFIC yellow accent buttons if any */
[data-theme="dark"] .theme-btn.yellow-btn {
    color: #031F42 !important;
}

/* --- INDEX.HTML SPECIFIC FIXES --- */

/* Sticky Header Dark Mode Force */
[data-theme="dark"] #header-sticky.sticky,
[data-theme="dark"] .sticky.header-3 {
    background-color: #0d0d0d !important;
    box-shadow: 0px 4px 25px rgba(255, 255, 255, 0.05) !important;
}

[data-theme="dark"] .sticky.header-3 .main-menu ul li a {
    color: #ffffff !important;
}

/* FAQ / Accordion visibility */
[data-theme="dark"] .accordion-item {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
    margin-bottom: 15px !important;
}

[data-theme="dark"] .accordion-button {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

[data-theme="dark"] .accordion-button::after {
    filter: brightness(0) invert(1);
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: #222 !important;
    color: var(--theme-blue) !important;
}

[data-theme="dark"] .accordion-body {
    background-color: #1a1a1a !important;
    color: #b0b0b0 !important;
}

/* Restitution du cadre rouge pour l'étudiant en FAQ */
[data-theme="dark"] .faq-image-2 .bg-shape {
    display: block !important;
    opacity: 1 !important;
    z-index: 0 !important;
}

[data-theme="dark"] .faq-image-2 > img {
    position: relative !important;
    z-index: 1 !important;
}

/* Restitution du cadre rouge pour la section About */
[data-theme="dark"] .about-image .bg-shape {
    display: block !important;
    opacity: 1 !important;
    z-index: 0 !important;
}

[data-theme="dark"] .about-image > img {
    position: relative !important;
    z-index: 1 !important;
}

/* Event Section Background */
[data-theme="dark"] .event-section,
[data-theme="dark"] .quality-coureses-section,
[data-theme="dark"] .brand-section {
    background-color: #0d0d0d !important;
}

[data-theme="dark"] .event-card-items .content {
    background-color: rgba(26, 26, 26, 0.95) !important;
}

/* About counter box overlay */
[data-theme="dark"] .about-image .counter-box {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
}

[data-theme="dark"] .about-image .counter-box h2,
[data-theme="dark"] .about-image .counter-box p {
    color: #ffffff !important;
}

/* Footer widget adjustment */
[data-theme="dark"] .footer-section-3 {
    background-color: #0d0d0d !important;
    border-top: 1px solid #222;
}

[data-theme="dark"] .footer-section-3 .footer-logo img {
    filter: brightness(0) invert(1) !important;
}

[data-theme="dark"] .footer-bottom.style-3 {
    background-color: #050505 !important;
    border-top: 1px solid #1a1a1a;
}

[data-theme="dark"] .footer-content p, 
[data-theme="dark"] .single-footer-widget p {
    color: #b0b0b0 !important;
}

[data-theme="dark"] .single-footer-widget .widget-head h3 {
    color: #ffffff !important;
}

[data-theme="dark"] .single-footer-widget .list-area li a,
[data-theme="dark"] .contact-info li,
[data-theme="dark"] .contact-info li a {
    color: #b0b0b0 !important;
}

[data-theme="dark"] .single-footer-widget .list-area li a:hover,
[data-theme="dark"] .contact-info li a:hover {
    color: var(--theme-blue) !important;
}

[data-theme="dark"] .single-footer-widget {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

[data-theme="dark"] .social-icon a {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
    color: #ffffff !important;
}

[data-theme="dark"] .social-icon a:hover {
    background-color: var(--theme-blue) !important;
    color: #ffffff !important;
}

/* Newsletter section above footer visibility booster */
[data-theme="dark"] .cta-newsletter-content h2,
[data-theme="dark"] .cta-newsletter-content p {
    color: #ffffff !important;
}

[data-theme="dark"] .cta-newsletter-wrapper {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
}

/* Global Brand Logo Background */
[data-theme="dark"] .brand-wrapper {
    background-color: #0d0d0d !important;
}

/* Blog/News cards */
[data-theme="dark"] .news-card-items {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
}

[data-theme="dark"] .news-card-items .content h4 a {
    color: #ffffff !important;
}

/* Agenda UESTA Hover Visibility Fix */
[data-theme="dark"] .event-card-items:hover .content,
[data-theme="dark"] .event-card-items.active .content {
    background-color: rgba(30, 30, 30, 0.98) !important;
}

[data-theme="dark"] .event-card-items:hover .content h4 a,
[data-theme="dark"] .event-card-items.active .content h4 a,
[data-theme="dark"] .event-card-items:hover .date-list li,
[data-theme="dark"] .event-card-items.active .date-list li,
[data-theme="dark"] .event-card-items:hover .post-cat,
[data-theme="dark"] .event-card-items.active .post-cat {
    color: #ffffff !important;
}

/* Specific Accordion Active Title Fix */
[data-theme="dark"] .accordion-button:not(.collapsed) {
    color: #ffffff !important;
    background-color: #222 !important;
}

/* Buttons Contrast Boost */
[data-theme="dark"] .theme-btn:not(.yellow-btn),
[data-theme="dark"] .header-button .theme-btn {
    color: #ffffff !important;
}

[data-theme="dark"] .theme-btn.btn-white {
    background-color: #ffffff !important;
    color: #031F42 !important;
}

[data-theme="dark"] .theme-btn.btn-white:hover {
    background-color: var(--theme-blue) !important;
    color: #ffffff !important;
}

/* Partners / Brand Section Full Dark */
[data-theme="dark"] .brand-section,
[data-theme="dark"] .brand-wrapper,
[data-theme="dark"] .section-bg,
[data-theme="dark"] .global-partner-wrapper {
    background-color: #121212 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 20px;
}

[data-theme="dark"] .global-partner-wrapper .section-title h2,
[data-theme="dark"] .global-partner-wrapper .section-title p,
[data-theme="dark"] .global-partner-wrapper .section-title h6 {
    color: #ffffff !important;
}

[data-theme="dark"] .global-logo img {
    filter: none !important;
    opacity: 1 !important;
}

[data-theme="dark"] .global-logo {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Ensure white text for the CTA section before footer */
[data-theme="dark"] .quality-coureses-content h2,
[data-theme="dark"] .quality-coureses-content p {
    color: #ffffff !important;
}

/* Procedures Inscription Page Fixes - Alternance Design */
[data-theme="dark"] .process-card {
    border-radius: 25px !important;
    transition: all 0.4s ease-in-out;
    padding: 30px !important;
}

/* Cartes n°1 et 3 (Sombres par défaut ou si pas de bg-light) */
[data-theme="dark"] .process-card:not(.bg-light) {
    background-color: #121212 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

[data-theme="dark"] .process-card:not(.bg-light) h5,
[data-theme="dark"] .process-card:not(.bg-light) p {
    color: #ffffff !important;
}

/* Cartes n°2 et 4 (Fonds Blancs forcés) */
[data-theme="dark"] .process-card.bg-light {
    background-color: #ffffff !important;
    border: 1px solid #eee !important;
}

[data-theme="dark"] .process-card.bg-light h5,
[data-theme="dark"] .process-card.bg-light p {
    color: #031F42 !important; /* TEXTE EN NOIR PROFOND POUR VISIBILITÉ */
}

[data-theme="dark"] .process-card .number-badge {
    background-color: var(--theme-blue) !important;
    color: #ffffff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

[data-theme="dark"] .process-card .icon i {
    color: var(--theme-blue) !important;
}

[data-theme="dark"] .process-card.bg-light .icon i {
    color: #031F42 !important; /* Plus sombre sur fond blanc */
}

/* Titre de Séjour Page Fixes */
[data-theme="dark"] .dossier-step .bg-light {
    background-color: #121212 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border-radius: 25px !important;
}

[data-theme="dark"] .dossier-step .list-area li {
    color: #ffffff !important;
}

[data-theme="dark"] .dossier-step .list-area li strong {
    color: #ff4d4d !important; /* ROUGE Premium */
}

[data-theme="dark"] .step-card {
    background-color: #1a1a1a !important;
    border: 1px solid #333 !important;
    border-radius: 25px !important;
}

[data-theme="dark"] .step-card h5,
[data-theme="dark"] .step-card p {
    color: #ffffff !important;
}

[data-theme="dark"] .step-card .number {
    opacity: 0.6 !important;
    color: #ff4d4d !important;
}

[data-theme="dark"] .sidebar-info {
    background-color: #121212 !important;
    border: 1px solid #333 !important;
    border-radius: 25px !important;
    color: #ffffff !important;
}

[data-theme="dark"] .sidebar-info h5,
[data-theme="dark"] .sidebar-info p,
[data-theme="dark"] .sidebar-info span {
    color: #ffffff !important;
}

[data-theme="dark"] .alert-warning {
    background-color: #2c1e00 !important;
    border-color: #664d03 !important;
    color: #ffda6a !important;
}

[data-theme="dark"] .alert-warning h5 {
    color: #ffda6a !important;
}

/* Accents Rouges spécifiques Titre de Séjour */
[data-theme="dark"] .guide-details-section i:not(.text-success),
[data-theme="dark"] .sidebar-info i {
    color: #ff4d4d !important;
}

[data-theme="dark"] .dossier-step .border-primary {
    border-color: #ff4d4d !important;
}

/* Page Journée d'Orientation Fixes */
[data-theme="dark"] .content-box.bg-light,
[data-theme="dark"] .event-info-box.bg-light {
    background-color: #121212 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border-radius: 25px !important;
}

[data-theme="dark"] .event-info-box h5,
[data-theme="dark"] .event-info-box li,
[data-theme="dark"] .event-info-box span,
[data-theme="dark"] .event-info-box div {
    color: #ffffff !important;
}

[data-theme="dark"] .event-info-box i {
    color: var(--theme-blue) !important;
}

/* Bureau Exécutif Page Fixes */
[data-theme="dark"] .org-chart-section.bg-light {
    background-color: #000000 !important;
}

[data-theme="dark"] .org-chart-wrapper .post-node {
    background-color: #121212 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 25px !important;
    padding: 20px !important;
}

[data-theme="dark"] .org-chart-wrapper .post-node h6,
[data-theme="dark"] .org-chart-wrapper .post-node span,
[data-theme="dark"] .org-chart-wrapper .post-node p {
    color: #ffffff !important;
}

[data-theme="dark"] .org-chart-wrapper .post-node .post-content::before {
    background-color: #333 !important; /* Ligne séparatrice */
}

[data-theme="dark"] .regional-card {
    background-color: #121212 !important;
    border-radius: 25px !important;
    border: 1px solid #333 !important;
    color: #ffffff !important;
}

[data-theme="dark"] .documents-required {
    background-color: #0d0d0d !important;
    border: 1px solid #333 !important;
}

/* Independence Day Banner Styles */
.independence-banner-modern {
    background: linear-gradient(135deg, #ad0119 0%, #031f42 100%);
    border-radius: 30px;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
    color: #fff;
    box-shadow: 0 15px 40px rgba(173, 1, 25, 0.2);
}

.independence-banner-modern .banner-watermark {
    position: absolute;
    right: -50px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.1;
    width: 350px;
    pointer-events: none;
}

/* RTL Support for Banner */
[dir="rtl"] .independence-banner-modern {
    text-align: right;
}

[dir="rtl"] .independence-banner-modern .banner-watermark {
    right: auto;
    left: -50px;
}

[dir="rtl"] .independence-banner-modern .text-lg-end {
    text-align: left !important;
}

[data-theme="dark"] .independence-banner-modern {
    background: linear-gradient(135deg, #80000d 0%, #000000 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
}
