/* Blog dark mode follows the visitor's system preference. */
@media (prefers-color-scheme: dark) {
    :root {
        color-scheme: dark;
        --navy-900: #0b172b;
        --navy-800: #14294a;
        --navy-700: #78aef2;
        --navy-600: #5d98e8;
        --navy-100: #29466c;
        --navy-50: #17243a;
        --slate-50: #182333;
        --slate-100: #202d3d;
        --slate-200: #334155;
        --slate-300: #475569;
        --slate-400: #94a3b8;
        --slate-500: #aab7c7;
        --slate-600: #c2cedb;
        --slate-700: #d4dde8;
        --slate-800: #e7edf5;
        --green-50: #102d20;
        --green-100: #16452e;
        --green-600: #86efac;
        --green-700: #a7f3c1;
        --amber-50: #332710;
        --amber-100: #594415;
        --amber-600: #fcd34d;
        --amber-700: #fde68a;
        --red-50: #35191d;
        --red-100: #572329;
        --red-600: #fca5a5;
        --purple-50: #2b2044;
        --purple-100: #49356f;
        --purple-600: #c4b5fd;
        --orange-50: #382313;
        --orange-100: #5b391e;
        --orange-600: #fdba74;
        --border: var(--slate-200);
        --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.35), 0 6px 18px rgba(0, 0, 0, 0.18);
    }

    html,
    body {
        background: #0f172a !important;
        color: #e7edf5;
    }

    main,
    .blog-wrap,
    .article-wrap,
    .article-body,
    .article-content {
        color: #d4dde8;
    }

    h1,
    h2,
    h3,
    h4,
    .page-title,
    .article-title,
    .cat-section-title,
    .card-title,
    .hub-card-name,
    .tool-card-title,
    .calc-title,
    .verdict-title,
    .result-statut,
    .result-net,
    .deadline-date,
    .case-box h4,
    .internal-links h3,
    .article-content strong,
    .article-body strong {
        color: #e7edf5;
    }

    main p,
    main li,
    main dd,
    main dt,
    main label,
    .article-intro,
    .article-description,
    .card-excerpt,
    .hub-card-desc,
    .tool-card-desc,
    .step-desc,
    .case-desc,
    .error-fix,
    .info-body,
    .example p,
    .example-box p,
    .faq-a,
    .faq-answer,
    .pros-list li,
    .cons-list li {
        color: #c2cedb;
    }

    main a,
    .breadcrumb a,
    .toc a,
    .article-toc a,
    .link-title,
    .card-cta,
    .hub-card-count,
    .toc-title,
    .toc-num,
    .link-arrow,
    .article-tag,
    .meta-tag,
    .rate,
    .amount {
        color: #8fc2ff;
    }

    main a:hover,
    .breadcrumb a:hover,
    .toc a:hover,
    .article-toc a:hover,
    .internal-link-item:hover .link-title,
    .card-cta:hover {
        color: #c1dcff;
    }

    .breadcrumb {
        background: #17243a !important;
        border-color: #334155 !important;
        color: #aab7c7 !important;
    }

    .breadcrumb span,
    .breadcrumb-inner,
    .meta-date,
    .meta-read,
    .meta-sep,
    .card-date,
    .card-read,
    .card-sep,
    .cat-section-badge,
    .related-title,
    .toc-num,
    caption,
    .deadline-zone,
    .deadline-deps,
    .calc-sub,
    .stat-label,
    .stat-sub,
    .footer-legal {
        color: #aab7c7;
    }

    .hub-card,
    .article-card,
    .tool-card,
    .aside-card,
    .related-card,
    .bank-card,
    .comp-card,
    .compare-card,
    .composant-card,
    .stat-card,
    .statut-card,
    .solution-card,
    .doc-card,
    .partner-card-inline,
    .affiliate-card,
    .result-card,
    .verdict,
    .decision-tree,
    .seuil-item,
    .numbers-banner,
    .reform-banner,
    .deadline-card,
    .case-box,
    .faq-item,
    .calc-box,
    .calc-widget,
    .internal-links,
    .internal-banner,
    .toc,
    .article-toc,
    .formula-box,
    .answer-box,
    .example,
    .example-box,
    .warning-box,
    .error-fix,
    .email-capture,
    .ad-wrap--mid,
    .ad-wrap--header,
    .ad-wrap--prefooter {
        background: #172333 !important;
        border-color: #334155 !important;
        box-shadow: var(--shadow-card);
    }

    .hub-card:hover,
    .article-card:hover,
    .tool-card:hover,
    .related-card:hover,
    .internal-link-item:hover {
        border-color: #5d98e8 !important;
    }

    .card-footer,
    .card-kw,
    .cat-section-badge,
    .hub-card-count,
    .article-toc,
    .toc,
    .toc-list,
    .example-highlight,
    .calc-body,
    .calc-results,
    .result-details {
        background: #202d3d !important;
        border-color: #334155 !important;
    }

    .hub-card--outils,
    .hub-card--charges,
    .hub-card--lancer,
    .hub-card--banques {
        border-top-color: currentColor;
    }

    .hub-card--outils { border-top-color: #34d399; }
    .hub-card--charges { border-top-color: #fbbf24; }
    .hub-card--lancer { border-top-color: #60a5fa; }
    .hub-card--banques { border-top-color: #a78bfa; }

    .tool-card-label,
    .feature-chip,
    .badge-green,
    .saving-badge {
        color: #a7f3c1 !important;
        background: #16452e !important;
        border-color: #28734d !important;
    }

    .card-tag,
    .meta-tag,
    .badge-navy,
    .badge-ae,
    .badge-sasu,
    .badge-eurl,
    .badge-sal {
        color: #a8ccff !important;
        background: #1c3455 !important;
        border-color: #416895 !important;
    }

    .card-tag--featured,
    .badge-amber,
    .td-amber,
    .amber,
    .orange {
        color: #fcd34d !important;
    }

    .card-tag--featured {
        background: #1c3455 !important;
        border-color: #416895 !important;
        color: #b9d6ff !important;
    }

    .td-green,
    .td-good,
    .green,
    .savings,
    .pros-label,
    .pros-list li::before,
    .email-success {
        color: #86efac !important;
    }

    .td-red,
    .td-bad,
    .red,
    .error-title,
    .cons-label,
    .cons-list li::before {
        color: #fca5a5 !important;
    }

    .td-amber,
    .amber,
    .orange,
    .rate-25,
    .rate-50 {
        color: #fcd34d !important;
    }

    .callout,
    .en-clair,
    .info-box,
    .example,
    .example-box,
    .warning-box,
    .error-fix {
        color: #cbd5e1;
        background: #1b2b40 !important;
        border-color: #5d98e8 !important;
    }

    .callout.green,
    .info-box--green {
        background: #102d20 !important;
        border-left-color: #4ade80 !important;
    }

    .callout.orange,
    .info-box--amber,
    .info-box--orange {
        background: #332710 !important;
        border-left-color: #fcd34d !important;
    }

    .callout.red,
    .info-box--red {
        background: #35191d !important;
        border-left-color: #f87171 !important;
    }

    .warning-box {
        background: #332710 !important;
        border-left-color: #fcd34d !important;
    }

    .info-box--blue,
    .info-box--purple {
        background: #1b2b40 !important;
        border-left-color: #78aef2 !important;
    }

    .callout strong,
    .en-clair strong,
    .info-box strong,
    .example strong,
    .example-box strong,
    .warning-box strong,
    .error-fix strong {
        color: #e7edf5 !important;
    }

    .formula-box,
    .case-code,
    .case-code code,
    pre,
    code,
    .sponsored-notice {
        color: #d9e7f7 !important;
        background: #101b2d !important;
        border-color: #3d5877 !important;
    }

    .case-code {
        background: #1e4d94 !important;
        color: #fff !important;
    }

    .formula-value,
    .formula-num,
    .formula-title,
    .formula-label,
    .result-value,
    .result-pct,
    .result-net,
    .stat-value,
    .stat-sub,
    .verdict-profile,
    .verdict-body {
        color: #e7edf5;
    }

    .formula-title,
    .formula-step.result .formula-label {
        color: #9bc6ff !important;
    }

    .formula-label {
        color: #bdc9d8 !important;
    }

    .formula-step:last-child {
        border-top-color: #3b4d67 !important;
    }

    .formula-step.result .formula-value {
        color: #8fc2ff !important;
    }

    .table-wrap {
        border-color: #334155;
        box-shadow: var(--shadow-card);
    }

    table,
    .rates-table {
        background: #172333 !important;
        color: #d4dde8;
    }

    thead th,
    .rates-table th {
        background: #0b172b !important;
        color: #f5f8fc !important;
    }

    tbody tr,
    tbody tr:nth-child(even),
    .rates-table tr:nth-child(even) td {
        background: #172333 !important;
        border-color: #334155 !important;
    }

    tbody tr:nth-child(even),
    .rates-table tr:nth-child(even) td {
        background: #202d3d !important;
    }

    tbody td,
    .rates-table td {
        color: #cbd5e1 !important;
        border-color: #334155 !important;
    }

    .section-row,
    td[style*="background:var(--navy-50)"],
    td[style*="background: var(--navy-50)"] {
        background: #1c3455 !important;
        color: #b9d6ff !important;
    }

    .faq-q,
    .faq-question {
        color: #e7edf5 !important;
    }

    .faq-q:hover,
    .faq-question:hover {
        background: #202d3d !important;
    }

    .faq-a,
    .faq-answer {
        color: #c2cedb !important;
        border-color: #334155 !important;
    }

    .faq-icon {
        color: #8fc2ff !important;
    }

    .internal-link-item {
        border-color: #29466c !important;
    }

    .cta-banner,
    .cta-block,
    .article-cta,
    .inline-cta,
    .aside-cta,
    .comp-cta {
        background: #0b172b !important;
        border-color: #29466c !important;
    }

    .cta-banner-text h3,
    .cta-block h3,
    .article-cta h3,
    .cta-banner-text p,
    .cta-block p,
    .article-cta p {
        color: #f5f8fc !important;
    }

    .cta-banner-text p,
    .cta-block p,
    .article-cta-text p {
        color: #bdc9d8 !important;
    }

    .cta-btn,
    .article-cta-btn,
    .affiliate-card-cta,
    .email-form button,
    .calc-btn,
    .comp-cta,
    .partner-card-inline-cta {
        color: #fff !important;
        background: #2561b0 !important;
        border-color: #5d98e8 !important;
    }

    .cta-btn:hover,
    .article-cta-btn:hover,
    .affiliate-card-cta:hover,
    .email-form button:hover,
    .calc-btn:hover,
    .comp-cta:hover,
    .partner-card-inline-cta:hover {
        background: #3578c9 !important;
    }

    .email-capture h3,
    .calc-field .label,
    .field-label,
    .result-label,
    .result-note {
        color: #dbeafe !important;
    }

    input,
    select,
    textarea,
    .email-form input,
    .field-input,
    .field-select,
    .calc-field input,
    .calc-field select {
        color: #e7edf5 !important;
        background: #101b2d !important;
        border-color: #51657e !important;
    }

    input::placeholder,
    textarea::placeholder,
    .email-form input::placeholder {
        color: #9aaabd !important;
    }

    input:focus,
    select:focus,
    textarea:focus,
    .email-form input:focus,
    .field-input:focus,
    .field-select:focus {
        outline: 3px solid #f6c945 !important;
        outline-offset: 2px;
        border-color: #8fc2ff !important;
    }

    .result,
    .dt-result {
        background: #123323 !important;
        border-color: #3f8f61 !important;
    }

    .calc-result {
        background: #172333 !important;
        border-color: #334155 !important;
    }

    .result-verdict.good,
    .result-verdict.vfl,
    .dt-result.green {
        color: #a7f3c1 !important;
        background: #102d20 !important;
        border-color: #3f8f61 !important;
    }

    .result-verdict.partial,
    .result-verdict.pas,
    .dt-result.amber {
        color: #fcd34d !important;
        background: #332710 !important;
        border-color: #806320 !important;
    }

    .result-verdict.none {
        color: #fca5a5 !important;
        background: #35191d !important;
        border-color: #8f4148 !important;
    }

    .result-verdict.equal,
    .result-status.limite {
        color: #b9d6ff !important;
        background: #1c3455 !important;
        border-color: #416895 !important;
    }

    .result-card.best {
        background: #102d20 !important;
        border-color: #3f8f61 !important;
    }

    .result-card.best::before {
        background: #28734d !important;
        color: #f0fdf4 !important;
    }

    .result-status.franchise {
        color: #a7f3c1 !important;
        background: #16452e !important;
        border-color: #3f8f61 !important;
    }

    .result-status.assujetti {
        color: #fcd34d !important;
        background: #332710 !important;
        border-color: #806320 !important;
    }

    .ad-wrap--header,
    .ad-wrap--prefooter {
        background: #131f30 !important;
        border-color: #334155 !important;
    }

    footer {
        background: #080f1e !important;
        border-color: #26354a !important;
    }

    footer [style*="color"] {
        color: #aebdce !important;
    }

    footer .footer-brand,
    footer .footer-brand span,
    footer .footer-links a,
    footer .footer-legal {
        color: #aebdce !important;
    }

    main a[style*="background: #f0f4fb"],
    main a[style*="background:#f0f4fb"],
    main a[style*="background: #f0f7ff"],
    main a[style*="background:#f0f7ff"] {
        background: #172333 !important;
        border-color: #3d5877 !important;
    }

    main a[style*="background: #f0f4fb"] strong,
    main a[style*="background:#f0f4fb"] strong,
    main a[style*="background: #f0f7ff"] strong,
    main a[style*="background:#f0f7ff"] strong,
    main a[style*="background: #f0f4fb"] span,
    main a[style*="background:#f0f4fb"] span,
    main a[style*="background: #f0f7ff"] span,
    main a[style*="background:#f0f7ff"] span {
        color: #b9d6ff !important;
    }

    main [style*="color:#1B3A6B"],
    main [style*="color: #1B3A6B"],
    main [style*="color:var(--navy-800)"],
    main [style*="color: var(--navy-800)"] {
        color: #b9d6ff !important;
    }

    main [style*="color:#dc2626"],
    main [style*="color: #dc2626"] {
        color: #fca5a5 !important;
    }

    main [style*="color:var(--green-600)"],
    main [style*="color: var(--green-600)"] {
        color: #86efac !important;
    }

    main [style*="background:#fff"],
    main [style*="background: #fff"],
    main [style*="background:white"],
    main [style*="background: white"] {
        background: #172333 !important;
    }

    .sources-officielles,
    .sources-officielles__inner {
        background: transparent !important;
        color: #aebdce !important;
    }

    main :focus-visible,
    .breadcrumb a:focus-visible,
    footer a:focus-visible {
        outline: 3px solid #f6c945;
        outline-offset: 3px;
    }
}
