/* MikPortal - thème clair (landing) */
:root:root {
    --dark-bg: #f4f7fe;
    --surface: #ffffff;
    --border: #e2e8f0;
    --accent: #0891b2;
}
body { background: #f4f7fe !important; color: #0f172a !important; }
h1, h2, h3, h4, h5, h6, p, span, a, label, li, small { color: #0f172a !important; }
.text-white { color: #0f172a !important; }
.text-white-50, .text-muted { color: #64748b !important; }
.text-primary { color: #2563eb !important; }
.text-accent { color: #0891b2 !important; }
.text-success { color: #059669 !important; }
.text-danger { color: #dc2626 !important; }

/* Boutons : texte blanc conservé */
.btn-primary, .btn-primary *, .btn-success, .btn-success * { color: #ffffff !important; }
.btn-outline-light, .btn-outline-light * { color: #0f172a !important; border-color: #cbd5e1 !important; }
.btn-outline-light:hover { background: #eef2ff !important; }

/* Navigation */
.nav-mikportal { background: rgba(255,255,255,.92) !important; border-bottom: 1px solid #e2e8f0 !important; }
.nav-link-custom { color: #475569 !important; }
.nav-link-custom:hover { color: #2563eb !important; }

/* Hero */
.hero-infra { background: radial-gradient(circle at 50% 0%, rgba(37,99,235,.10), transparent 60%) !important; }
.hero-grid { opacity: .5; }

/* Sections et cartes sombres */
.bg-black, .bg-dark, section.bg-black { background: #eef2ff !important; }
.card, [class*="-card"], [class*="card-"], .glass, .mp-vd, .mp-net {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 24px rgba(15,23,42,.06) !important;
}
footer, .lp-foot { background: #0f172a !important; }
footer *, .lp-foot * { color: #cbd5e1 !important; }

/* Formulaires */
.form-control-mikportal {
    background: #ffffff !important; color: #0f172a !important;
    border: 1px solid #cbd5e1 !important; border-radius: 12px !important;
}
.form-control-mikportal::placeholder { color: #94a3b8 !important; }
.form-control-mikportal:focus { border-color: #2563eb !important; box-shadow: 0 0 0 3px rgba(37,99,235,.15) !important; outline: none; }
#phoneCountry option { background: #ffffff !important; color: #0f172a !important; }
select.form-control-mikportal { color-scheme: light; }

/* ===== Correctif lisibilité : priorité renforcée ===== */
html body :is(h1, h2, h3, h4, h5, h6, p, span, li, a, label, small, strong, div) { color: #0f172a; }
html body :is(.text-white-50, .text-muted, .text-secondary) { color: #64748b !important; }
html body .text-accent { color: #0891b2 !important; }
html body .text-primary { color: #2563eb !important; }
html body .nav-link-custom { color: #475569 !important; }
html body .nav-link-custom:hover { color: #2563eb !important; }

/* Textes d'un SVG (carte de l'Afrique, légendes) */
html body svg text { fill: #334155 !important; }

/* Formulaire */
html body select.form-control-mikportal,
html body #phoneCountry,
html body input.form-control-mikportal,
html body textarea.form-control-mikportal { color: #0f172a !important; background: #ffffff !important; }

/* Éléments qui restent volontairement clairs sur fond foncé ou coloré */
html body .btn-primary, html body .btn-primary *,
html body .badge.bg-primary, html body .bg-primary, html body .bg-primary * { color: #ffffff !important; }
html body footer, html body footer *, html body .lp-foot, html body .lp-foot * { color: #cbd5e1 !important; }
html body footer a:hover, html body .lp-foot a:hover { color: #ffffff !important; }

/* ===== Sections à fond sombre d'origine : passées en clair ===== */
html body .lp, html body .mp-vd, html body .mp-net, html body section.lp-steps, html body .lp-steps {
    background: #eef2ff !important; color: #0f172a !important;
}
html body .lp { --line: #dbe3ef; --mute: #475569; color: #0f172a !important; }
html body .lp :is(h1,h2,h3,h4,p,span,li,div) { color: #0f172a !important; }
html body .lp p, html body .lp li, html body .lp .mute { color: #475569 !important; }
html body .mp-vd p.l, html body .mp-vd li { color: #334155 !important; border-top-color: #dbe3ef !important; }
html body .mp-vd :is(h2,h3,p,span) { color: #0f172a !important; }
html body .mp-net h2 { color: #0f172a !important; }
html body .mp-net .mp-sub, html body .mp-legend, html body .mp-legend * { color: #475569 !important; }
html body .lp-steps .lp-num, html body .lp [class*="num"] { color: #ffffff !important; }

/* ===== Sections à fond sombre d'origine : passées en clair ===== */
html body .lp, html body .mp-vd, html body .mp-net, html body section.lp-steps, html body .lp-steps {
    background: #eef2ff !important; color: #0f172a !important;
}
html body .lp { --line: #dbe3ef; --mute: #475569; color: #0f172a !important; }
html body .lp :is(h1,h2,h3,h4,p,span,li,div) { color: #0f172a !important; }
html body .lp p, html body .lp li, html body .lp .mute { color: #475569 !important; }
html body .mp-vd p.l, html body .mp-vd li { color: #334155 !important; border-top-color: #dbe3ef !important; }
html body .mp-vd :is(h2,h3,p,span) { color: #0f172a !important; }
html body .mp-net h2 { color: #0f172a !important; }
html body .mp-net .mp-sub, html body .mp-legend, html body .mp-legend * { color: #475569 !important; }
html body .lp-steps .lp-num, html body .lp [class*="num"] { color: #ffffff !important; }
