/* Guyane One — thème sombre « Nuit amazonienne ».
   Activé par html[data-theme="dark"] (Paramètres › Apparence : Automatique, Clair ou Sombre).
   Les couleurs écrites en dur dans les écrans sont rattrapées ici par des sélecteurs d'attribut. */
html[data-theme="dark"] {
  color-scheme: dark;
  --sable: #0C1712; --nuit: #E7EFE9; --gris: #A3B4AA; --gris2: #8C9E94;
  --trait: #2A3E34; --trait2: #20322A; --vert-clair: #1D3A2B;
  --surf: #15241D; --surf2: #1B2D25; --lien: #6FD39E;
}
html[data-theme="dark"] body { background: #050B08; color: var(--nuit); }
html[data-theme="dark"] .frame { box-shadow: 0 30px 80px rgba(0,0,0,.6); }
html[data-theme="dark"] a { color: var(--lien); }
/* Les liens en forme de bouton plein gardent leur texte blanc */
html[data-theme="dark"] a.btn:not(.line):not(.soft):not(.white) { color: #fff; }
html[data-theme="dark"] input, html[data-theme="dark"] select, html[data-theme="dark"] textarea { color: var(--nuit); }

/* Surfaces blanches -> surfaces sombres */
html[data-theme="dark"] :is(.ib, .btn.line, .btn.white, .btn.danger, .chip, .card, .list, .li, .input, .opt, .stepper, .addph, .nav, .sheet, .foot,
  .pcard, .acard, .composer, .sos a, .code, .admin-top, .gact, .wx, .bubble.in span.t, .toast) { background: var(--surf); color: var(--nuit); border-color: var(--trait); }
html[data-theme="dark"] .li { border-bottom-color: var(--trait2); }
/* Puce choisie : !important car la règle des surfaces ci-dessus (:is(…, .bubble.in span.t, …)) est plus spécifique */
html[data-theme="dark"] .chip.on { background: var(--c, #0B5D3B) !important; border-color: var(--c, #0B5D3B) !important; color: #fff !important; }
html[data-theme="dark"] .livebar .chip.on { background: #050B08 !important; border-color: #050B08 !important; }
html[data-theme="dark"] .btn.line { color: var(--lien); border-color: var(--lien); }
html[data-theme="dark"] .btn.soft { background: var(--surf2); color: var(--nuit); }
html[data-theme="dark"] .link { color: var(--lien); }
html[data-theme="dark"] .pill { background: var(--vert-clair); color: var(--lien); }
html[data-theme="dark"] .opt { border-color: var(--trait) !important; }
html[data-theme="dark"] .opt.on { border-color: var(--c, var(--lien)) !important; }
html[data-theme="dark"] .switch { background: #3A4D43; }
html[data-theme="dark"] .grab { background: #3A4D43; }
html[data-theme="dark"] .composer input { background: var(--sable); }
html[data-theme="dark"] .hero, html[data-theme="dark"] .livebar .chip.on, html[data-theme="dark"] .admin-nav a.on { background: #050B08; color: #fff; }
html[data-theme="dark"] .admin-scr { background: var(--sable); }
html[data-theme="dark"] .mapwrap, html[data-theme="dark"] .mapwrap .leaflet-container { background: #1A2620; }
html[data-theme="dark"] .leaflet-tile-pane { filter: brightness(.72) contrast(1.1) saturate(.8); }

/* Teintes claires -> teintes profondes (le texte clair reste lisible) */
html[data-theme="dark"] .tile { background: color-mix(in srgb, var(--c) 26%, #13211A); color: var(--nuit); }
html[data-theme="dark"] .tile .ds { color: var(--gris); }
html[data-theme="dark"] .ico.sq { background: color-mix(in srgb, var(--c, #0B5D3B) 22%, #15241D); }
html[data-theme="dark"] .tag { background: color-mix(in srgb, var(--t, #E2EBDF) 24%, #15241D); color: color-mix(in srgb, var(--t, #E2EBDF) 55%, #fff); }
html[data-theme="dark"] :is(.devcode, .money, .codebox, .pub, .pub-ic, .urg > b) { background: var(--surf2); color: var(--nuit); border-color: var(--trait); }
html[data-theme="dark"] .urg > b { color: #FF8A78; }

/* Styles écrits directement dans les écrans */
html[data-theme="dark"] [style*="background:#fff"], html[data-theme="dark"] [style*="background: #fff"], html[data-theme="dark"] [style*="background:#FFF"] { background: var(--surf) !important; }
html[data-theme="dark"] [style*="background:#F3F5EF"], html[data-theme="dark"] [style*="background:#EDF1EA"], html[data-theme="dark"] [style*="background:#E4EBDD"], html[data-theme="dark"] [style*="background:#DCE6D6"] { background: var(--surf2) !important; }
html[data-theme="dark"] [style*="background:#E2EBDF"] { background: #183526 !important; }
html[data-theme="dark"] [style*="background:#FADFD9"], html[data-theme="dark"] [style*="background:#F7E1EC"] { background: #3A1E1A !important; }
html[data-theme="dark"] [style*="background:#FFF6E0"], html[data-theme="dark"] [style*="background:#FCE9D3"], html[data-theme="dark"] [style*="background:#F6EBD3"] { background: #33281A !important; }
html[data-theme="dark"] [style*="background:#E9E2F4"], html[data-theme="dark"] [style*="background:#DBE7F5"] { background: #222A3C !important; }
html[data-theme="dark"] [style*="background:#DCE3D7"] { background: var(--trait) !important; }
html[data-theme="dark"] [style*="color:#0A2E22"], html[data-theme="dark"] [style*="color:#3D4D45"], html[data-theme="dark"] [style*="color:#5B6B63"] { color: var(--nuit) !important; }
html[data-theme="dark"] [style*="color:#9E2B19"], html[data-theme="dark"] [style*="color:#7A2416"] { color: #FF8A78 !important; }
html[data-theme="dark"] [style*="color:#0B5D3B"] { color: var(--lien) !important; }
html[data-theme="dark"] [style*="color:#8A4A08"] { color: #F2B36B !important; }
html[data-theme="dark"] [style*="border:1px solid #E2E8DE"], html[data-theme="dark"] [style*="border:2px solid #DCE3D7"] { border-color: var(--trait) !important; }

/* Icônes tracées en couleur sombre */
html[data-theme="dark"] svg[stroke="#0A2E22"], html[data-theme="dark"] svg[stroke="#3D4D45"], html[data-theme="dark"] svg[stroke="#5B6B63"] { stroke: #C9D6CE; }
html[data-theme="dark"] svg[stroke="#0B5D3B"] { stroke: var(--lien); }

/* Les cartes blanches de l'écran d'ouverture et les éléments sur fond photo gardent leur aspect */
html[data-theme="dark"] .splash, html[data-theme="dark"] .intro { color: #fff; }

/* Passage de thème en douceur */
html.theme-anim, html.theme-anim * { transition: background-color .35s ease, color .35s ease, border-color .35s ease !important; }

/* Accès rapides de l'accueil */
html[data-theme="dark"] .quick a { color: var(--nuit); }
html[data-theme="dark"] .quick a span.q { background: color-mix(in srgb, var(--gt) 14%, #15241D); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--gt) 30%, transparent); }
html[data-theme="dark"] .nav a { color: #A3B4AA; }
html[data-theme="dark"] .nav a.on { color: var(--lien); }
html[data-theme="dark"] .nav a.on svg { stroke: var(--lien); }
html[data-theme="dark"] .nav a.plus { color: var(--nuit); }

/* Guide : tuiles de catégories */
html[data-theme="dark"] .gcat { background: color-mix(in srgb, var(--g) 20%, #15241D) !important; color: var(--nuit); }
html[data-theme="dark"] .gcat b { color: color-mix(in srgb, var(--g) 45%, #fff); }
html[data-theme="dark"] .gcat span { color: var(--gris); }
html[data-theme="dark"] :is(.gsq, .pc-top) { background: color-mix(in srgb, var(--gt) 16%, #1B2D25); }
html[data-theme="dark"] .lhero, html[data-theme="dark"] .lhero .leaflet-container { background: #1A2620; }

/* Inscription : illustrations un peu adoucies la nuit, cartes d'atouts en surface sombre */
html[data-theme="dark"] :is(.ins-ill, .ropt .rill img) { filter: brightness(.9) saturate(.95); }
html[data-theme="dark"] .ins-ill.big { box-shadow: 0 10px 28px rgba(0,0,0,.45); }
html[data-theme="dark"] .ins-atout { background: var(--surf); border-color: var(--trait); }
html[data-theme="dark"] .ins-atout svg { stroke: color-mix(in srgb, var(--c, #6FD39E) 45%, #fff); }
html[data-theme="dark"] .ropt.on { box-shadow: 0 8px 22px rgba(0,0,0,.4); }

/* Business : boutons de la galerie et barres de notes */
html[data-theme="dark"] .ph .first { background: rgba(0,0,0,.7); }
/* Réseaux sociaux et vidéos des vitrines */
html[data-theme="dark"] .rsx a { color: #fff; box-shadow: 0 0 0 1.5px rgba(255,255,255,.18); }
html[data-theme="dark"] .rsx a:focus-visible { outline-color: var(--lien); }
html[data-theme="dark"] .vid.open { color: var(--nuit); }
html[data-theme="dark"] .vid-err { background: #3A2A12; color: #F5C98A; }
html[data-theme="dark"] .vprog { background: var(--surf2); }
html[data-theme="dark"] .scroll.vit .hero { background: #222A3C; }
html[data-theme="dark"] svg[stroke="#533C83"] { stroke: #C4B5E8; }
html[data-theme="dark"] [style*="color:#533C83"] { color: #C4B5E8 !important; }
/* Live : photos et vidéos des signalements */
html[data-theme="dark"] .pin-m { background: #E7EFE9; }
html[data-theme="dark"] .pin-m svg { stroke: #0A2E22; }
html[data-theme="dark"] .lm-t { background: #1A2620; }
html[data-theme="dark"] .lm-view .link { color: #fff; }
html[data-theme="dark"] .lm-avert svg { stroke: #F2B36B; }
