/* Theme clair / sombre (07/10/2026). L'attribut html[data-theme] est pose par
   le script en tete de layouts/public (choix memorise : auto, clair, sombre).
   Fichier en partie genere (gen.py) a partir de site-2609, header, home-v3, desk-2909. */
:root {
    --surface: #ffffff;
    --surface-2: #f8fafc;
    --indigo-btn: #4f46e5;
}
html[data-theme="dark"] {
    color-scheme: dark;
    --bg: #0f1120;
    --surface: #171a2b;
    --surface-2: #1e2136;
    --ink: #eceef5;
    --ink-2: #cbcfde;
    --muted: #a0a7bd;
    --line: #2e3352;
    --indigo: #818cf8;
    --indigo-dark: #a5b4fc;
    --indigo-soft: #23264d;
    --indigo-btn: #4f46e5;
    --shadow-card: 0 1px 2px rgba(0, 0, 0, .4);
    --shadow-card-hover: 0 14px 30px -14px rgba(0, 0, 0, .7);
}
html[data-theme="dark"] body { background: var(--bg); color: var(--ink); }

/* --- derive de site-2609.css --- */
html[data-theme="dark"] .site-header { background: rgba(23,25,43,.88); }
html[data-theme="dark"] .brand .logo { background: linear-gradient(135deg, var(--indigo-btn), #8b5cf6); }
html[data-theme="dark"] .brand-ai { background: linear-gradient(135deg, var(--indigo-btn), #8b5cf6); }
html[data-theme="dark"] .tag-dev { background: #18213f; border: 1px solid #313e72; }
html[data-theme="dark"] .estim-card { background: var(--surface); }
html[data-theme="dark"] .field input, html[data-theme="dark"] .field select { background: var(--surface); }
html[data-theme="dark"] .btn { background: linear-gradient(180deg, var(--indigo-btn), var(--indigo-btn)); }
html[data-theme="dark"] .btn-ghost { background: var(--surface); }
html[data-theme="dark"] .card { background: var(--surface); }
html[data-theme="dark"] .price-box { background: linear-gradient(135deg, var(--indigo-btn), #818cf8); }
html[data-theme="dark"] .panel { background: var(--surface); }
html[data-theme="dark"] .badge.eleve { background: #183f25; color: #9fefbd; }
html[data-theme="dark"] .badge.moyen { background: #3f3c18; color: #f7d097; }
html[data-theme="dark"] .badge.faible { background: #3f2e18; color: #f7b397; }
html[data-theme="dark"] .badge.aucun { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .alert-info { background: #18293f; border: 1px solid #314e72; color: #9fb2ef; }
html[data-theme="dark"] .alert-success { background: #183f24; border: 1px solid #317248; color: #9fefbd; }
html[data-theme="dark"] .alert-warn { background: #3f3718; border: 1px solid #726531; color: #f5bc99; }
html[data-theme="dark"] .field-error { color: #ef9e9e; }
html[data-theme="dark"] .risk-tag { background: #3f1818; color: #f09e9e; border: 1px solid #723131; }
html[data-theme="dark"] .risk-tag.risk-sismic { background: #3f3718; color: #f5bc99; border-color: #726531; }
html[data-theme="dark"] .risk-tag.risk-argile { background: #3f2e18; color: #f3b19b; border-color: #725431; }
html[data-theme="dark"] .report-panel p { color: var(--ink-2); }
html[data-theme="dark"] .ac-list { background: var(--surface); }
html[data-theme="dark"] .ac-item:hover { background: #18213f; }
html[data-theme="dark"] .site-nav > a { color: var(--ink-2); }
html[data-theme="dark"] .site-nav > a:hover { background: #18213f; }
html[data-theme="dark"] .site-nav > a[aria-current="page"] { background: #18213f; }
html[data-theme="dark"] .nav-plus-btn { color: var(--ink-2); }
html[data-theme="dark"] .nav-plus:hover .nav-plus-btn, html[data-theme="dark"] .nav-plus:focus-within .nav-plus-btn { background: #18213f; }
html[data-theme="dark"] .nav-plus-panel { background: var(--surface); }
html[data-theme="dark"] .nav-plus-panel > a:hover { background: #18213f; }
@media (max-width: 900px) {
    html[data-theme="dark"] .site-nav { background: var(--surface); }
    html[data-theme="dark"] .site-nav > a[aria-current="page"] { background: #18213f; }
}
html[data-theme="dark"] .agences-panel { background: var(--surface); }
html[data-theme="dark"] .agences-filtres select, html[data-theme="dark"] .agences-filtres input { background: var(--surface); }
html[data-theme="dark"] .agences-liste { background: var(--surface); }
html[data-theme="dark"] .agence-item:hover { background: #18213f; }
html[data-theme="dark"] .ag-marqueur { background: var(--indigo-btn); border: 3px solid var(--line); }
html[data-theme="dark"] .cl-bulle { background: var(--indigo-btn); }
html[data-theme="dark"] .cl-moyen { background: var(--indigo-btn); }
html[data-theme="dark"] .agence-desc { color: var(--ink-2); }
html[data-theme="dark"] .field textarea { background: var(--surface); }
html[data-theme="dark"] .avis-txt { color: var(--ink-2); }
html[data-theme="dark"] .bilan-table tr.total.negatif td { color: #f09e9e; }
html[data-theme="dark"] table.decaissement td.neg { color: #f09e9e; }
html[data-theme="dark"] table.decaissement td.pos { color: #9fefbd; }
html[data-theme="dark"] .pro-nav a.actif { background: #18213f; }
html[data-theme="dark"] .annonce-pro { background: var(--surface); }
html[data-theme="dark"] .ap-photo { background: #1a2b3d center/cover no-repeat; }
html[data-theme="dark"] .ap-statut { background: var(--surface); color: #b5c2d9; }
html[data-theme="dark"] .ap-actif { background: #183f25; color: #9fefbd; }
html[data-theme="dark"] .ap-suspendu { background: #3f3c18; color: #f7d097; }
html[data-theme="dark"] .ap-vendu, html[data-theme="dark"] .ap-loue { background: #18213f; color: #aba6e7; }
html[data-theme="dark"] .annonces-filtres select, html[data-theme="dark"] .annonces-filtres input { background: var(--surface); }
html[data-theme="dark"] .annonces-filtres-bar { background: var(--surface); }
html[data-theme="dark"] .annonces-filtres select, html[data-theme="dark"] .annonces-filtres input { background: var(--surface); }
html[data-theme="dark"] .annonces-vide { background: var(--surface); }
html[data-theme="dark"] .annonce-card { background: var(--surface); }
html[data-theme="dark"] .annonce-card .ac-photo { background: #1e2939 center/cover no-repeat; }
html[data-theme="dark"] .ac-meta-pill { background: #1a2b3d; color: var(--ink-2); }
html[data-theme="dark"] .galerie { background: var(--surface); }
html[data-theme="dark"] .gal-principale { background: #1a2b3d; }
html[data-theme="dark"] .annonce-prix { background: linear-gradient(135deg, var(--indigo-btn), #818cf8); }
html[data-theme="dark"] .hs-stat { border: 1px solid rgba(51,55,82,.14); }
html[data-theme="dark"] .section-eyebrow { background: #18213f; }
html[data-theme="dark"] .section-outils { background: var(--surface); }
html[data-theme="dark"] .outil-carte { background: var(--surface); }
html[data-theme="dark"] .outil-carte:hover { border-color: #313e72; }
html[data-theme="dark"] .oc-icone { background: linear-gradient(135deg, #18213f, #1e183f); }
html[data-theme="dark"] .process-etape { background: var(--surface); }
html[data-theme="dark"] .pe-num { background: var(--indigo-btn); }
html[data-theme="dark"] .section-sources { background: var(--surface); }
html[data-theme="dark"] .section-cta-pro { background: var(--surface); }
html[data-theme="dark"] .cta-pro-actions .btn { background: var(--surface); }
html[data-theme="dark"] .cta-pro-actions .btn:hover { background: #18213f; }
html[data-theme="dark"] .cta-pro-actions .btn-ghost { border-color: rgba(51,55,82,.35); }
html[data-theme="dark"] .calc-carte { background: var(--surface); }
html[data-theme="dark"] .calc-carte:hover { border-color: #313e72; }
html[data-theme="dark"] .cc-icone { background: linear-gradient(135deg, #18213f, #1e183f); }
html[data-theme="dark"] .villes-sugg { background: var(--surface); }
html[data-theme="dark"] .vs-item:hover { background: #18213f; }
html[data-theme="dark"] .ville-carte { background: var(--surface); }
html[data-theme="dark"] .vs-stat { background: linear-gradient(135deg, var(--surface) 0%, #1a2b3d 100%); }
html[data-theme="dark"] .vs-evolution { background: #1a2b3d; }
html[data-theme="dark"] .vs-evolution.positive { background: #183f25; color: #9fefbd; }
html[data-theme="dark"] .vs-evolution.negative { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .ville-graphique { background: var(--surface); }
html[data-theme="dark"] .vg-controles { background: #1a2b3d; }
html[data-theme="dark"] .vg-controles label:has(input:checked) { background: var(--surface); }
html[data-theme="dark"] .vg-empty { background: #3f3b18; border: 1px dashed #726531; color: #f3bb9b; }
html[data-theme="dark"] .pg-item { background: var(--surface); }
html[data-theme="dark"] .pg-item:hover:not(.pg-disabled):not(.pg-active):not(.pg-ellipsis) { background: #18213f; }
html[data-theme="dark"] .pg-item.pg-active { background: var(--indigo-btn); }
html[data-theme="dark"] .pg-item.pg-disabled { background: #1a2b3d; }
html[data-theme="dark"] .ville-contexte { background: var(--surface); }
html[data-theme="dark"] .vc-comparaison { background: #1a2b3d; }
html[data-theme="dark"] .vcc-delta.plus { background: #183f25; color: #9fefbd; }
html[data-theme="dark"] .vcc-delta.moins { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .ville-transactions { background: var(--surface); }
html[data-theme="dark"] .ville-intro { background: var(--surface); }
html[data-theme="dark"] .vc-card { background: linear-gradient(135deg, #18213f 0%, #1e183f 100%); border: 1px solid #314072; }
html[data-theme="dark"] .dept-carte { background: var(--surface); }
html[data-theme="dark"] .dc-code { background: var(--indigo-btn); }
html[data-theme="dark"] .calc-form, html[data-theme="dark"] .calc-resultats { background: var(--surface); }
html[data-theme="dark"] .calc-form input, html[data-theme="dark"] .calc-form select { background: var(--surface); }
html[data-theme="dark"] .calc-big { background: linear-gradient(135deg, var(--indigo-btn), #818cf8); }
html[data-theme="dark"] .calc-actions { background: linear-gradient(135deg, #1e183f, #18213f); border: 1px solid #314072; }
html[data-theme="dark"] .btn-partage { background: var(--indigo-btn); }
html[data-theme="dark"] .btn-partage:hover { background: var(--indigo-btn); }
html[data-theme="dark"] .btn-reset { background: var(--surface); }
html[data-theme="dark"] .calc-note { background: #1a2b3d; }
html[data-theme="dark"] .calc-formules { background: linear-gradient(135deg, #3f3b18 0%, #38183f 100%); border: 1px solid #726531; }
html[data-theme="dark"] .calc-formules .cf-bloc { background: rgba(23,25,43,0.72); border: 1px solid rgba(114,99,49,0.4); }
html[data-theme="dark"] .calc-formules .cf-explication { color: var(--ink-2); }
html[data-theme="dark"] .calc-formules .cf-source { border-top: 1px dashed #726531; }
html[data-theme="dark"] .cmp-col { background: var(--surface); }
html[data-theme="dark"] .cmp-bar span { background: linear-gradient(90deg, var(--indigo-btn), #818cf8); }
html[data-theme="dark"] .cmp-ecart-haut { color: #f7c097; }
html[data-theme="dark"] .cmp-ecart-bas { color: #97f7db; }
html[data-theme="dark"] .cmp-section-rendement { background: linear-gradient(135deg, #18213f, #1e183f); }
html[data-theme="dark"] .cmp-rend-bloc { background: var(--surface); }
html[data-theme="dark"] .cmp-rend-top { border-color: #726031; }
html[data-theme="dark"] .cmp-rend-eleve { background: #183f25; color: #9fefbd; }
html[data-theme="dark"] .cmp-rend-moyen { background: #3f3c18; color: #f7d097; }
html[data-theme="dark"] .cmp-rend-faible { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .cmp-rend-trophee { color: #f7c097; }
html[data-theme="dark"] .cmp-methodo { background: var(--surface); }
html[data-theme="dark"] .cmp-saisie { background: var(--surface); }
html[data-theme="dark"] .cmp-table td.cmp-haut { background: #183f2c; color: #9fefbd; }
html[data-theme="dark"] .cmp-table td.cmp-bas { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .blog-cat:hover { background: #18213f; }
html[data-theme="dark"] .blog-cat.actif { background: var(--indigo-btn); }
html[data-theme="dark"] .blog-cat:not(.actif) .blog-cat-n { background: var(--surface); }
html[data-theme="dark"] .blog-carte { background: var(--surface); }
html[data-theme="dark"] .article-extrait { color: var(--ink-2); }
html[data-theme="dark"] .article-contenu { color: #b5c2d9; }
html[data-theme="dark"] .article-contenu blockquote { color: var(--ink-2); }
html[data-theme="dark"] .site-footer { background: var(--surface); }
html[data-theme="dark"] .sfp-bas { border-top: 1px solid rgba(51,55,82,.08); color: var(--ink-2); }
html[data-theme="dark"] .section-villes-pop { background: #1a2b3d; }
html[data-theme="dark"] .vp-carte { background: var(--surface); }
html[data-theme="dark"] .section-faq { background: var(--surface); }
html[data-theme="dark"] .faq-item { background: var(--surface); }
html[data-theme="dark"] .ville-faq { background: var(--surface); }
html[data-theme="dark"] .vd-col { background: var(--surface); }
html[data-theme="dark"] .vd-code { background: var(--indigo-btn); }
html[data-theme="dark"] .vd-liste li { border-bottom: 1px dashed #315272; }
html[data-theme="dark"] .ap-source { background: #1a2b3d; }
html[data-theme="dark"] .ap-etapes li { background: var(--surface); }
html[data-theme="dark"] .ap-etapes li::before { background: var(--indigo-btn); }
html[data-theme="dark"] .baisse-card { background: var(--surface); }
html[data-theme="dark"] .bc-photo { background: #1e2939 center/cover no-repeat; }
html[data-theme="dark"] .bc-source { background: rgba(23,25,43,.92); color: #b0ade1; }
html[data-theme="dark"] .ar-photo { background: #1e2939 center/cover no-repeat; }
html[data-theme="dark"] .ar-prix-baisse { color: #f09e9e; }
html[data-theme="dark"] .baisse-neg { color: #f09e9e; }
html[data-theme="dark"] .baisse-pos { color: #9fefbd; }
html[data-theme="dark"] .ria-barre { background: var(--surface); }
html[data-theme="dark"] .ria-exemple { border: 1px solid rgba(51,55,82,.18); }
html[data-theme="dark"] .ria-compris { background: linear-gradient(135deg, #18213f, #1e183f); border: 1px solid #314072; }
html[data-theme="dark"] .ria-chip { background: var(--surface); border: 1px solid #313e72; }
html[data-theme="dark"] .fav-btn { background: rgba(23,25,43,.92); }
html[data-theme="dark"] .nav-fav:hover { background: #3f1818 !important; }
html[data-theme="dark"] .ria-alerte { background: linear-gradient(135deg, #3f2e18, #3f3b18); border: 1px solid #725431; }
html[data-theme="dark"] .ria-alerte-titre { color: #f3b19b; }
html[data-theme="dark"] .ria-alerte p { color: #f1b29d; }
html[data-theme="dark"] .ria-alerte-form input[type="email"] { border: 1px solid #725431; }
html[data-theme="dark"] .ria-alerte-ok { background: #183f25; border: 1px solid #317249; color: #a3ebbe; }
html[data-theme="dark"] .comps-scroll::-webkit-scrollbar-thumb, html[data-theme="dark"] .annonces-liste::-webkit-scrollbar-thumb, html[data-theme="dark"] .villes-sugg::-webkit-scrollbar-thumb, html[data-theme="dark"] .gal-miniatures::-webkit-scrollbar-thumb { background: #202a37; }
html[data-theme="dark"] .field input:hover:not(:focus), html[data-theme="dark"] .field select:hover:not(:focus) { border-color: #3c5067; }
html[data-theme="dark"] .ria-exemple:hover { border-color: rgba(51,55,82,.4); }
html[data-theme="dark"] table.comps tbody tr:nth-child(even) { background: rgba(26,43,61,.7); }
html[data-theme="dark"] table.comps tbody tr:hover { background: #18213f; }
html[data-theme="dark"] .hs-stat:hover { border-color: rgba(51,55,82,.26); }
html[data-theme="dark"] .bc-renta { background: linear-gradient(135deg, #18213f, #1e183f); border: 1px solid #313e72; }
html[data-theme="dark"] .bc-renta-excellent { background: linear-gradient(135deg, #183f2c, #183f24); border-color: #317249; color: #97f7db; }
html[data-theme="dark"] .ap-source-pill, html[data-theme="dark"] .ap-scan-pill { border: 1px solid rgba(51,55,82,.18); }
html[data-theme="dark"] .ap-source-lien { background: var(--surface); }
html[data-theme="dark"] .bc-prix-m2 { background: #1a2b3d; }
html[data-theme="dark"] .bc-renta { background: #18213f; }
html[data-theme="dark"] .bc-renta-excellent { background: #183f2c; }
html[data-theme="dark"] .scan-live { background: linear-gradient(135deg, #18213f, #1e183f); border: 1px solid #313e72; }
html[data-theme="dark"] .scan-live-spinner { border: 3px solid #313e72; }
html[data-theme="dark"] .ria-capacite { border: 1px solid rgba(51,55,82,.14); }
html[data-theme="dark"] .agent-boite { background: var(--surface); }
html[data-theme="dark"] .agent-avatar { background: linear-gradient(135deg, var(--indigo-btn), #8b5cf6); }
html[data-theme="dark"] .agent-barre { background: #18213f; }
html[data-theme="dark"] .agent-barre i { background: linear-gradient(90deg, var(--indigo-btn), #8b5cf6); }
html[data-theme="dark"] .fb-bouton { background: linear-gradient(135deg, var(--indigo-btn), #8b5cf6); }
html[data-theme="dark"] .fb-panneau { background: var(--surface); }
html[data-theme="dark"] .fb-types label:has(input:checked) { background: #18213f; border-color: #313e72; }
html[data-theme="dark"] .fb-zone:hover, html[data-theme="dark"] .fb-zone-active { background: #18213f; }
html[data-theme="dark"] .fb-erreur { color: #ef9e9e; }
html[data-theme="dark"] .ria-outils { background: var(--surface); }
html[data-theme="dark"] .ria-tri select { background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center; }
html[data-theme="dark"] .ria-vue { background: var(--surface); }
html[data-theme="dark"] .ria-vue-active { background: #18213f; }
html[data-theme="dark"] #ria-carte { background: #1e2939; }
html[data-theme="dark"] .ria-carte-vide { background: rgba(26,43,61,.85); }
html[data-theme="dark"] .ria-pin span { background: var(--indigo-btn); border: 2px solid var(--line); }
html[data-theme="dark"] .ria-filtres { background: var(--card, var(--surface)); }
html[data-theme="dark"] .ria-filtres select { color: var(--ink, #b7b7d6); background: var(--surface); }
html[data-theme="dark"] .ria-filtres .ria-filtre-case { color: var(--ink, #b7b7d6); }
html[data-theme="dark"] .brand .logo { background: var(--indigo-btn); }
html[data-theme="dark"] .btn, html[data-theme="dark"] .ria-btn { background: var(--indigo-btn); }
html[data-theme="dark"] .btn:hover, html[data-theme="dark"] .ria-btn:hover { background: var(--indigo-btn); }
html[data-theme="dark"] .btn-ghost { background: var(--surface); }
html[data-theme="dark"] .site-header { background: rgba(23,25,43,.92); }
html[data-theme="dark"] .baisse-card:hover, html[data-theme="dark"] .outil-carte:hover, html[data-theme="dark"] .blog-carte:hover { border-color: var(--line); }
html[data-theme="dark"] .ria-compris { background: var(--surface); }
html[data-theme="dark"] .ria-capacite { border-color: rgba(51,55,82,.1); }
html[data-theme="dark"] .ria-alerte { background: var(--surface); }
html[data-theme="dark"] .bc-renta-excellent { background: #183f2c; color: #97f7db; }
html[data-theme="dark"] .bc-source { background: rgba(23,25,43,.94); }
html[data-theme="dark"] .hv2 { background: var(--surface); }
html[data-theme="dark"] .hv2-hero { background: var(--surface); }
html[data-theme="dark"] .hv2-hero-form { background: var(--surface); }
html[data-theme="dark"] .hv2-form input, html[data-theme="dark"] .hv2-form select { border: 1px solid var(--line); background: var(--surface); }
html[data-theme="dark"] .hv2-exemples a { background: var(--surface); }
html[data-theme="dark"] .hv2-outils a { background: var(--surface); }
html[data-theme="dark"] .hv2-villes a { background: var(--surface); }
html[data-theme="dark"] .hv2-articles a { background: var(--surface); }
html[data-theme="dark"] .hv2-barre { border: 1px solid var(--line); background: var(--surface); }
html[data-theme="dark"] .hv2-exemples-ligne a { background: var(--surface); }
html[data-theme="dark"] .hv2-section-gris .hv2-hero-form { background: var(--surface); }
html[data-theme="dark"] .pro-tuiles div { background: var(--surface); }
html[data-theme="dark"] .pro-bloc { background: var(--surface); }
html[data-theme="dark"] .pro-badge-vert { background: #183f2c; color: #97f7db; }
html[data-theme="dark"] .pro-badge-baisse { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .pro-form input { border: 1px solid var(--line); }
html[data-theme="dark"] .c3d-carte-wrap { background: #242a33; }
html[data-theme="dark"] .c3d-controles button { background: var(--surface); }
html[data-theme="dark"] .c3d-controles button.actif { background: var(--indigo-btn); }
html[data-theme="dark"] .c3d-pin { background: var(--indigo-btn); }
html[data-theme="dark"] .c3d-pin::after { background: var(--indigo-btn); }
html[data-theme="dark"] .c3d-poi { border: 2px solid var(--line); }
html[data-theme="dark"] .c3d-lieux-onglets button { background: var(--surface); }
html[data-theme="dark"] .hv2-app-note { color: var(--ink-2); }
html[data-theme="dark"] .sa-table tr:hover td { background: #18213f; }
html[data-theme="dark"] .sa-ecart { background: #1a2b3d; }
html[data-theme="dark"] .sa-ecart.plus { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .sa-ecart.moins { background: #183f25; color: #9fefbd; }
html[data-theme="dark"] .sa-barre { background: #18213f; }
html[data-theme="dark"] .sa-baisse:hover { background: #18213f; }
html[data-theme="dark"] .sa-baisse-pct { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .sa-filtres select { background: var(--surface); }
html[data-theme="dark"] .ac-baisse { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .agence-item .ai-badge { background: #18213f; color: #aca8e5; }
html[data-theme="dark"] .ria-halo { background: conic-gradient(from var(--hv3-a, 0deg), #6366f1, #3f3418, #a855f7, #6366f1); }
html[data-theme="dark"] .ria-hero-geant .ria-barre input::placeholder { color: var(--ink-2); }
html[data-theme="dark"] .vs-stat-cher .vs-val { color: #f09e9e; }
html[data-theme="dark"] .agence-item .ai-nb { background: var(--indigo-btn); }
html[data-theme="dark"] .agence-item .ai-badge-gris { background: #1a2b3d; }
html[data-theme="dark"] .agence-item .ai-badge-attente { background: #3f3718; color: #f5bc99; }
html[data-theme="dark"] .ai-logo { background: var(--surface); }
html[data-theme="dark"] .agence-item:hover { background: #181c3f; }
html[data-theme="dark"] .ai-avatar img { background: var(--surface); }
html[data-theme="dark"] .ai-badge { background: #18213f; color: #aca8e5; }
html[data-theme="dark"] .ai-badge-attente { background: #3f3718; color: #f5bc99; }
html[data-theme="dark"] .ai-badge-gris { background: #1a2b3d; }
html[data-theme="dark"] .ai-nb { background: var(--indigo-btn); }
html[data-theme="dark"] .ria-signaler { background: var(--surface); }
html[data-theme="dark"] .ria-signaler:disabled { color: #9fefbd; border-color: #317249; background: #183f24; }
html[data-theme="dark"] .nav-mobile-extra a.btn { background: var(--indigo-btn) !important; }
html[data-theme="dark"] .nav-mobile-extra a.btn-clair { background: #18213f !important; }
html[data-theme="dark"] .cpt-lien { color: #f09e9e; }
html[data-theme="dark"] .hv3-compte-carte .btn { background: var(--surface); }
html[data-theme="dark"] .ria-compte { background: #18213f; border: 1px solid #313e72; }
html[data-theme="dark"] .nav-compte { border: 1.5px solid #313e72; }
html[data-theme="dark"] .nav-compte:hover { background: #18213f; }
html[data-theme="dark"] .cpt-activation { background: #3f3718; border: 1px solid #726531; }
html[data-theme="dark"] .cpt-activation strong { color: #f5bc99; }
html[data-theme="dark"] .cpt-activation p { color: #f7d097; }
html[data-theme="dark"] .bc-exclu { background: #18213f; color: #aba6e7; }
html[data-theme="dark"] .ria-avis { background: #3f3718; border: 1px solid #726531; color: #f5bc99; }
html[data-theme="dark"] .agent-annuler { border: 1px solid rgba(51,55,82,.35); }
html[data-theme="dark"] .estim-envoi-form input { background: var(--surface); }
@media (max-width: 640px) {
    html[data-theme="dark"] .ria-filtres-bouton { background: var(--surface); }
    html[data-theme="dark"] .ria-filtres-nb { background: var(--indigo-btn); }
}
html[data-theme="dark"] .doublon { background: var(--surface); }
html[data-theme="dark"] .doublon:hover { border-color: #313e72; }
html[data-theme="dark"] .doublon-prix small { color: #f7c097; }
html[data-theme="dark"] .ar-galerie button { background: #1e2939; }
/* --- derive de header.css --- */
html[data-theme="dark"] .hdr { background: rgba(23,25,43,.9); }
html[data-theme="dark"] .hdr-nav > a, html[data-theme="dark"] .hdr-menu-btn { color: var(--ink-2); }
html[data-theme="dark"] .hdr-nav > a:hover, html[data-theme="dark"] .hdr-menu-btn:hover { background: #1a2b3d; }
html[data-theme="dark"] .hdr-nav > a[aria-current="page"] { background: #18213f; }
html[data-theme="dark"] .hdr-menu:hover .hdr-menu-btn, html[data-theme="dark"] .hdr-menu:focus-within .hdr-menu-btn { background: #1a2b3d; }
html[data-theme="dark"] .hdr-menu-panneau { background: var(--surface); }
html[data-theme="dark"] .hdr-menu-panneau a:hover { background: #18213f; }
html[data-theme="dark"] .hdr-fav { color: var(--ink-2); }
html[data-theme="dark"] .hdr-fav:hover { background: #3f1818; color: #f29caf; }
html[data-theme="dark"] .hdr-connexion { color: var(--ink-2); }
html[data-theme="dark"] .hdr-connexion:hover { background: #1a2b3d; }
html[data-theme="dark"] .hdr-compte:hover { background: #1a2b3d; border-color: #313e72; }
html[data-theme="dark"] .hdr-burger:hover { background: #1a2b3d; }
@media (max-width: 900px) {
    html[data-theme="dark"] .hdr-nav { background: var(--surface); }
    html[data-theme="dark"] .hdr-nav > a { border-bottom: 1px solid #315272; }
    html[data-theme="dark"] .hdr-nav > a[aria-current="page"] { background: #18213f; }
    html[data-theme="dark"] .hdr-menu-panneau a { border-bottom: 1px solid #315272; }
    html[data-theme="dark"] .hdr-nav-mobile { border-bottom: 8px solid #315272; }
    html[data-theme="dark"] .hdr-nav-mobile-lien { color: var(--ink-2); }
    html[data-theme="dark"] .hdr-nav > a.hdr-nav-mobile-pro { color: var(--ink-2); border-top: 8px solid #315272; }
}
/* --- derive de home-v3.css --- */
html[data-theme="dark"] .hv3 .gris { background: var(--surface); }
html[data-theme="dark"] .hv3-badge { border: 1px solid rgba(51,55,82,.14); }
html[data-theme="dark"] .hv3-badge b { color: #b0ade1; }
html[data-theme="dark"] .hv3-hero h1 em { background: linear-gradient(90deg, #18203f, #3f3418); }
html[data-theme="dark"] .hv3-barre { background: var(--surface); }
html[data-theme="dark"] .hv3-ex a { border: 1px solid rgba(51,55,82,.12); }
html[data-theme="dark"] .hv3-b { background: var(--surface); }
html[data-theme="dark"] .hv3-b-ambre { background: linear-gradient(135deg, #3f2e18, #3f2e18); }
html[data-theme="dark"] .hv3-b-ambre .fleche { color: #f7b397; }
html[data-theme="dark"] .hv3-b-mer { background: linear-gradient(135deg, #183d3f, #183c3f); }
html[data-theme="dark"] .hv3-b-mer .fleche { color: #99e1f5; }
html[data-theme="dark"] .hv3-carte-form { background: var(--surface); }
html[data-theme="dark"] .hv3-carte-form::before { background: linear-gradient(135deg, var(--indigo-btn), transparent 40%, transparent 60%, var(--amber)); }
html[data-theme="dark"] .hv3-carte-form .gratuit { color: #9fefbd; background: #183f25; }
html[data-theme="dark"] .hv3-app ul li::before { background: #3f3418 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e1b4b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat; }
html[data-theme="dark"] .hv3-store { background: var(--surface); color: #b0ade1; }
html[data-theme="dark"] .hv3-store small { color: var(--ink-2); }
html[data-theme="dark"] .hv3-store.bientot { border: 1px solid rgba(51,55,82,.18); }
html[data-theme="dark"] .hv3-articles a { background: var(--surface); }
html[data-theme="dark"] .hv3-faq details { background: var(--surface); }
html[data-theme="dark"] .hv3-pro { background: var(--surface); }
html[data-theme="dark"] .hv3-hero h1 em { background: linear-gradient(90deg, #3f3718, #3f3418 60%, #3f3618); }
html[data-theme="dark"] .hv3-barre-halo { background: conic-gradient(from var(--hv3-a, 0deg), #6366f1, #3f3418, #a855f7, #6366f1); }
html[data-theme="dark"] .hv3-barre input::placeholder { color: var(--ink-2); }
html[data-theme="dark"] .hv3-demo { border: 1px solid rgba(51,55,82,.3); }
html[data-theme="dark"] .hv3-demo-barre { background: var(--surface); }
html[data-theme="dark"] .hv3-demo-chips span { border: 1px solid rgba(51,55,82,.2); }
html[data-theme="dark"] .hv3-demo-card { background: rgba(23,25,43,.96); }
html[data-theme="dark"] .hv3-demo-card span { color: var(--ink-2); }
html[data-theme="dark"] .hv3-demo-card em { background: #18213f; color: #aca8e5; }
html[data-theme="dark"] .hv3-demo-card.baisse em { background: #3f1818; color: #f09e9e; }
html[data-theme="dark"] .hv3-demo-card.renta em { background: #183f25; color: #9fefbd; }
/* --- derive de desk-2909.css --- */
@media (min-width: 1100px) {
    html[data-theme="dark"] .agences-panel > .ria-filtres { background: var(--surface); }
}
@media (min-width: 1100px) {
    html[data-theme="dark"] .vg-empty > .ic { color: var(--indigo, #a19df1); }
}

/* --- Retouches manuelles --- */
html[data-theme="dark"] img:not([src$=".svg"]) { filter: brightness(.94); }
html[data-theme="dark"] .hdr-logo-carre img { filter: none; }
html[data-theme="dark"] input, html[data-theme="dark"] select, html[data-theme="dark"] textarea {
    background-color: var(--surface-2); color: var(--ink); border-color: var(--line);
}
html[data-theme="dark"] input::placeholder, html[data-theme="dark"] textarea::placeholder { color: #7d849c; }
html[data-theme="dark"] .ria-questions { background: var(--surface-2); }
html[data-theme="dark"] .ria-q { background: var(--surface); border-color: #3a3f6e; color: #c7d2fe; }
html[data-theme="dark"] .ria-q:hover, html[data-theme="dark"] .ria-q-n { background: var(--indigo-soft); color: #c7d2fe; }
html[data-theme="dark"] .ria-q-actif { background: var(--indigo-btn); color: #fff; border-color: var(--indigo-btn); }
html[data-theme="dark"] .bc-source { background: rgba(15, 17, 32, .88); color: #e0e7ff; }
html[data-theme="dark"] .fav-btn { background: rgba(15, 17, 32, .88); color: #6b7290; }
html[data-theme="dark"] .fav-btn.fav-actif { color: #f87171; }
html[data-theme="dark"] .bc-pied, html[data-theme="dark"] .bc-scan, html[data-theme="dark"] .scan-il-y-a { color: #8f96ad; }

/* Carte Leaflet : tuiles assombries, controles et bulles au theme */
html[data-theme="dark"] #ria-carte, html[data-theme="dark"] .leaflet-container { background: #1b1e30; }
html[data-theme="dark"] .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.9) contrast(.88) saturate(.6); }
html[data-theme="dark"] .leaflet-popup-content-wrapper, html[data-theme="dark"] .leaflet-popup-tip,
html[data-theme="dark"] .leaflet-bar a { background: var(--surface); color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] .leaflet-control-attribution { background: rgba(15, 17, 32, .8) !important; color: #a0a7bd; }
html[data-theme="dark"] .leaflet-control-attribution a { color: #a5b4fc; }
html[data-theme="dark"] .ria-pin span { border-color: var(--surface); background: var(--indigo-btn); }
html[data-theme="dark"] .ria-carte-vide { background: rgba(15, 17, 32, .85); }

/* Etiquette agence : jamais sous le bouton favori (38 px + marges) */
.bc-source {
    max-width: calc(100% - 74px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Regroupement des marqueurs de prix */
.ria-grappe { background: none; border: 0; }
.ria-grappe span {
    display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%;
    background: var(--indigo-btn); color: #fff; font-weight: 800; font-size: 13px;
    border: 3px solid #fff; box-shadow: 0 6px 16px rgba(79, 70, 229, .45);
}
html[data-theme="dark"] .ria-grappe span { border-color: var(--surface); }

/* Bandeau d'erreur d'alerte */
.ria-alerte-erreur { background: #fee2e2; border-color: #fca5a5; color: #991b1b; }
html[data-theme="dark"] .ria-alerte-erreur { background: #3b1518; border-color: #7f2a2f; color: #fecaca; }

/* Bureau : les blocs sous la grille restent dans la colonne des resultats,
   la colonne de filtres collante ne passe plus dessus */
@media (min-width: 1100px) {
    .agences-panel:has(> .ria-filtres) > .ria-alerte-ok,
    .agences-panel:has(> .ria-filtres) > .ria-alerte-erreur,
    .agences-panel:has(> .ria-filtres) > .ria-compte,
    .agences-panel:has(> .ria-filtres) > .ria-alerte,
    .agences-panel:has(> .ria-filtres) > .calc-note { grid-column: 2; }
}

/* Bouton de theme dans l'en-tete */
.hdr-theme {
    display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px;
    border: 0; background: none; color: #64748b; cursor: pointer; transition: background .13s, color .13s;
}
.hdr-theme:hover { background: var(--indigo-soft, #eef2ff); color: var(--indigo-dark); }
.hdr-theme:focus-visible { outline: 2px solid var(--indigo); outline-offset: 2px; }
.hdr-theme svg { width: 19px; height: 19px; }
.hdr-theme [data-ico] { display: none; }
html[data-theme-choix="auto"] .hdr-theme [data-ico="auto"],
html[data-theme-choix="clair"] .hdr-theme [data-ico="clair"],
html[data-theme-choix="sombre"] .hdr-theme [data-ico="sombre"] { display: block; }
html[data-theme="dark"] .hdr-theme { color: #a0a7bd; }
html[data-theme="dark"] .hdr { background: rgba(15, 17, 32, .9); border-bottom-color: var(--line); }
