/* theme.css : identité « Demandez » (refonte du 28/09/2026), chargée APRÈS site.css.
 * Clair, net, Geist ; un halo de couleurs réservé à la recherche. site.css garde la structure des pages,
 * ce fichier en change les jetons, la typographie et les surfaces. Composants neufs : recherche.css. */
@property --ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes tourne { to { --ang: 360deg; } }
@keyframes pouls { 0%, 100% { box-shadow: 0 0 0 0 rgba(22,194,163,.45); } 50% { box-shadow: 0 0 0 6px rgba(22,194,163,0); } }

:root {
  --papier: #F5F5F2; --carte: #FFFFFF; --encre: #0B0C0E; --encre-2: #3D4149; --trait: #E2E2DC; --trait-2: #ECECE7;
  --accent: #0B6B86; --accent-fond: #E3F2F6; --ambre-texte: #8F5400; --ambre-fond: #FFF2DC;
  --ok: #0F7A55; --ok-fond: #E5F5EE; --ko: #A8321F; --ko-fond: #FCEBE7; --nm: #555B64; --nm-fond: #EEEEEA;
  --tete: #F5F5F2; --tete-2: #FFFFFF; --tete-encre: #0B0C0E; --tete-doux: #3D4149; --tete-trait: #E2E2DC; --vif: #16C2A3; --ambre: #16C2A3;
  --f-chatbot: #3FA7FF; --f-vocal: #FF6B5A; --f-auto: #16C2A3; --f-conseil: #FFB547; --f-gen: #8C96A3;
  --a1: #16C2A3; --a2: #3FA7FF; --a3: #FFB547; --a4: #FF6B5A;
  --titre: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif; --texte: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif; --chiffre: "Geist Mono", ui-monospace, Consolas, monospace;
  --rayon: 16px; --ombre: 0 1px 2px rgba(11,12,14,.05), 0 12px 30px -22px rgba(11,12,14,.35);
  color-scheme: light;
}
/* Le site reste clair : les jetons sombres de site.css sont neutralisés. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --papier: #F5F5F2; --carte: #FFFFFF; --encre: #0B0C0E; --encre-2: #3D4149; --trait: #E2E2DC; --trait-2: #ECECE7;
    --accent: #0B6B86; --accent-fond: #E3F2F6; --ambre-texte: #8F5400; --ambre-fond: #FFF2DC; --ok: #0F7A55; --ok-fond: #E5F5EE; --ko: #A8321F; --ko-fond: #FCEBE7; --nm: #555B64; --nm-fond: #EEEEEA; color-scheme: light; }
}
:root[data-theme="dark"] { --papier: #F5F5F2; --carte: #FFFFFF; --encre: #0B0C0E; --encre-2: #3D4149; --trait: #E2E2DC; --trait-2: #ECECE7;
  --accent: #0B6B86; --accent-fond: #E3F2F6; --ambre-texte: #8F5400; --ambre-fond: #FFF2DC; --ok: #0F7A55; --ok-fond: #E5F5EE; --ko: #A8321F; --ko-fond: #FCEBE7; --nm: #555B64; --nm-fond: #EEEEEA; color-scheme: light; }

body { font: 16px/1.6 var(--texte); background-color: var(--papier); background-image: radial-gradient(circle at 1px 1px, rgba(11,12,14,.06) 1px, transparent 0); background-size: 22px 22px; -webkit-font-smoothing: antialiased; }
a { color: var(--encre); text-decoration-color: var(--a1); text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
a:hover { text-decoration-color: var(--encre); }
:focus-visible { outline: 2px solid var(--a2); outline-offset: 2px; }
.enveloppe { max-width: 1160px; padding-inline: clamp(16px, 3vw, 32px); }
h1, h2, h3 { font-family: var(--titre); font-stretch: normal; text-transform: none; letter-spacing: -.03em; font-weight: 600; }
h1 { letter-spacing: -.04em; }
h2 { font-size: clamp(22px, 2.6vw, 30px); font-weight: 600; margin: 44px 0 14px; }
h3 { font-size: 18px; font-weight: 600; letter-spacing: -.015em; }
main h1 { font-size: clamp(32px, 4.4vw, 52px) !important; font-weight: 600 !important; font-stretch: normal !important; text-transform: none !important; line-height: 1.04; }
.doux { color: var(--encre-2); }

/* en-tête */
header.site { position: sticky; top: 0; z-index: 30; background: color-mix(in srgb, var(--papier) 84%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--trait-2); color: var(--encre); }
header.site .enveloppe { padding-block: 12px; gap: 10px 22px; }
.marque { color: var(--encre); font: 600 16px/1 var(--titre); font-stretch: normal; text-transform: none; letter-spacing: -.01em; gap: 0; white-space: pre; }
.marque::before { margin-right: 10px; }
.marque img { display: none; }
.marque::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: conic-gradient(from var(--ang), var(--a1), var(--a2), var(--a3), var(--a4), var(--a1)); animation: tourne 6s linear infinite; box-shadow: 0 0 12px rgba(63,167,255,.4); flex: none; }
.marque span { color: var(--encre); }
nav.site { gap: 2px 20px; font-size: 14.5px; align-items: center; }
nav.site a { color: var(--encre-2); }
nav.site a:hover, nav.site a[aria-current="page"] { color: var(--encre); box-shadow: inset 0 -2px 0 var(--a1); }
nav.site a.porte-guide { color: #fff; background: var(--encre); border-radius: 999px; padding: 6px 12px; box-shadow: none; font-weight: 500; }
nav.site a.porte-guide:hover, nav.site a.porte-guide[aria-current="page"] { color: #fff; background: #26282D; box-shadow: none; }
.bandeau { background: transparent; border-bottom: 1px solid var(--trait-2); color: var(--encre-2); font: 12.5px/1.5 var(--texte); }
.bandeau b { color: var(--a1); }
main { padding-block: 8px 64px; }

/* pied */
footer.site { background: transparent; border-top: 1px solid var(--trait); color: var(--encre-2); }
footer.site a { color: var(--encre-2); }
footer.site a:hover { color: var(--encre); }

/* surfaces communes */
.bouton { font: 500 14.5px/1 var(--texte); background: var(--encre); color: #fff; border: 1px solid var(--encre); border-radius: 999px; padding: 10px 16px; }
.bouton:hover { background: #26282D; }
.bouton.secondaire, .bouton[aria-pressed="true"] { background: var(--carte); color: var(--encre); border-color: var(--trait); }
.bouton.secondaire:hover { border-color: var(--encre); }
/* site.css fonce le texte des boutons en mode sombre du système : le site restant clair, on le rétablit. */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .bouton { color: #fff; } :root:not([data-theme="light"]) .bouton.secondaire, :root:not([data-theme="light"]) .bouton[aria-pressed="true"] { color: var(--encre); } }
:root[data-theme="dark"] .bouton { color: #fff; } :root[data-theme="dark"] .bouton.secondaire, :root[data-theme="dark"] .bouton[aria-pressed="true"] { color: var(--encre); }
.kpi b { font-family: var(--titre); font-weight: 600; letter-spacing: -.04em; color: var(--encre); }
.encadre { background: var(--carte); border: 1px solid var(--trait); border-left: 1px solid var(--trait); border-radius: var(--rayon); box-shadow: var(--ombre); }
.encadre.ambre { background: var(--ambre-fond); border-color: #F2D9AE; }
.pastille { border-radius: 999px; font: 500 12.5px/1 var(--texte); letter-spacing: 0; text-transform: none; padding: 5px 10px; background: var(--carte); border-color: var(--trait); }
.classement-info { background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); }
.classement-info summary { font-family: var(--texte); font-weight: 500; }
.carte, .kpi, .graphe { background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); box-shadow: var(--ombre); }
.opt, .raccourcis button, .actifs button { border-radius: 999px; }
.opt[aria-pressed="true"] { background: var(--encre); color: #fff; border-color: var(--encre); }
.ctrl select, .filtres-chiffres select, .tri select, .choix-cmp select, .choix-agence select, .axes select, .recherche input { border-radius: 12px; background: var(--carte); border-color: var(--trait); }
.ctrl-lib, .sur { font-family: var(--chiffre); letter-spacing: .08em; }
.plateau { border-radius: 999px; background: var(--encre); color: #fff; box-shadow: 0 20px 40px -18px rgba(0,0,0,.5); }
.plateau .bouton { background: #fff; color: var(--encre); border-color: #fff; }
table.comparaison, .table-simple { background: var(--carte); border-radius: var(--rayon); overflow: hidden; }
.comparaison thead th { font-family: var(--titre); }
.prose { max-width: 76ch; }
.prose h2 { font-size: 24px; }

/* liste statique (sans JavaScript) et lignes de banc.mjs */
.lignes { display: grid; gap: 8px; }
.ligne { background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); transition: transform .2s, box-shadow .2s; }
.ligne:hover { transform: translateY(-1px); box-shadow: var(--ombre); }
.lignes > .groupe { font: 600 12px/1 var(--chiffre); letter-spacing: .1em; text-transform: uppercase; color: var(--encre-2); background: none; border: 0; padding: 18px 4px 4px; }
.ligne-tete { border-radius: var(--rayon); }
/* Une ligne entière est un lien : pas de soulignement sous le nom ni sous les chiffres. */
a.ligne-tete, a.ligne-tete:hover { text-decoration: none; }
/* Liste A-Z sans en-tête de colonnes : chaque chiffre garde son libellé. */
.lignes .ligne-tete .lu small { display: block; }
.nom b { font-weight: 600; letter-spacing: -.01em; }
.signature i { border-radius: 3px; background: var(--trait-2); }
.signature s { background: var(--encre); }
.compteur b { font-family: var(--titre); font-weight: 600; }

/* fiche d'essai */
.pv-tete { background: var(--carte); border: 1px solid var(--trait); border-radius: 22px; box-shadow: var(--ombre); padding: clamp(18px, 3vw, 30px); }
.pv-tete::before { display: none; }
.pv-tete h1 { font-size: clamp(32px, 4.4vw, 50px); font-weight: 600; letter-spacing: -.04em; text-transform: none; font-stretch: normal; }
.pv-ref { font-family: var(--chiffre); color: var(--encre-2); }
.pv-ref b { font-family: var(--titre); font-weight: 600; letter-spacing: -.04em; color: var(--encre); }
.cases i { border-radius: 50%; border: 1.5px solid var(--encre); background: transparent; width: 13px; height: 13px; }
.cases i.ok { background: var(--encre); }
.cases i.nm { border-style: dashed; border-color: #9EA3AB; }
.pv-bloc > h2 { font-size: 21px; text-transform: none; font-weight: 600; letter-spacing: -.02em; }
.pv-bloc > h2 small { font-family: var(--chiffre); font-weight: 500; letter-spacing: 0; }
.mesures { background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); overflow: hidden; }
.mesure .libelle { font-weight: 600; }
.mesure .provenance { font-family: var(--chiffre); color: var(--accent); }
.fil a { color: var(--encre-2); }

@media (prefers-reduced-motion: reduce) { .marque::before, .rq-halo, .rq-point { animation: none !important; } }
