/* Anti-flash */
html.sp-light {
}
html.sp-light body {
}

/* ================================================================
   SAVOIRS PLUS — THÈME COMPLET
   Sombre (défaut) | Clair (body.sp-light)
   Charte : Navy #0A192F | Cyan #00BFFF | Gold #FFD700 | Mint #00C896
================================================================ */

/* ── VARIABLES ─────────────────────────────────────────────── */
:root {
    --sp-bg:          #0A192F;
    --sp-bg2:         #0D2137;
    --sp-bg3:         #112240;
    --sp-text:        #FFFFFF;
    --sp-text2:       rgba(255,255,255,0.85);
    --sp-text3:       rgba(255,255,255,0.55);
    --sp-cyan:        #00BFFF;
    --sp-gold:        #FFD700;
    --sp-mint:        #00C896;
    --sp-violet:      #6C63FF;
    --sp-border:      rgba(0,191,255,0.15);
    --sp-shadow:      rgba(0,0,0,0.4);
    --sp-card:        #0D2137;
    --sp-navbar:      rgba(10,25,47,0.97);
    /* card vars */
    --fc-bg:          #0D2137;
    --fc-border:      rgba(0,191,255,0.12);
    --fc-title:       #FFFFFF;
    --fc-desc:        rgba(255,255,255,0.85);
    --fc-prog:        rgba(255,255,255,0.75);
    --fc-meta:        rgba(255,255,255,0.5);
    --ftab-color:     rgba(255,255,255,0.7);
    --ftab-bg:        rgba(255,255,255,0.03);
    --ftab-border:    rgba(0,191,255,0.12);
}

body.sp-light {
    --sp-bg:          #FFFFFF;
    --sp-bg2:         #F5F7FA;
    --sp-bg3:         #EEF2F7;
    --sp-text:        #0A192F;
    --sp-text2:       #1E3A5F;
    --sp-text3:       #4A6080;
    --sp-cyan:        #00BFFF;
    --sp-gold:        #D4A000;
    --sp-mint:        #00A87A;
    --sp-violet:      #6C63FF;
    --sp-border:      rgba(0,25,80,0.12);
    --sp-shadow:      rgba(0,0,0,0.08);
    --sp-card:        #FFFFFF;
    --sp-navbar:      rgba(255,255,255,0.98);
    /* card vars */
    --fc-bg:          #FFFFFF;
    --fc-border:      rgba(0,25,80,0.10);
    --fc-title:       #0A192F;
    --fc-desc:        #1E3A5F;
    --fc-prog:        #4A6080;
    --fc-meta:        #64748b;
    --ftab-color:     #0A192F;
    --ftab-bg:        rgba(0,25,80,0.04);
    --ftab-border:    rgba(0,25,80,0.15);
}

/* ── BASE ───────────────────────────────────────────────────── */
body {
    background: var(--sp-bg) !important;
    color: var(--sp-text) !important;
    transition: background 0.35s ease, color 0.35s ease;
}

/* ── TYPOGRAPHIE GLOBALE ────────────────────────────────────── */
body.sp-light h1,
body.sp-light h2,
body.sp-light h3,
body.sp-light h4,
body.sp-light h5,
body.sp-light h6 { color: #0A192F !important; }

body.sp-light p  { color: #1E3A5F !important; }
body.sp-light li { color: #1E3A5F !important; }
body.sp-light label { color: #1E3A5F !important; }
body.sp-light small { color: #4A6080 !important; }
body.sp-light .text-muted { color: #4A6080 !important; }
body.sp-light .lead { color: #1E3A5F !important; }

/* Titres accent */
body.sp-light .text-accent,
body.sp-light .text-cyan { color: #00BFFF !important; }
body.sp-light .text-gold  { color: #D4A000 !important; }
body.sp-light .text-mint  { color: #00A87A !important; }

/* ── TOPBAR ─────────────────────────────────────────────────── */
body.sp-light .sp-topbar {
    background: #EEF2F7 !important;
    border-bottom: 1px solid rgba(0,25,80,0.10) !important;
}
body.sp-light .sp-topbar .contact-item { color: #0A192F !important; }
body.sp-light .sp-topbar .contact-item:hover { color: #00BFFF !important; }
body.sp-light .sp-topbar .social-link { color: #0A192F !important; border-color: rgba(0,25,80,0.15) !important; }
body.sp-light .sp-topbar .social-link:hover { background: #00BFFF !important; color: #fff !important; }

/* ── NAVBAR ─────────────────────────────────────────────────── */
body.sp-light .sp-navbar {
    background: rgba(255,255,255,0.98) !important;
    border-bottom: 1px solid rgba(0,25,80,0.10) !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.08) !important;
}
body.sp-light .sp-navbar .sp-brand-text .brand-name,
body.sp-light .sp-navbar .sp-brand-text span { color: #0A192F !important; }
body.sp-light .sp-navbar .sp-brand-text .c { color: #00BFFF !important; }
body.sp-light .sp-navbar .sp-brand-text .g { color: #D4A000 !important; }
body.sp-light .sp-navbar .nav-link { color: #0A192F !important; font-weight: 600; }
body.sp-light .sp-navbar .nav-link:hover,
body.sp-light .sp-navbar .nav-link.active { color: #00BFFF !important; }
body.sp-light .sp-navbar .nav-link.active::after { background: #00BFFF !important; }
body.sp-light .sp-navbar .sp-toggler span { background: #0A192F !important; }
body.sp-light .sp-navbar .dropdown-label { color: #0A192F !important; }
body.sp-light .sp-navbar .sp-dropdown-menu {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.10) !important;
}
body.sp-light .sp-navbar .sp-dropdown-menu a,
body.sp-light .sp-navbar .sp-dropdown-menu .dropdown-label { color: #0A192F !important; }
body.sp-light .sp-navbar .sp-dropdown-menu a:hover { background: rgba(0,191,255,0.06) !important; color: #00BFFF !important; }
body.sp-light .sp-navbar .btn-plateforme { background: #00BFFF !important; color: #0A192F !important; }
body.sp-light .sp-navbar .btn-plateforme:hover { background: #6C63FF !important; color: #fff !important; }

/* ── MOBILE MENU ────────────────────────────────────────────── */
body.sp-light .sp-mobile-menu {
    background: #FFFFFF !important;
    border-top: 1px solid rgba(0,25,80,0.10) !important;
}
body.sp-light .sp-mobile-menu .mob-link { color: #0A192F !important; border-bottom-color: rgba(0,25,80,0.08) !important; }
body.sp-light .sp-mobile-menu .mob-link:hover,
body.sp-light .sp-mobile-menu .mob-link.active { color: #00BFFF !important; }
body.sp-light .sp-mobile-menu .mob-submenu { background: #F5F7FA !important; }
body.sp-light .sp-mobile-menu .mob-submenu a { color: #0A192F !important; }
body.sp-light .sp-mobile-menu .mob-submenu a:hover { color: #00BFFF !important; }
body.sp-light .sp-mobile-menu .mob-cta { background: #00BFFF !important; color: #0A192F !important; }

/* ── SECTIONS ───────────────────────────────────────────────── */
body.sp-light section { background: #FFFFFF !important; }
body.sp-light .sp-section { background: #FFFFFF !important; }
body.sp-light .sp-section-light { background: #F5F7FA !important; }
body.sp-light .sp-section-title { color: #0A192F !important; }
body.sp-light .sp-section-title .hl-cyan { color: #00BFFF !important; }
body.sp-light .sp-section-title .hl-gold { color: #D4A000 !important; }
body.sp-light .sp-subtitle { color: #1E3A5F !important; }
body.sp-light .sp-label { color: #00A87A !important; }

/* ── CARDS FORMATIONS ───────────────────────────────────────── */
body.sp-light .sp-fcard,
body.sp-light .sp-formation-card {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}
body.sp-light .sp-fcard:hover,
body.sp-light .sp-formation-card:hover {
    border-color: rgba(0,191,255,0.30) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.10) !important;
}
body.sp-light .sp-fcard .fc-title { color: #0A192F !important; }
body.sp-light .sp-fcard .fc-desc  { color: #1E3A5F !important; }
body.sp-light .sp-fcard .fc-prog li { color: #4A6080 !important; }
body.sp-light .sp-fcard .fc-prog li i { color: #00BFFF !important; }
body.sp-light .sp-fcard .fc-meta,
body.sp-light .sp-fcard .fc-meta span { color: #64748b !important; }
body.sp-light .sp-fcard .fc-meta i { color: #00BFFF !important; }
body.sp-light .sp-fcard .fc-footer { border-top-color: rgba(0,25,80,0.08) !important; }
body.sp-light .sp-fcard .fc-prog   { border-top-color: rgba(0,25,80,0.08) !important; }
body.sp-light .sp-fcard .fc-badge  { background: rgba(0,191,255,0.08) !important; color: #007bb5 !important; border-color: rgba(0,191,255,0.20) !important; }
body.sp-light .sp-fcard .fc-price  { color: #D4A000 !important; }

/* ── CARDS DIPLÔMES ─────────────────────────────────────────── */
body.sp-light .sp-diploma-card {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}
body.sp-light .sp-diploma-card .dc-title  { color: #0A192F !important; }
body.sp-light .sp-diploma-card .dc-desc   { color: #1E3A5F !important; }
body.sp-light .sp-diploma-card .dc-level  { color: #D4A000 !important; }
body.sp-light .sp-diploma-card .dc-modules li { color: #4A6080 !important; }
body.sp-light .sp-diploma-card .dc-modules li i { color: #D4A000 !important; }
body.sp-light .sp-diploma-card .dc-modules { border-top-color: rgba(0,25,80,0.08) !important; }
body.sp-light .sp-diploma-card .dc-footer  { border-top-color: rgba(0,25,80,0.08) !important; }

/* ── FILTRES TABS ───────────────────────────────────────────── */
body.sp-light .sp-filter-bar { background: transparent !important; }
body.sp-light .sp-ftab {
    background: rgba(0,25,80,0.04) !important;
    border-color: rgba(0,25,80,0.15) !important;
    color: #0A192F !important;
}
body.sp-light .sp-ftab:hover,
body.sp-light .sp-ftab.active {
    background: rgba(0,191,255,0.12) !important;
    border-color: rgba(0,191,255,0.35) !important;
    color: #007bb5 !important;
}

/* ── STATS ──────────────────────────────────────────────────── */
body.sp-light .sp-stat {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
body.sp-light .sp-stat .stat-value { color: #00BFFF !important; }
body.sp-light .sp-stat .stat-label { color: #4A6080 !important; }

/* ── CARDS GÉNÉRIQUES ───────────────────────────────────────── */
body.sp-light .sp-card,
body.sp-light .sp-course-card,
body.sp-light .sp-team-card {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
}
body.sp-light .sp-card *,
body.sp-light .sp-course-card *,
body.sp-light .sp-team-card * { color: #1E3A5F !important; }
body.sp-light .sp-card h1,.sp-card h2,.sp-card h3,.sp-card h4,
body.sp-light .sp-course-card .card-title,
body.sp-light .sp-team-card .team-name { color: #0A192F !important; }
body.sp-light .sp-team-card .team-role { color: #00BFFF !important; }

/* ── BOUTONS ────────────────────────────────────────────────── */
body.sp-light .sp-btn-primary,
body.sp-light .btn-accent {
    background: #00BFFF !important;
    color: #0A192F !important;
    border-color: #00BFFF !important;
}
body.sp-light .sp-btn-primary:hover,
body.sp-light .btn-accent:hover {
    background: #6C63FF !important;
    color: #FFFFFF !important;
    border-color: #6C63FF !important;
}
body.sp-light .sp-btn-outline {
    background: transparent !important;
    color: #00BFFF !important;
    border-color: #00BFFF !important;
}
body.sp-light .sp-btn-outline:hover {
    background: #00BFFF !important;
    color: #0A192F !important;
}
body.sp-light .sp-btn-gold {
    background: #D4A000 !important;
    color: #0A192F !important;
}
body.sp-light .sp-btn-gold:hover { background: #6C63FF !important; color: #fff !important; }

/* ── FORMULAIRES ────────────────────────────────────────────── */
body.sp-light input,
body.sp-light select,
body.sp-light textarea {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.20) !important;
    color: #0A192F !important;
}
body.sp-light input:focus,
body.sp-light select:focus,
body.sp-light textarea:focus {
    border-color: #00BFFF !important;
    box-shadow: 0 0 0 3px rgba(0,191,255,0.15) !important;
}
body.sp-light input::placeholder,
body.sp-light textarea::placeholder { color: #94a3b8 !important; }
body.sp-light .sp-form-label { color: #0A192F !important; }
body.sp-light .form-control { background: #FFFFFF !important; color: #0A192F !important; border-color: rgba(0,25,80,0.20) !important; }
body.sp-light .form-control:focus { border-color: #00BFFF !important; }

/* ── HERO / PAGE HEADER ─────────────────────────────────────── */
body.sp-light .hero-home { background: linear-gradient(135deg, rgba(0,27,61,0.92), rgba(0,168,232,0.80)) !important; }
body.sp-light .page-header { background: linear-gradient(135deg, #0A192F, #1E3A5F) !important; }
body.sp-light .page-header h1,
body.sp-light .page-header p,
body.sp-light .page-header .breadcrumb-item,
body.sp-light .page-header .breadcrumb-item a { color: #FFFFFF !important; }

/* ── CONTACT / INFO BOXES ───────────────────────────────────── */
body.sp-light .contact-form,
body.sp-light .info-box {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
}
body.sp-light .contact-form h3,
body.sp-light .info-box h5 { color: #0A192F !important; }
body.sp-light .contact-form label { color: #1E3A5F !important; }
body.sp-light .contact-form .text-muted { color: #4A6080 !important; }

/* ── TÉMOIGNAGES ────────────────────────────────────────────── */
body.sp-light .testimonial-card {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
}
body.sp-light .testimonial-card p { color: #1E3A5F !important; }
body.sp-light .testimonial-card h6 { color: #0A192F !important; }
body.sp-light .testimonial-card .text-muted { color: #4A6080 !important; }

/* ── SERVICES ───────────────────────────────────────────────── */
body.sp-light .service-card { background: #FFFFFF !important; }
body.sp-light .service-card h3 { color: #0A192F !important; }
body.sp-light .service-card p  { color: #1E3A5F !important; }
body.sp-light .service-card li { color: #1E3A5F !important; }

/* ── BLOG ───────────────────────────────────────────────────── */
body.sp-light .sp-blog-card,
body.sp-light .blog-card {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
}
body.sp-light .blog-card h5,
body.sp-light .blog-card h3 { color: #0A192F !important; }
body.sp-light .blog-card p   { color: #1E3A5F !important; }

/* ── EVENTS ─────────────────────────────────────────────────── */
body.sp-light .sp-event-card,
body.sp-light .event-card {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
}
body.sp-light .event-card h5,
body.sp-light .event-card h3 { color: #0A192F !important; }
body.sp-light .event-card p  { color: #1E3A5F !important; }

/* ── FAQ ────────────────────────────────────────────────────── */
body.sp-light .faq-item,
body.sp-light .accordion-item {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.10) !important;
}
body.sp-light .faq-item h5,
body.sp-light .accordion-button { color: #0A192F !important; background: #FFFFFF !important; }
body.sp-light .accordion-body,
body.sp-light .faq-answer { color: #1E3A5F !important; background: #F5F7FA !important; }

/* ── BOUTONS THEME & LANGUE ─────────────────────────────────── */
body.sp-light #sp-theme-btn {
    background: rgba(0,191,255,0.08) !important;
    border-color: rgba(0,191,255,0.25) !important;
    color: #007bb5 !important;
}
body.sp-light #sp-lang-wrapper > button {
    background: rgba(0,191,255,0.08) !important;
    border-color: rgba(0,191,255,0.25) !important;
    color: #007bb5 !important;
}
body.sp-light #sp-lang-menu {
    background: #FFFFFF !important;
    border-color: rgba(0,25,80,0.12) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
}
body.sp-light #sp-lang-menu a { color: #0A192F !important; }
body.sp-light #sp-lang-menu a:hover { background: rgba(0,191,255,0.06) !important; color: #00BFFF !important; }

/* ── FOOTER ─────────────────────────────────────────────────── */
body.sp-light footer,
body.sp-light .sp-footer { background: #0A192F !important; }
body.sp-light footer h1,body.sp-light footer h2,
body.sp-light footer h3,body.sp-light footer h4,
body.sp-light footer .footer-title { color: #FFFFFF !important; }
body.sp-light footer p,
body.sp-light footer li,
body.sp-light footer a:not(.btn) { color: rgba(255,255,255,0.65) !important; }
body.sp-light footer a:hover { color: #00BFFF !important; }
body.sp-light footer .footer-link { color: rgba(255,255,255,0.65) !important; }
body.sp-light footer .footer-link:hover { color: #00BFFF !important; }
body.sp-light footer hr { border-color: rgba(255,255,255,0.10) !important; }
body.sp-light footer .copyright,
body.sp-light footer .copyright * { color: rgba(255,255,255,0.45) !important; }

/* ── OVERRIDE INLINE STYLES HARDCODÉS ──────────────────────── */
/* Fonds sombres → blanc en mode clair */
body.sp-light [style*="background:#0A192F"],
body.sp-light [style*="background: #0A192F"],
body.sp-light [style*="background:#0D2137"],
body.sp-light [style*="background: #0D2137"],
body.sp-light [style*="background:#112240"],
body.sp-light [style*="background: #112240"] {
    background: #FFFFFF !important;
}
/* Textes blancs → bleu nuit en mode clair */
body.sp-light [style*="color:#fff"]:not(footer *):not(.sp-navbar .btn-plateforme),
body.sp-light [style*="color: #fff"]:not(footer *):not(.sp-navbar .btn-plateforme),
body.sp-light [style*="color:white"]:not(footer *),
body.sp-light [style*="color: white"]:not(footer *) { color: #0A192F !important; }
/* Textes rgba blancs → bleu foncé en mode clair */
body.sp-light [style*="color:rgba(255,255,255"]:not(footer *),
body.sp-light [style*="color: rgba(255,255,255"]:not(footer *) { color: #1E3A5F !important; }

/* ── STAT BADGES (index page) ───────────────────────────────── */
body.sp-light .stat-badge {
    background: #FFFFFF !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}
body.sp-light .stat-badge h3 { color: #00BFFF !important; }
body.sp-light .stat-badge small { color: #4A6080 !important; }

/* ── ABOUT PAGE ─────────────────────────────────────────────── */
body.sp-light .about-section,
body.sp-light .about-section * { background: transparent; }
body.sp-light .about-section h2,
body.sp-light .about-section h6 { color: #0A192F !important; }
body.sp-light .about-section p  { color: #1E3A5F !important; }
body.sp-light .about-section li { color: #1E3A5F !important; }
body.sp-light .experience-badge { background: #00BFFF !important; color: #0A192F !important; }

/* ── BREADCRUMB ─────────────────────────────────────────────── */
body.sp-light .breadcrumb { background: transparent !important; }
body.sp-light .breadcrumb-item a { color: #00BFFF !important; }
body.sp-light .breadcrumb-item.active { color: rgba(255,255,255,0.65) !important; }
body.sp-light .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.4) !important; }

/* ── SÉPARATEURS ────────────────────────────────────────────── */
body.sp-light hr { border-color: rgba(0,25,80,0.10) !important; }
