/* ============================================================
   assets/css/style.css — Styles globaux
   Site type Malibaara — Mali Job Board
   Palette : Bleu #0A2463 | Orange #E84855 | Blanc #FAFAFA | Gris #6B7280
   ============================================================ */

/* ============================================================
   assets/css/style.css — Styles globaux
   Site type Malibaara — Mali Job Board
   Palette : Noir + Orange + Blanc — 3 thèmes switchables
   ============================================================ */

/* ---- THÈME ALIBABA (orange #FF6A00 + noir — couleurs officielles de la marque) ---- */
:root,
[data-theme="alibaba"] {
    --primary:      #FF6A00;
    --primary-light:#FF8F40;
    --accent:       #E65100;
    --accent-light: #FF8A3D;
    --orange:       #FF6A00;
    --success:      #00A854;
    --warning:      #FAAD14;
    --text:         #1A1A1A;
    --text-muted:   #666666;
    --border:       rgba(0,0,0,.12);
    --bg:           #F5F5F5;
    --white:        #FFFFFF;
    --hero-bg:      linear-gradient(135deg,#1A1A1A 0%,#FF6A00 65%,#FF8F40 100%);
    --hero-text:    #FFFFFF;
    --hero-glow:    rgba(0,0,0,.12);
    --navbar-bg:    #1A1A1A;
    --footer-bg:    #000000;
    --radius:       10px;
    --shadow:       0 2px 12px rgba(255,106,0,.15);
    --shadow-lg:    0 8px 32px rgba(255,106,0,.25);
    --transition:   all .2s ease;
}


/* ── ALIBABA : body & navbar ── */
[data-theme="alibaba"] body {
    background: #F5F5F5;
    color: #333333;
}

[data-theme="alibaba"] body *,
[data-theme="alibaba"] p,
[data-theme="alibaba"] h1,
[data-theme="alibaba"] h2,
[data-theme="alibaba"] h3,
[data-theme="alibaba"] h4,
[data-theme="alibaba"] h5,
[data-theme="alibaba"] h6,
[data-theme="alibaba"] span,
[data-theme="alibaba"] label,
[data-theme="alibaba"] li {
    color: #333333;
}
[data-theme="alibaba"] .text-muted { color: #666666 !important; }
[data-theme="alibaba"] a { color: #FF6A00; }
[data-theme="alibaba"] a:hover { color: #E65100; }

[data-theme="alibaba"] .navbar-main {
    background: #1A1A1A !important;
    border-bottom: none !important;
}
[data-theme="alibaba"] .navbar-main .navbar-brand,
[data-theme="alibaba"] .navbar-main .nav-link {
    color: #FFFFFF !important;
}
[data-theme="alibaba"] .navbar-main .nav-link:hover {
    color: #FF6A00 !important;
}
[data-theme="alibaba"] .navbar-main .navbar-toggler-icon {
    filter: invert(1);
}

[data-theme="alibaba"] .btn-primary {
    background: #FF6A00 !important;
    border-color: #FF6A00 !important;
    color: #FFFFFF !important;
}
[data-theme="alibaba"] .btn-primary:hover {
    background: #E65100 !important;
    border-color: #E65100 !important;
}
[data-theme="alibaba"] .btn-outline-primary {
    color: #FF6A00 !important;
    border-color: #FF6A00 !important;
}
[data-theme="alibaba"] .btn-outline-primary:hover {
    background: #FF6A00 !important;
    color: #fff !important;
}

[data-theme="alibaba"] .card,
[data-theme="alibaba"] .card * {
    color: #333333;
}
[data-theme="alibaba"] .card .text-muted {
    color: #666666 !important;
}

[data-theme="alibaba"] footer {
    background: #000000 !important;
    color: #fff !important;
}
[data-theme="alibaba"] .footer-main h6,
[data-theme="alibaba"] .footer-main p,
[data-theme="alibaba"] .footer-main a {
    color: rgba(255,255,255,.85) !important;
}

/* Hero alibaba : texte blanc sur rouge */
[data-theme="alibaba"] .hero-section h1,
[data-theme="alibaba"] .hero-section h2,
[data-theme="alibaba"] .hero-section p,
[data-theme="alibaba"] .hero-section .lead,
[data-theme="alibaba"] .hero-section span,
[data-theme="alibaba"] .hero-section label,
[data-theme="alibaba"] .hero-section small {
    color: #FFFFFF !important;
}

/* ---- THÈME GRIS CLAIR ---- */
[data-theme="blanc"] {
    --primary:      #6B7280;
    --primary-light:#9CA3AF;
    --accent:       #E65100;
    --accent-light: #FF6D00;
    --orange:       #FF9800;
    --success:      #2E7D32;
    --warning:      #F57F17;
    --text:         #1F2937;
    --text-muted:   #6B7280;
    --border:       rgba(0,0,0,.12);
    --bg:           #F3F4F6;
    --white:        #FFFFFF;
    --hero-bg:      linear-gradient(135deg,#6B7280 0%,#9CA3AF 50%,#6B7280 100%);
    --hero-text:    #FFFFFF;
    --hero-glow:    rgba(0,0,0,.08);
    --navbar-bg:    #4B5563;
    --footer-bg:    #1F2937;
    --radius:       10px;
    --shadow:       0 2px 12px rgba(107,114,128,.2);
    --shadow-lg:    0 8px 32px rgba(107,114,128,.3);
    --transition:   all .2s ease;
}

/* ---- THÈME ORANGE (futuriste) ---- */
[data-theme="orange"] {
    --primary:      #FF6D00;
    --primary-light:#FF8F00;
    --accent:       #BF360C;   /* Rouge foncé pour éviter orange sur orange */
    --accent-light: #E64A19;
    --orange:       #FF9800;
    --success:      #2E7D32;
    --warning:      #F57F17;
    --text:         #1A0A00;   /* Noir chaud — lisible sur orange */
    --text-muted:   #4E2000;
    --border:       rgba(0,0,0,.15);
    --bg:           #FFF3E0;   /* Fond crème-orange doux pour les pages */
    --white:        #FFFFFF;
    --hero-bg:      linear-gradient(135deg,#FF6D00 0%,#FF9800 50%,#FF6D00 100%);
    --hero-text:    #FFFFFF;
    --hero-glow:    rgba(0,0,0,.1);
    --navbar-bg:    #FF6D00;
    --footer-bg:    #BF360C;
    --radius:       10px;
    --shadow:       0 2px 12px rgba(255,109,0,.2);
    --shadow-lg:    0 8px 32px rgba(255,109,0,.3);
    --transition:   all .2s ease;
}

/* Adaptations thème orange : textes navbar blancs */
[data-theme="orange"] .navbar-main {
    background: var(--navbar-bg) !important;
    border-bottom-color: rgba(0,0,0,.1) !important;
}
[data-theme="orange"] .navbar-main .navbar-brand,
[data-theme="orange"] .navbar-main .nav-link {
    color: #FFFFFF !important;
}
[data-theme="orange"] .navbar-main .nav-link:hover {
    color: #1A0A00 !important;
}
[data-theme="orange"] .navbar-main .navbar-brand .accent-dot {
    color: #BF360C !important;
}
[data-theme="orange"] .navbar-main .navbar-toggler-icon {
    filter: invert(1);
}

/* Adaptations thème gris : navbar */
[data-theme="blanc"] .navbar-main {
    background: var(--navbar-bg) !important;
    border-bottom-color: rgba(0,0,0,.08) !important;
    box-shadow: 0 2px 12px rgba(75,85,99,.3) !important;
}
[data-theme="blanc"] .navbar-main .navbar-brand,
[data-theme="blanc"] .navbar-main .nav-link {
    color: #FFFFFF !important;
}
[data-theme="blanc"] .navbar-main .nav-link:hover {
    color: #FF9800 !important;
}
[data-theme="blanc"] .navbar-main .navbar-brand .accent-dot {
    color: #FF9800 !important;
}
[data-theme="blanc"] .btn-primary {
    background: #E65100 !important;
    border-color: #E65100 !important;
    color: #FFFFFF !important;
}
[data-theme="blanc"] .btn-primary:hover {
    background: #FF6D00 !important;
    border-color: #FF6D00 !important;
}
[data-theme="blanc"] .btn-outline-primary {
    color: #E65100 !important;
    border-color: #E65100 !important;
}
[data-theme="blanc"] .btn-outline-primary:hover {
    background: #E65100 !important;
    color: #fff !important;
}

/* Hero adapté aux thèmes */
.hero-section {
    background: var(--hero-bg) !important;
}
/* Tous les textes dans le hero utilisent --hero-text */
.hero-section h1,
.hero-section h2,
.hero-section p,
.hero-section .lead,
.hero-section span,
.hero-section label,
.hero-section small {
    color: var(--hero-text) !important;
}
/* Liens rapides "Populaire" dans le hero */
.hero-section a.badge {
    background: rgba(255,255,255,.15) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    backdrop-filter: blur(4px);
}
[data-theme="alibaba"] .hero-section a.badge {
    background: rgba(255,255,255,.15) !important;
    color: #FFFFFF !important;
}
/* Stats hero */
.hero-section .hero-stats .stat-item,
.hero-section .hero-stats strong,
.hero-section .hero-stats .counter {
    color: var(--hero-text) !important;
}
/* Barre de recherche — fond toujours blanc */
.hero-section .search-bar {
    background: #fff !important;
    color: #1F2937 !important;
}
.hero-section .search-bar input,
.hero-section .search-bar select {
    color: #1F2937 !important;
}

/* ---- TEXTES SECTIONS (hors hero) ---- */
/* Forcer les titres h1-h6 et textes à utiliser --text quel que soit le thème */
[data-theme="orange"] h1,
[data-theme="orange"] h2,
[data-theme="orange"] h3,
[data-theme="orange"] h4,
[data-theme="orange"] h5,
[data-theme="orange"] h6,
[data-theme="orange"] p,
[data-theme="orange"] .fw-bold,
[data-theme="orange"] .fw-semibold,
[data-theme="orange"] span,
[data-theme="orange"] label,
[data-theme="orange"] li,
[data-theme="orange"] td,
[data-theme="orange"] th,
[data-theme="orange"] small,
[data-theme="orange"] .text-muted {
    color: #1A0A00 !important;
}
/* Fond page orange : fond blanc pour lisibilité */
[data-theme="orange"] body { background: #FFF3E0 !important; }
[data-theme="orange"] .card,
[data-theme="orange"] .card * { color: #1A0A00 !important; }
[data-theme="orange"] .card .text-muted { color: #5D3200 !important; }
[data-theme="blanc"] h1,
[data-theme="blanc"] h2,
[data-theme="blanc"] h3,
[data-theme="blanc"] h4,
[data-theme="blanc"] h5,
[data-theme="blanc"] h6,
[data-theme="blanc"] p,
[data-theme="blanc"] .fw-bold,
[data-theme="blanc"] .fw-semibold,
[data-theme="blanc"] span,
[data-theme="blanc"] label,
[data-theme="blanc"] li,
[data-theme="blanc"] td,
[data-theme="blanc"] th,
[data-theme="blanc"] small,
[data-theme="blanc"] .text-muted {
    color: #1F2937 !important;
}
/* Fond page thème gris */
[data-theme="blanc"] body { background: #F3F4F6 !important; }
[data-theme="blanc"] .card,
[data-theme="blanc"] .card * { color: #1F2937 !important; }
[data-theme="blanc"] .card .text-muted { color: #6B7280 !important; }
/* Exception : textes dans le hero restent --hero-text */
[data-theme="orange"] .hero-section h1,
[data-theme="orange"] .hero-section h2,
[data-theme="orange"] .hero-section p,
[data-theme="blanc"] .hero-section h1,
[data-theme="blanc"] .hero-section h2,
[data-theme="blanc"] .hero-section p {
    color: var(--hero-text) !important;
}
/* Exception : textes dans footer restent blancs */
[data-theme="orange"] .footer-main h6,
[data-theme="orange"] .footer-main p,
[data-theme="orange"] .footer-main a,
[data-theme="blanc"] .footer-main h6,
[data-theme="blanc"] .footer-main p,
[data-theme="blanc"] .footer-main a {
    color: rgba(255,255,255,.85) !important;
}
/* Exception : badges et boutons gardent leur couleur propre */
[data-theme="orange"] .badge,
[data-theme="blanc"] .badge {
    color: initial !important;
}
[data-theme="orange"] .btn-primary {
    background: #BF360C !important;
    border-color: #BF360C !important;
    color: #FFFFFF !important;
}
[data-theme="orange"] .btn-primary:hover {
    background: #E64A19 !important;
    border-color: #E64A19 !important;
}
[data-theme="orange"] .btn-outline-primary {
    color: #BF360C !important;
    border-color: #BF360C !important;
}
[data-theme="orange"] .btn-outline-primary:hover {
    background: #BF360C !important;
    color: #fff !important;
}

/* ---- SÉLECTEUR DE THÈME ---- */
.theme-switcher {
    position: fixed;
    bottom: 80px;
    right: 20px;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}
.theme-switcher-label {
    writing-mode: vertical-rl;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--text-muted);
    margin-bottom: 4px;
}
.theme-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid transparent;
    cursor: pointer;
    transition: all .2s;
    box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
.theme-btn:hover { transform: scale(1.15); }
.theme-btn.active { border-color: var(--accent); transform: scale(1.1); }
.theme-btn[data-theme="alibaba"] { background: linear-gradient(135deg,#1A1A1A,#FF6A00); box-shadow: 0 0 10px rgba(255,106,0,.4); }
.theme-btn[data-theme="blanc"]  { display: none !important; }
.theme-btn[data-theme="orange"] { background: linear-gradient(135deg,#FF6D00,#FF9800); }

/* ---- RESET & BASE ---- */
*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Montserrat', 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: var(--text);
    background: var(--bg);
    line-height: 1.6;
    font-size: 15px;
}

h1, h2, h3, h4, h5, h6, .navbar-brand {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--primary-light); }

img { max-width: 100%; }

/* ---- NAVBAR ---- */
.navbar-main {
    background: var(--white);
    border-bottom: 1px solid var(--border);
    padding: 8px 0;
    position: sticky;
    top: 0;
    z-index: 1030;
    box-shadow: 0 1px 8px rgba(0,0,0,.06);
}

.navbar-main .navbar-brand {
    font-size: 22px;
    font-weight: 800;
    color: var(--text);
    letter-spacing: -.5px;
    font-family: 'Montserrat', sans-serif;
}

.navbar-main .navbar-brand .accent-dot {
    color: var(--accent);
}

.navbar-main .nav-link {
    color: var(--text) !important;
    font-weight: 500;
    padding: 1.2rem .9rem !important;
    font-size: 14px;
    transition: var(--transition);
    border-bottom: 3px solid transparent;
}

.navbar-main .nav-link:hover,
.navbar-main .nav-link.active {
    color: var(--primary) !important;
    border-bottom-color: var(--accent);
}

/* ---- HERO ---- */
.hero-section {
    background: var(--hero-bg);
    padding: 80px 0 60px;
    position: relative;
    overflow: hidden;
    border-bottom: none;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 500px;
    height: 500px;
    background: rgba(255,255,255,.07);
    border-radius: 50%;
    pointer-events: none;
}

.hero-section::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -5%;
    width: 350px;
    height: 350px;
    background: rgba(255,87,34,.12);
    border-radius: 50%;
    pointer-events: none;
}

.hero-section h1 {
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 800;
    line-height: 1.2;
    color: #FFFFFF;
}

.hero-section p.lead {
    color: rgba(255,255,255,.85);
    font-size: 17px;
}

/* Barre recherche hero */
.search-bar {
    background: var(--white);
    border-radius: 50px;
    padding: 6px 6px 6px 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-lg);
    max-width: 700px;
}

.search-bar input {
    border: none;
    outline: none;
    flex: 1;
    font-size: 15px;
    background: transparent;
    color: var(--text);
}

.search-bar input::placeholder { color: var(--text-muted); }

.search-bar .divider {
    width: 1px;
    height: 28px;
    background: var(--border);
}

.search-bar .btn-search {
    background: var(--accent);
    color: var(--white);
    border: none;
    border-radius: 40px;
    padding: 10px 28px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: var(--transition);
    white-space: nowrap;
}

.search-bar .btn-search:hover { background: var(--accent-light); }

/* Stats hero */
.hero-stats {
    display: flex;
    gap: 32px;
    margin-top: 32px;
    flex-wrap: wrap;
}

.hero-stats .stat-item {
    color: rgba(255,255,255,.85);
    font-size: 13px;
}

.hero-stats .stat-item strong {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1.1;
}

/* ---- BOUTONS ---- */
.btn-primary {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #FFFFFF !important;
    font-weight: 600;
    border-radius: 50px !important;
    padding: 10px 24px;
    transition: var(--transition);
}
.btn-primary:hover {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-lg);
}

.btn-outline-primary {
    color: var(--primary) !important;
    border-color: var(--primary) !important;
    border-radius: 50px !important;
}
.btn-outline-primary:hover {
    background: var(--primary) !important;
    color: #fff !important;
}

.btn-accent {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--white);
    font-weight: 500;
}
.btn-accent:hover { background: var(--accent-light); border-color: var(--accent-light); color: var(--white); }

/* Bootstrap bg/text primary override */
.bg-primary { background-color: var(--primary) !important; }
.text-primary { color: var(--primary) !important; }
.badge.bg-primary { background-color: var(--accent) !important; }

/* ---- CARDS OFFRES ---- */
.offre-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px 24px;
    transition: var(--transition);
    cursor: pointer;
    display: block;
    color: var(--text);
}

.offre-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
    color: var(--text);
}

.offre-card.featured {
    border-left: 4px solid var(--accent);
    background: linear-gradient(to right, #fff8f8, var(--white));
}

.offre-card .entreprise-logo {
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid var(--border);
    padding: 4px;
}

.offre-card .offre-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 4px;
    line-height: 1.3;
}

.offre-card .offre-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    color: var(--text-muted);
    margin: 8px 0;
}

.offre-card .offre-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.offre-card .badge-contrat {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: .3px;
    text-transform: uppercase;
}

.badge-cdi      { background: #DBEAFE; color: #1D4ED8; }
.badge-cdd      { background: #FEF3C7; color: #92400E; }
.badge-stage    { background: #D1FAE5; color: #065F46; }
.badge-freelance{ background: #EDE9FE; color: #5B21B6; }
.badge-interim  { background: #FEE2E2; color: #991B1B; }

/* ---- FILTRES SIDEBAR ---- */
.filtres-sidebar {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px;
}

.filtres-sidebar h6 {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--text-muted);
    margin-bottom: 12px;
    margin-top: 16px;
}

.filtres-sidebar h6:first-child { margin-top: 0; }

.filtres-sidebar .form-check-label {
    font-size: 14px;
    cursor: pointer;
}

.filtres-sidebar .form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}

/* ---- CATÉGORIES ---- */
.cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 16px;
}

.cat-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px 16px;
    text-align: center;
    transition: var(--transition);
    cursor: pointer;
    color: var(--text);
    display: block;
}

.cat-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow);
    color: var(--primary);
    transform: translateY(-2px);
}

.cat-card .cat-icon {
    font-size: 28px;
    margin-bottom: 8px;
    display: block;
}

.cat-card .cat-name {
    font-size: 13px;
    font-weight: 600;
}

.cat-card .cat-count {
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 2px;
}

/* ---- BADGES STATUT ---- */
.badge-actif    { background: #D1FAE5; color: #065F46; }
.badge-attente  { background: #FEF3C7; color: #92400E; }
.badge-expire   { background: #F3F4F6; color: #6B7280; }
.badge-rejete   { background: #FEE2E2; color: #991B1B; }

/* ---- PAGINATION ---- */
.pagination .page-link {
    color: var(--primary);
    border-color: var(--border);
    font-size: 14px;
}

.pagination .page-item.active .page-link {
    background: var(--primary);
    border-color: var(--primary);
}

.pagination .page-link:hover {
    background: var(--bg);
    color: var(--primary);
}

/* ---- ALERTES / FLASH ---- */
.alert {
    border-radius: var(--radius);
    border: none;
    font-size: 14px;
}

/* ---- FOOTER ---- */
.footer-main {
    background: #1E1B4B;
    color: rgba(255,255,255,.8);
    padding: 48px 0 24px;
    margin-top: 60px;
}

.footer-main h6 {
    color: var(--white);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .8px;
    margin-bottom: 16px;
}

.footer-main a {
    color: rgba(255,255,255,.7);
    font-size: 14px;
    display: block;
    margin-bottom: 6px;
    transition: var(--transition);
}

.footer-main a:hover { color: var(--white); padding-left: 4px; }

.footer-main .footer-bottom {
    border-top: 1px solid rgba(255,255,255,.15);
    margin-top: 32px;
    padding-top: 20px;
    font-size: 13px;
    color: rgba(255,255,255,.5);
}

/* ---- UTILITAIRES ---- */
.text-accent    { color: var(--accent) !important; }
.text-primary   { color: var(--primary) !important; }
.bg-primary-light { background: rgba(255,106,0,.08); }
.rounded-xl     { border-radius: 16px; }
.shadow-card    { box-shadow: var(--shadow); }
.shadow-card-lg { box-shadow: var(--shadow-lg); }

/* Divider avec texte */
.divider-text {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--text-muted);
    font-size: 13px;
}
.divider-text::before,
.divider-text::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border);
}

/* Breadcrumb */
.breadcrumb { font-size: 13px; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--text-muted); }

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
    .hero-section { padding: 48px 0 40px; }
    .search-bar {
        flex-direction: column;
        border-radius: var(--radius);
        padding: 12px;
        gap: 10px;
    }
    .search-bar input { width: 100%; }
    .search-bar .divider { display: none; }
    .search-bar .btn-search { width: 100%; text-align: center; }
    .hero-stats { gap: 20px; }
    .cat-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 576px) {
    .offre-card { padding: 16px; }
    .hero-section h1 { font-size: 26px; }
}


/* ============================================================
   ALIBABA PREMIUM — Effets visuels cohérents (orange + noir)
   ============================================================ */

/* Cards : glow orange au survol (identité Alibaba) */
[data-theme="alibaba"] .offre-card:hover {
    border-color: var(--primary) !important;
    box-shadow: 0 8px 28px rgba(255,106,0,.22), inset 0 1px 0 rgba(255,255,255,.4) !important;
}

/* Section alternée : léger fond gris comme sur alibaba.com */
[data-theme="alibaba"] section:nth-child(even) {
    background: #F5F5F5;
}

/* Scrollbar orange */
::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 3px;
}
::-webkit-scrollbar-track { background: #EFEFEF; }

/* Sélection de texte */
::selection {
    background: rgba(255,106,0,.25);
    color: #1A1A1A;
}

/* Inputs focus : glow orange */
[data-theme="alibaba"] .form-control:focus,
[data-theme="alibaba"] .form-select:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(255,106,0,.18) !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---- SECTIONS THÉMÉES (remplace bg-white / background:#f5f7fb hardcodés) ---- */
.section-themed {
    background: var(--white);
    color: var(--text);
}
.section-alt {
    background: var(--bg);
    color: var(--text);
}

/* Thème noir : sections blanches deviennent bleu nuit */
[data-theme="alibaba"] .section-themed {
    background: #111827;
}
[data-theme="alibaba"] .section-alt {
    background: #0E1220;
}

/* Titres et textes dans sections thémées */
[data-theme="alibaba"] .section-themed h2,
[data-theme="alibaba"] .section-themed h3,
[data-theme="alibaba"] .section-themed p,
[data-theme="alibaba"] .section-alt h2,
[data-theme="alibaba"] .section-alt h3,
[data-theme="alibaba"] .section-alt p {
    color: var(--text);
}


/* ============================================================
   CORRECTIF LISIBILITÉ THÈMES CLAIRS (alibaba / blanc / orange)
   Principe : fond clair → texte foncé. Fond foncé → texte clair.
   ============================================================ */

/* ---- CORPS DE PAGE ---- */
[data-theme="alibaba"] body,
[data-theme="blanc"] body,
[data-theme="orange"] body {
    background: var(--bg) !important;
    color: var(--text) !important;
}

/* ---- TOUS LES TEXTES DE BASE ---- */
[data-theme="alibaba"] h1, [data-theme="alibaba"] h2, [data-theme="alibaba"] h3,
[data-theme="blanc"] h1, [data-theme="blanc"] h2, [data-theme="blanc"] h3,
[data-theme="alibaba"] h4, [data-theme="alibaba"] h5, [data-theme="alibaba"] h6,
[data-theme="blanc"] h4, [data-theme="blanc"] h5, [data-theme="blanc"] h6,
[data-theme="alibaba"] p, [data-theme="alibaba"] span:not(.badge):not(.theme-btn),
[data-theme="blanc"] p, [data-theme="blanc"] span:not(.badge):not(.theme-btn),
[data-theme="alibaba"] label, [data-theme="alibaba"] li, [data-theme="alibaba"] td,
[data-theme="blanc"] label, [data-theme="blanc"] li, [data-theme="blanc"] td,
[data-theme="alibaba"] th, [data-theme="alibaba"] small, [data-theme="alibaba"] div,
[data-theme="blanc"] th, [data-theme="blanc"] small, [data-theme="blanc"] div,
[data-theme="orange"] h1, [data-theme="orange"] h2, [data-theme="orange"] h3,
[data-theme="orange"] h4, [data-theme="orange"] h5, [data-theme="orange"] h6,
[data-theme="orange"] p, [data-theme="orange"] span:not(.badge):not(.theme-btn),
[data-theme="orange"] label, [data-theme="orange"] li, [data-theme="orange"] td,
[data-theme="orange"] th, [data-theme="orange"] small, [data-theme="orange"] div {
    color: var(--text);
}

/* ---- TEXTES ATTÉNUÉS ---- */
[data-theme="alibaba"] .text-muted,
[data-theme="blanc"] .text-muted,
[data-theme="orange"] .text-muted {
    color: var(--text-muted) !important;
}

/* ---- LIENS ---- */
[data-theme="alibaba"] a:not(.btn):not(.nav-link):not(.badge),
[data-theme="blanc"] a:not(.btn):not(.nav-link):not(.badge),
[data-theme="orange"] a:not(.btn):not(.nav-link):not(.badge) {
    color: var(--accent) !important;
}
[data-theme="alibaba"] a:not(.btn):not(.nav-link):not(.badge):hover,
[data-theme="blanc"] a:not(.btn):not(.nav-link):not(.badge):hover,
[data-theme="orange"] a:not(.btn):not(.nav-link):not(.badge):hover {
    color: var(--accent-light) !important;
}

/* ---- CARDS ---- */
[data-theme="alibaba"] .card,
[data-theme="blanc"] .card,
[data-theme="orange"] .card {
    background: #FFFFFF !important;
    border-color: rgba(0,0,0,.1) !important;
    color: var(--text) !important;
}
[data-theme="alibaba"] .card *,
[data-theme="blanc"] .card *,
[data-theme="orange"] .card * {
    color: var(--text);
}
/* En-tête de card */
[data-theme="alibaba"] .card-header,
[data-theme="blanc"] .card-header,
[data-theme="orange"] .card-header {
    background: #f8f8f8 !important;
    color: var(--text) !important;
    border-bottom-color: rgba(0,0,0,.08) !important;
}
[data-theme="alibaba"] .card-header *,
[data-theme="blanc"] .card-header *,
[data-theme="orange"] .card-header * {
    color: var(--text) !important;
}

/* ---- OFFRE CARDS ---- */
[data-theme="alibaba"] .offre-card,
[data-theme="blanc"] .offre-card,
[data-theme="orange"] .offre-card {
    background: #FFFFFF !important;
    color: var(--text) !important;
}
[data-theme="alibaba"] .offre-card .offre-title,
[data-theme="blanc"] .offre-card .offre-title,
[data-theme="orange"] .offre-card .offre-title {
    color: var(--text) !important;
}
[data-theme="alibaba"] .offre-card .offre-meta,
[data-theme="blanc"] .offre-card .offre-meta,
[data-theme="orange"] .offre-card .offre-meta {
    color: var(--text-muted) !important;
}

/* ---- OFFRE LIST CARDS ---- */
[data-theme="alibaba"] .offre-list-card,
[data-theme="blanc"] .offre-list-card,
[data-theme="orange"] .offre-list-card {
    background: #FFFFFF !important;
    color: var(--text) !important;
}
[data-theme="alibaba"] .offre-list-card .offre-title,
[data-theme="blanc"] .offre-list-card .offre-title,
[data-theme="orange"] .offre-list-card .offre-title {
    color: var(--text) !important;
}

/* ---- CATÉGORIES ---- */
[data-theme="alibaba"] .cat-card,
[data-theme="blanc"] .cat-card,
[data-theme="orange"] .cat-card {
    background: #FFFFFF !important;
    color: var(--text) !important;
}
[data-theme="alibaba"] .cat-card .cat-name,
[data-theme="blanc"] .cat-card .cat-name,
[data-theme="orange"] .cat-card .cat-name {
    color: var(--text) !important;
}
[data-theme="alibaba"] .cat-card .cat-count,
[data-theme="blanc"] .cat-card .cat-count,
[data-theme="orange"] .cat-card .cat-count {
    color: var(--text-muted) !important;
}

/* ---- FORMULAIRES ---- */
[data-theme="alibaba"] .form-control,
[data-theme="blanc"] .form-control,
[data-theme="alibaba"] .form-select,
[data-theme="blanc"] .form-select,
[data-theme="orange"] .form-control,
[data-theme="orange"] .form-select {
    background: #FFFFFF !important;
    color: #1A1A1A !important;
    border-color: rgba(0,0,0,.2) !important;
}
[data-theme="alibaba"] .form-control::placeholder,
[data-theme="blanc"] .form-control::placeholder,
[data-theme="orange"] .form-control::placeholder {
    color: rgba(0,0,0,.4) !important;
}
[data-theme="alibaba"] .form-control:focus,
[data-theme="blanc"] .form-control:focus,
[data-theme="alibaba"] .form-select:focus,
[data-theme="blanc"] .form-select:focus,
[data-theme="orange"] .form-control:focus,
[data-theme="orange"] .form-select:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px rgba(0,0,0,.08) !important;
    color: #1A1A1A !important;
}
[data-theme="alibaba"] .form-label,
[data-theme="blanc"] .form-label,
[data-theme="orange"] .form-label {
    color: var(--text) !important;
    font-weight: 500;
}

/* ---- TABLES ---- */
[data-theme="alibaba"] .table,
[data-theme="blanc"] .table,
[data-theme="orange"] .table {
    color: var(--text) !important;
}
[data-theme="alibaba"] .table th,
[data-theme="blanc"] .table th,
[data-theme="orange"] .table th {
    color: var(--text-muted) !important;
    background: #f5f5f5 !important;
}
[data-theme="alibaba"] .table td,
[data-theme="blanc"] .table td,
[data-theme="orange"] .table td {
    color: var(--text) !important;
    border-color: rgba(0,0,0,.08) !important;
}
[data-theme="alibaba"] .table-light,
[data-theme="blanc"] .table-light,
[data-theme="orange"] .table-light {
    background: #f5f5f5 !important;
}
[data-theme="alibaba"] .table-hover tbody tr:hover,
[data-theme="blanc"] .table-hover tbody tr:hover,
[data-theme="orange"] .table-hover tbody tr:hover {
    background: rgba(0,0,0,.03) !important;
}

/* ---- SECTIONS ALTERNÉES ---- */
[data-theme="alibaba"] section,
[data-theme="blanc"] section,
[data-theme="orange"] section {
    background: var(--bg);
    color: var(--text);
}
[data-theme="alibaba"] section:nth-child(even),
[data-theme="blanc"] section:nth-child(even),
[data-theme="orange"] section:nth-child(even) {
    background: rgba(0,0,0,.025);
}

/* ---- BARRE RECHERCHE ---- */
[data-theme="alibaba"] .search-bar,
[data-theme="blanc"] .search-bar,
[data-theme="orange"] .search-bar {
    background: #FFFFFF !important;
}
[data-theme="alibaba"] .search-bar input,
[data-theme="blanc"] .search-bar input,
[data-theme="alibaba"] .search-bar select,
[data-theme="blanc"] .search-bar select,
[data-theme="orange"] .search-bar input,
[data-theme="orange"] .search-bar select {
    color: #1A1A1A !important;
    background: transparent !important;
}

/* ---- FILTRES SIDEBAR ---- */
[data-theme="alibaba"] .filtres-sidebar,
[data-theme="blanc"] .filtres-sidebar,
[data-theme="orange"] .filtres-sidebar {
    background: #FFFFFF !important;
    color: var(--text) !important;
}
[data-theme="alibaba"] .filtres-sidebar h6,
[data-theme="blanc"] .filtres-sidebar h6,
[data-theme="orange"] .filtres-sidebar h6 {
    color: var(--text-muted) !important;
}
[data-theme="alibaba"] .filtres-sidebar .form-check-label,
[data-theme="blanc"] .filtres-sidebar .form-check-label,
[data-theme="orange"] .filtres-sidebar .form-check-label {
    color: var(--text) !important;
}

/* ---- ALERTES / FLASH ---- */
[data-theme="alibaba"] .alert,
[data-theme="blanc"] .alert,
[data-theme="orange"] .alert {
    color: var(--text) !important;
}

/* ---- NAVBAR : textes lisibles ---- */
[data-theme="blanc"] .navbar-main .nav-link,
[data-theme="blanc"] .navbar-main .navbar-brand {
    color: #FFFFFF !important;
}
[data-theme="orange"] .navbar-main .nav-link,
[data-theme="orange"] .navbar-main .navbar-brand {
    color: #FFFFFF !important;
}

/* ---- HERO : textes adaptés ---- */
[data-theme="blanc"] .hero-section,
[data-theme="blanc"] .hero-section h1,
[data-theme="blanc"] .hero-section h2,
[data-theme="blanc"] .hero-section p,
[data-theme="blanc"] .hero-section span,
[data-theme="blanc"] .hero-section .lead,
[data-theme="blanc"] .hero-section .stat-item {
    color: var(--hero-text) !important;
}
[data-theme="orange"] .hero-section,
[data-theme="orange"] .hero-section h1,
[data-theme="orange"] .hero-section h2,
[data-theme="orange"] .hero-section p,
[data-theme="orange"] .hero-section span,
[data-theme="orange"] .hero-section .lead,
[data-theme="orange"] .hero-section .stat-item {
    color: #FFFFFF !important;
}
[data-theme="blanc"] .hero-section .stat-item strong {
    color: var(--hero-text) !important;
}
[data-theme="orange"] .hero-section .stat-item strong {
    color: #FFFFFF !important;
}

/* ---- FOOTER : toujours fond sombre + texte clair ---- */
[data-theme="blanc"] footer,
[data-theme="orange"] footer,
[data-theme="blanc"] .footer-main,
[data-theme="orange"] .footer-main {
    background: var(--footer-bg) !important;
    color: rgba(255,255,255,.85) !important;
}
[data-theme="blanc"] .footer-main h6,
[data-theme="blanc"] .footer-main p,
[data-theme="blanc"] .footer-main a,
[data-theme="blanc"] .footer-main span,
[data-theme="blanc"] .footer-main li,
[data-theme="blanc"] .footer-main div,
[data-theme="orange"] .footer-main h6,
[data-theme="orange"] .footer-main p,
[data-theme="orange"] .footer-main a,
[data-theme="orange"] .footer-main span,
[data-theme="orange"] .footer-main li,
[data-theme="orange"] .footer-main div {
    color: rgba(255,255,255,.85) !important;
}
[data-theme="blanc"] .footer-main a:hover,
[data-theme="orange"] .footer-main a:hover {
    color: #FFFFFF !important;
}

/* ---- PAGINATION ---- */
[data-theme="alibaba"] .pagination .page-link,
[data-theme="blanc"] .pagination .page-link,
[data-theme="orange"] .pagination .page-link {
    color: var(--accent) !important;
    background: #FFFFFF !important;
    border-color: rgba(0,0,0,.1) !important;
}
[data-theme="alibaba"] .pagination .page-item.active .page-link,
[data-theme="blanc"] .pagination .page-item.active .page-link,
[data-theme="orange"] .pagination .page-item.active .page-link {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    color: #FFFFFF !important;
}

/* ---- BADGES STATUT : garder leurs couleurs propres ---- */
[data-theme="alibaba"] .badge-cdi, [data-theme="blanc"] .badge-cdi, [data-theme="orange"] .badge-cdi { background:#DBEAFE!important; color:#1D4ED8!important; }
[data-theme="alibaba"] .badge-cdd, [data-theme="blanc"] .badge-cdd, [data-theme="orange"] .badge-cdd { background:#FEF3C7!important; color:#92400E!important; }
[data-theme="alibaba"] .badge-stage, [data-theme="blanc"] .badge-stage, [data-theme="orange"] .badge-stage { background:#D1FAE5!important; color:#065F46!important; }
[data-theme="alibaba"] .badge-freelance, [data-theme="blanc"] .badge-freelance, [data-theme="orange"] .badge-freelance { background:#EDE9FE!important; color:#5B21B6!important; }
[data-theme="alibaba"] .badge-interim, [data-theme="blanc"] .badge-interim, [data-theme="orange"] .badge-interim { background:#FEE2E2!important; color:#991B1B!important; }
[data-theme="alibaba"] .badge-actif, [data-theme="blanc"] .badge-actif, [data-theme="orange"] .badge-actif { background:#D1FAE5!important; color:#065F46!important; }
[data-theme="alibaba"] .badge-attente, [data-theme="blanc"] .badge-attente, [data-theme="orange"] .badge-attente { background:#FEF3C7!important; color:#92400E!important; }
[data-theme="alibaba"] .badge-expire, [data-theme="blanc"] .badge-expire, [data-theme="orange"] .badge-expire { background:#F3F4F6!important; color:#6B7280!important; }
[data-theme="alibaba"] .badge-rejete, [data-theme="blanc"] .badge-rejete, [data-theme="orange"] .badge-rejete { background:#FEE2E2!important; color:#991B1B!important; }

/* ---- BREADCRUMB ---- */
[data-theme="alibaba"] .breadcrumb-item,
[data-theme="blanc"] .breadcrumb-item,
[data-theme="alibaba"] .breadcrumb-item a,
[data-theme="blanc"] .breadcrumb-item a,
[data-theme="orange"] .breadcrumb-item,
[data-theme="orange"] .breadcrumb-item a {
    color: var(--text-muted) !important;
}
[data-theme="alibaba"] .breadcrumb-item.active,
[data-theme="blanc"] .breadcrumb-item.active,
[data-theme="orange"] .breadcrumb-item.active {
    color: var(--text) !important;
}

/* ---- SECTIONS BG FIXES HARDCODÉES (bg-white, bg-light) ---- */
[data-theme="alibaba"] .bg-white,
[data-theme="blanc"] .bg-white,
[data-theme="orange"] .bg-white {
    background: #FFFFFF !important;
    color: var(--text) !important;
}
[data-theme="alibaba"] .bg-light,
[data-theme="blanc"] .bg-light,
[data-theme="orange"] .bg-light {
    background: rgba(0,0,0,.04) !important;
    color: var(--text) !important;
}

/* ---- DASHBOARD INTERNE (fond f5f7fb) ---- */
[data-theme="alibaba"] [style*="background:#f5f7fb"],
[data-theme="blanc"] [style*="background:#f5f7fb"],
[data-theme="orange"] [style*="background:#f5f7fb"] {
    background: #f5f5f0 !important;
    color: var(--text) !important;
}

/* ---- SÉPARATEUR LISIBILITÉ SWITCHER ---- */
[data-theme="alibaba"] .theme-switcher-label,
[data-theme="blanc"] .theme-switcher-label,
[data-theme="orange"] .theme-switcher-label {
    color: var(--text-muted) !important;
}

/* ============================================================
   CORRECTIF GLOBAL — Sections à fond sombre codées en dur
   (dégradés bleu/orange en style="background:..." : bannière
   "Koka Consulting", blocs "Vous êtes candidat / recruteur ?",
   entête "Entreprises qui recrutent", etc.)
   Le développeur a marqué ces blocs avec .text-white : on
   respecte toujours ce choix, quel que soit le thème actif et
   quelle que soit la taille d'écran, pour éviter le texte
   invisible sur mobile.
   ============================================================ */
[data-theme="alibaba"] .text-white h1, [data-theme="alibaba"] .text-white h2, [data-theme="alibaba"] .text-white h3,
[data-theme="alibaba"] .text-white h4, [data-theme="alibaba"] .text-white h5, [data-theme="alibaba"] .text-white h6,
[data-theme="alibaba"] .text-white p,  [data-theme="alibaba"] .text-white span:not(.badge),
[data-theme="alibaba"] .text-white label, [data-theme="alibaba"] .text-white li,
[data-theme="alibaba"] .text-white small, [data-theme="alibaba"] .text-white div:not(.badge),
[data-theme="blanc"] .text-white h1, [data-theme="blanc"] .text-white h2, [data-theme="blanc"] .text-white h3,
[data-theme="blanc"] .text-white h4, [data-theme="blanc"] .text-white h5, [data-theme="blanc"] .text-white h6,
[data-theme="blanc"] .text-white p,  [data-theme="blanc"] .text-white span:not(.badge),
[data-theme="blanc"] .text-white label, [data-theme="blanc"] .text-white li,
[data-theme="blanc"] .text-white small, [data-theme="blanc"] .text-white div:not(.badge),
[data-theme="orange"] .text-white h1, [data-theme="orange"] .text-white h2, [data-theme="orange"] .text-white h3,
[data-theme="orange"] .text-white h4, [data-theme="orange"] .text-white h5, [data-theme="orange"] .text-white h6,
[data-theme="orange"] .text-white p,  [data-theme="orange"] .text-white span:not(.badge),
[data-theme="orange"] .text-white label, [data-theme="orange"] .text-white li,
[data-theme="orange"] .text-white small, [data-theme="orange"] .text-white div:not(.badge) {
    color: #FFFFFF !important;
}

/* .text-muted à l'intérieur d'un bloc .text-white : gris clair semi-transparent
   au lieu du gris/brun foncé du thème (sinon invisible sur fond sombre) */
[data-theme="alibaba"] .text-white .text-muted,
[data-theme="blanc"] .text-white .text-muted,
[data-theme="orange"] .text-white .text-muted {
    color: rgba(255,255,255,.72) !important;
}


/* ============================================================
   THÈME "malibaara" — inspiré d'un visuel job-board Mali
   Navbar blanche, bleu comme couleur de marque, fond clair,
   footer gris clair + barre inférieure noire.
   ============================================================ */
:root,
[data-theme="malibaara"] {
    --primary:      #1E88E5;
    --primary-light:#4FA8F0;
    --accent:       #1565C0;
    --accent-light: #42A5F5;
    --orange:       #1E88E5;
    --success:      #16A34A;
    --warning:      #F59E0B;
    --text:         #1F2937;
    --text-muted:   #6B7280;
    --border:       rgba(0,0,0,.10);
    --bg:           #F3F4F6;
    --white:        #FFFFFF;
    --hero-bg:      linear-gradient(135deg,#12151C 0%,#1E3A5F 55%,#1E88E5 100%);
    --hero-text:    #FFFFFF;
    --hero-glow:    rgba(30,136,229,.15);
    --navbar-bg:    #FFFFFF;
    --footer-bg:    #EEF0F2;
    --radius:       8px;
    --shadow:       0 2px 12px rgba(30,136,229,.10);
    --shadow-lg:    0 8px 32px rgba(30,136,229,.20);
    --transition:   all .2s ease;
}

/* ── Navbar blanche, logo bicolore, liens sombres ── */
[data-theme="malibaara"] .navbar-main {
    background: #FFFFFF !important;
    border-bottom: 1px solid #EDEDED !important;
    box-shadow: none !important;
}
[data-theme="malibaara"] .navbar-main .navbar-brand {
    color: #1A1A1A !important;
    font-weight: 700 !important;
}
[data-theme="malibaara"] .navbar-main .navbar-brand .accent-dot {
    color: #1E88E5 !important;
}
[data-theme="malibaara"] .navbar-main .nav-link {
    color: #1A1A1A !important;
    font-weight: 500 !important;
}
[data-theme="malibaara"] .navbar-main .nav-link:hover,
[data-theme="malibaara"] .navbar-main .nav-link.active {
    color: #1E88E5 !important;
}
[data-theme="malibaara"] .navbar-main .navbar-toggler-icon {
    filter: none;
}
[data-theme="malibaara"] .btn-outline-primary {
    color: #4B5563 !important;
    border-color: #E5E7EB !important;
    background: transparent !important;
}
[data-theme="malibaara"] .btn-outline-primary:hover {
    background: #F3F4F6 !important;
    color: #1A1A1A !important;
}
[data-theme="malibaara"] .btn-primary {
    background: #1E88E5 !important;
    border-color: #1E88E5 !important;
    color: #FFFFFF !important;
    border-radius: 6px !important;
}
[data-theme="malibaara"] .btn-primary:hover {
    background: #1565C0 !important;
    border-color: #1565C0 !important;
}

/* ── Textes hors hero/footer : gris foncé, quel que soit le fond ── */
[data-theme="malibaara"] h1,
[data-theme="malibaara"] h2,
[data-theme="malibaara"] h3,
[data-theme="malibaara"] h4,
[data-theme="malibaara"] h5,
[data-theme="malibaara"] h6,
[data-theme="malibaara"] p,
[data-theme="malibaara"] .fw-bold,
[data-theme="malibaara"] .fw-semibold,
[data-theme="malibaara"] span,
[data-theme="malibaara"] label,
[data-theme="malibaara"] li,
[data-theme="malibaara"] td,
[data-theme="malibaara"] th,
[data-theme="malibaara"] small,
[data-theme="malibaara"] .text-muted {
    color: #1F2937;
}
[data-theme="malibaara"] .text-muted { color: #6B7280 !important; }
[data-theme="malibaara"] body { background: #FFFFFF !important; }
[data-theme="malibaara"] .card,
[data-theme="malibaara"] .card * { color: #1F2937 !important; }
[data-theme="malibaara"] .card .text-muted { color: #6B7280 !important; }
[data-theme="malibaara"] a:not(.btn):not(.nav-link):not(.badge) { color: #1E88E5; }
[data-theme="malibaara"] a:not(.btn):not(.nav-link):not(.badge):hover { color: #1565C0; }

/* Exception : hero garde --hero-text (blanc) */
[data-theme="malibaara"] .hero-section h1,
[data-theme="malibaara"] .hero-section h2,
[data-theme="malibaara"] .hero-section p,
[data-theme="malibaara"] .hero-section span,
[data-theme="malibaara"] .hero-section small {
    color: var(--hero-text) !important;
}

/* ── Cartes offres/formations : fond blanc, bordure fine ── */
[data-theme="malibaara"] .offre-list-card,
[data-theme="malibaara"] .similaire-card,
[data-theme="malibaara"] .postuler-card {
    background: #FFFFFF !important;
    border: 1px solid #EDEDED !important;
}
[data-theme="malibaara"] .offre-list-card:hover {
    border-color: #1E88E5 !important;
}
[data-theme="malibaara"] .verified-icon { color: #1E88E5 !important; }
[data-theme="malibaara"] .badge { color: initial !important; }

/* ── Footer : bandeau gris clair + barre inférieure noire pleine largeur ── */
[data-theme="malibaara"] .footer-main {
    background: #EEF0F2 !important;
    color: #1F2937;
}
[data-theme="malibaara"] .footer-main h6 {
    color: #111111 !important;
}
[data-theme="malibaara"] .footer-main p,
[data-theme="malibaara"] .footer-main a,
[data-theme="malibaara"] .footer-main span,
[data-theme="malibaara"] .footer-main li {
    color: #4B5563 !important;
}
[data-theme="malibaara"] .footer-main a:hover { color: #1E88E5 !important; }
[data-theme="malibaara"] .footer-main .footer-bottom {
    background: #0D0D0D;
    color: rgba(255,255,255,.6) !important;
    border-top: none;
    margin-top: 32px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
    padding: 18px 0;
    text-align: center;
    justify-content: center !important;
}
[data-theme="malibaara"] .footer-main .footer-bottom a {
    color: rgba(255,255,255,.6) !important;
}

/* ── Point de sélection dans le sélecteur de thème ── */
.theme-btn[data-theme="malibaara"] {
    background: linear-gradient(135deg,#FFFFFF 50%,#1E88E5 50%);
    border: 1px solid #E5E7EB;
}
