/* ==========================================================================
   CSS Consult — Skin partagé des instruments pilotés par config — v1.1
   Fichier : assets/css/instruments/_cssc.css
   Chaque instrument enqueue assets/css/instruments/{slug}.css qui fait :
       @import url("_cssc.css");
   Portée : tout est scopé sous .cssc-q.
   v1.1 : ajout .fdbar (compteur de tri forcé) + .codebadge (code Holland).
   ========================================================================== */
.cssc-q{
  --c-primary:#1f4e5f; --c-primary-2:#2c6e80; --c-ink:#1d2b30; --c-muted:#5b6b70;
  --c-line:#e3e9eb; --c-card:#fff;
  --c-vert:#2e9e5b; --c-jaune:#e8a93b; --c-rouge:#d6493b;
  --c-r:14px; --c-sh:0 2px 10px rgba(20,50,60,.06),0 1px 3px rgba(20,50,60,.08);
  max-width:840px; margin:0 auto; color:var(--c-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55; -webkit-font-smoothing:antialiased;
}
.cssc-q *{box-sizing:border-box}
.cssc-q .head{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--c-r);box-shadow:var(--c-sh);padding:22px 24px;margin-bottom:18px}
.cssc-q .brand{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cssc-q .logo{width:34px;height:34px;border-radius:9px;background:var(--c-primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;letter-spacing:-.5px}
.cssc-q .brand b{font-size:14px;letter-spacing:.2px}
.cssc-q .brand small{display:block;font-weight:500;color:var(--c-muted);font-size:11px}
.cssc-q h1.title{margin:0 0 4px;font-size:21px;color:var(--c-primary)}
.cssc-q .attr{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--c-muted);background:#f1f5f6;border:1px solid var(--c-line);border-radius:999px;padding:4px 10px;margin-top:8px}
.cssc-q .attr b{color:var(--c-ink)}
.cssc-q .intro{margin:12px 0 0;color:#36474d;font-size:14.5px}
.cssc-q .echelle{margin-top:12px;font-size:13.5px;background:#f7fafa;border-left:3px solid var(--c-primary);padding:10px 14px;border-radius:8px}
.cssc-q .ident{display:grid;grid-template-columns:1fr 1fr 160px;gap:12px;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--c-r);box-shadow:var(--c-sh);padding:18px 20px;margin-bottom:18px}
@media(max-width:640px){.cssc-q .ident{grid-template-columns:1fr}}
.cssc-q .field label{display:block;font-size:12px;font-weight:600;color:var(--c-muted);margin-bottom:5px}
.cssc-q .field input{width:100%;border:1px solid var(--c-line);border-radius:9px;padding:9px 11px;font:inherit;font-size:14px}
.cssc-q .field input:focus{outline:0;border-color:var(--c-primary-2);box-shadow:0 0 0 3px rgba(44,110,128,.12)}
.cssc-q .section{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--c-r);box-shadow:var(--c-sh);overflow:hidden;margin-bottom:16px}
.cssc-q .sbar{padding:13px 18px;color:#fff;font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:9px}
.cssc-q .sbar .n{background:rgba(255,255,255,.22);border-radius:7px;width:24px;height:24px;display:grid;place-items:center;font-size:12px}
.cssc-q .item{padding:15px 18px;border-top:1px solid var(--c-line)}
.cssc-q .item:first-of-type{border-top:0}
.cssc-q .q{font-size:14px;margin-bottom:10px}
.cssc-q .q .qn{color:var(--c-muted);font-weight:700;margin-right:6px}
.cssc-q .rev{font-size:11px;color:#c75b39;font-weight:600;margin-left:8px}
.cssc-q .opts{display:grid;gap:6px}
.cssc-q .opts.n6{grid-template-columns:repeat(6,1fr)}
.cssc-q .opts.n7{grid-template-columns:repeat(7,1fr)}
.cssc-q .opts.n5{grid-template-columns:repeat(5,1fr)}
.cssc-q .opts.n4{grid-template-columns:repeat(4,1fr)}
.cssc-q .opts.n3{grid-template-columns:repeat(3,1fr)}
.cssc-q .opts.n2{grid-template-columns:repeat(2,1fr)}
@media(max-width:520px){.cssc-q .opts{grid-template-columns:repeat(2,1fr)!important}}
.cssc-q .opt{position:relative}
.cssc-q .opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.cssc-q .opt span{display:block;border:1px solid var(--c-line);background:#fbfcfc;border-radius:9px;padding:9px 4px;font-size:11.5px;color:var(--c-muted);text-align:center;cursor:pointer;transition:.12s;line-height:1.25}
.cssc-q .opt:hover span{border-color:var(--c-primary-2);color:var(--c-ink)}
.cssc-q .opt input:checked+span{background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:600}
.cssc-q .opt input:focus-visible+span{box-shadow:0 0 0 3px rgba(44,110,128,.25)}
/* v1.1 — compteur de tri forcé (WIL) */
.cssc-q .fdbar{position:sticky;bottom:0;z-index:5;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
  background:rgba(255,255,255,.96);backdrop-filter:blur(4px);border:1px solid var(--c-line);border-radius:12px;
  box-shadow:var(--c-sh);padding:10px 12px;margin:0 0 12px}
.cssc-q .fdbar .fd{font-size:12px;color:var(--c-muted);background:#f4f7f8;border:1px solid var(--c-line);border-radius:999px;padding:4px 11px}
.cssc-q .fdbar .fd b{color:var(--c-ink);font-weight:700}
.cssc-q .fdbar .fd.ok{background:#eaf6ee;border-color:#bfe3cb;color:#1f7a3d}
.cssc-q .fdbar .fd.ok b{color:#1f7a3d}
.cssc-q .fdbar .fd.over{background:#fdecea;border-color:#f3c9c1;color:#b23b2c}
.cssc-q .fdbar .fd.over b{color:#b23b2c}
.cssc-q .fdbar .fd.tot{margin-left:auto;font-weight:600}
.cssc-q .actions{text-align:center;margin:8px 0 26px}
.cssc-q .btn{appearance:none;border:0;background:var(--c-primary);color:#fff;font:inherit;font-weight:700;font-size:15px;padding:13px 30px;border-radius:11px;cursor:pointer;transition:.15s;box-shadow:var(--c-sh)}
.cssc-q .btn:hover{background:var(--c-primary-2)}
.cssc-q .btn:disabled{opacity:.5;cursor:not-allowed}
.cssc-q .warn{color:var(--c-rouge);font-size:13px;margin-top:10px;min-height:18px}
.cssc-q .results{display:none;animation:cFade .3s ease}
.cssc-q .results.show{display:block}
@keyframes cFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cssc-q .card{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--c-r);box-shadow:var(--c-sh);padding:22px 24px;margin-bottom:18px}
.cssc-q .card h2{margin:0 0 2px;font-size:18px;color:var(--c-primary)}
.cssc-q .card .sub{color:var(--c-muted);font-size:13px;margin-bottom:18px}
.cssc-q .headfeu{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--c-line);background:#fafcfc;margin-bottom:8px}
.cssc-q .dot{width:14px;height:14px;border-radius:50%}
.cssc-q .feu{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:3px 10px;color:#fff}
/* v1.1 — badge code Holland */
.cssc-q .codebadge{display:inline-flex;flex-direction:column;align-items:center;gap:2px;background:#f4f8f9;border:1px solid var(--c-line);border-radius:12px;padding:10px 22px;margin:0 0 14px}
.cssc-q .codebadge small{font-size:11px;color:var(--c-muted);font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.cssc-q .codebadge b{font-size:30px;letter-spacing:5px;color:var(--c-primary)}
.cssc-q .g{margin:16px 0}
.cssc-q .g .lab{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;margin-bottom:6px}
.cssc-q .g .lab .v{font-weight:800;font-size:15px}
.cssc-q .track{position:relative;height:13px;background:#eef2f3;border-radius:8px}
.cssc-q .fill{position:absolute;left:0;top:0;bottom:0;border-radius:8px;width:0;transition:width .5s ease}
.cssc-q .mk{position:absolute;top:-3px;bottom:-3px;width:2px;background:#c4ced1;border-radius:2px}
.cssc-q .interp{font-size:13.5px;color:#36474d;background:#f7fafa;border-left:3px solid var(--c-line);padding:11px 14px;border-radius:8px;margin-top:10px}
.cssc-q .interp.zone-low{border-left-color:var(--c-vert)}
.cssc-q .interp.zone-medium{border-left-color:var(--c-jaune)}
.cssc-q .interp.zone-high{border-left-color:var(--c-rouge)}
.cssc-q .pdom{background:#f4f8f9;border:1px solid var(--c-line);border-radius:10px;padding:12px 14px;margin:6px 0 14px;font-size:13.5px}
.cssc-q .pdom b{color:var(--c-primary)}
.cssc-q .team{background:#eef5f7;border:1px solid #cfe0e6;border-radius:var(--c-r);padding:20px 22px;margin-bottom:18px}
.cssc-q .team h3{margin:0 0 6px;font-size:15.5px;color:var(--c-primary)}
.cssc-q .team p{font-size:13px;color:#3a4d53;margin:0 0 12px}
.cssc-q .team-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cssc-q .team input{flex:1;min-width:200px;border:1px solid var(--c-line);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;text-transform:uppercase;letter-spacing:.5px}
.cssc-q .team-msg{font-size:13px;margin-top:10px;min-height:18px}
.cssc-q .team-msg.ok{color:var(--c-vert);font-weight:600}
.cssc-q .team-msg.err{color:var(--c-rouge);font-weight:600}
.cssc-q .anon{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--c-muted);margin-top:12px}
.cssc-q .foot{font-size:11.5px;color:#7d8a8e;border-top:1px solid var(--c-line);margin-top:6px;padding-top:13px}
.cssc-q .disc{font-size:12px;color:#8a969a;text-align:center;margin:4px 0 24px}


/* ── v1.2 — notes explicatives par dimension (dim_notes) ─────────────────── */
.cssc-q .interp.dn{text-align:left}
.cssc-q .interp.dn p{margin:0 0 7px}
.cssc-q .interp.dn p:last-child{margin-bottom:0}
.cssc-q .interp .dn-def{color:#5b6b70;font-size:12.5px}
.cssc-q .interp .dn-lvl{font-weight:600}
.cssc-q .interp .dn-lev{background:#fdf7ef;border:1px solid #f0e0c8;border-radius:8px;padding:7px 10px;font-size:12.5px;font-weight:400}
.cssc-q .interp .dn-lev b{color:#a8702a}
