/*
 * Diagnostic de maturité IA — outil consultant
 * Complément à benchmark-ia.css (variables, polices, boutons, champs).
 * Chargé uniquement sur templates/diagnostic-maturite.php.
 */

/* ---- Bandeau ---------------------------------------------------------- */
.d-top{background:var(--gd-bleu-profond);color:#eaf4ff;padding:26px 0 24px}
.d-top .wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.d-top .kicker{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;font-weight:600;color:var(--gd-bleu-turquoise);margin-bottom:8px}
.d-top h1{font-size:clamp(24px,3.4vw,32px);font-weight:800;color:#fff;letter-spacing:-.02em}
.d-top .sub{font-size:14.5px;color:#bcd6ef;margin-top:6px;max-width:62ch}
.d-badge-priv{background:rgba(166,237,250,.16);color:var(--gd-bleu-turquoise);font-family:var(--gd-font-display);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;white-space:nowrap}

/* ---- Stepper ---------------------------------------------------------- */
/* top:59px — se cale sous la barre .nav (60px), elle-même sticky. */
.d-nav{position:sticky;top:59px;z-index:50;background:rgba(251,248,244,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--gd-line)}
.d-stepper{display:flex;gap:6px;padding:12px 0;overflow-x:auto;scrollbar-width:thin}
.d-step{flex:1 0 auto;min-width:92px;background:none;border:none;cursor:pointer;padding:8px 6px;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--gd-font-text);transition:background .15s}
.d-step:hover{background:var(--gd-accent-08)}
.d-step-n{width:26px;height:26px;border-radius:50%;background:var(--gd-line);color:var(--gd-muted);font-family:var(--gd-font-display);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.d-step-l{font-size:11.5px;color:var(--gd-muted);text-align:center;line-height:1.25}
.d-step.done .d-step-n{background:var(--gd-bleu-ciel);color:var(--gd-bleu-fonce)}
.d-step.cur .d-step-n{background:var(--gd-accent);color:#fff;box-shadow:0 0 0 3px var(--gd-accent-12)}
.d-step.cur .d-step-l{color:var(--gd-ink);font-weight:600}

/* ---- Écran d'accueil --------------------------------------------------- */
.d-intro{max-width:760px;padding:14px 0 10px}
.d-intro-h{font-size:clamp(26px,3.6vw,36px);font-weight:800;letter-spacing:-.025em;line-height:1.14;margin-bottom:14px}
.d-intro-p{font-size:17px;color:var(--gd-ink-soft);line-height:1.6;margin-bottom:34px;max-width:64ch}
.d-intro-pts{display:flex;flex-direction:column;gap:20px;margin-bottom:38px}
.d-intro-pt{display:flex;gap:18px;align-items:flex-start}
.d-intro-pt .n{flex:none;min-width:56px;height:38px;padding:0 12px;border-radius:10px;background:var(--gd-accent-08);color:var(--gd-accent);font-family:var(--gd-font-display);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center}
.d-intro-pt h3{font-family:var(--gd-font-display);font-size:16.5px;font-weight:700;margin-bottom:3px}
.d-intro-pt p{font-size:14.5px;color:var(--gd-ink-soft);line-height:1.55}
.d-intro-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.d-intro-meta{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;font-weight:600;color:var(--gd-muted)}

/* ---- Panneaux --------------------------------------------------------- */
.d-stage{max-width:900px;padding-top:32px;padding-bottom:40px}
.d-panel{display:none}
.d-panel.active{display:block}

.d-card{background:var(--gd-surface);border:1px solid var(--gd-line-soft);border-radius:var(--gd-radius);box-shadow:var(--gd-shadow-sm);padding:24px 26px;margin-bottom:20px}
.d-card-h{font-family:var(--gd-font-display);font-size:16px;font-weight:700;margin-bottom:16px;color:var(--gd-ink)}
.d-hint{font-size:13.5px;color:var(--gd-muted);margin:-8px 0 16px}
.d-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field textarea{width:100%;padding:12px 14px;border:1px solid var(--gd-line);border-radius:10px;background:var(--gd-beige);font-family:var(--gd-font-text);font-size:14.5px;color:var(--gd-ink);resize:vertical}
.field textarea:focus{outline:none;border-color:var(--gd-accent);box-shadow:0 0 0 3px var(--gd-accent-12)}

/* ---- Oui / Non -------------------------------------------------------- */
.d-yesno{width:100%;border-collapse:collapse}
.d-yesno td{padding:11px 0;border-top:1px solid var(--gd-line-soft);font-size:14.5px;color:var(--gd-ink);vertical-align:middle;line-height:1.45}
.d-yesno tr:first-child td{border-top:none}
.d-yn-cells{width:150px;white-space:nowrap;text-align:right}
.d-yn{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:6px 12px;border:1.5px solid var(--gd-line);border-radius:999px;cursor:pointer;font-size:13.5px;font-family:var(--gd-font-display);font-weight:600;color:var(--gd-muted);transition:all .15s}
.d-yn input{position:absolute;opacity:0;width:0;height:0}
.d-yn:hover{border-color:var(--gd-accent);color:var(--gd-accent)}
.d-yn.on{background:var(--gd-accent);border-color:var(--gd-accent);color:#fff}

/* ---- Sélection du niveau d'un axe ------------------------------------- */
.d-axis-head{margin-bottom:22px}
.d-axis-kicker{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;font-weight:600;color:var(--gd-accent)}
.d-axis-title{font-size:clamp(24px,3.2vw,32px);font-weight:700;letter-spacing:-.02em;margin:8px 0 6px}
.d-axis-sub{font-size:15px;color:var(--gd-ink-soft)}

.d-levels{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.d-level{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border:1.5px solid var(--gd-line);border-radius:var(--gd-radius);background:var(--gd-surface);cursor:pointer;text-align:left;font-family:var(--gd-font-text);transition:border-color .15s,background .15s}
.d-level:hover{border-color:var(--gd-accent);background:var(--gd-accent-08)}
.d-level.sel{border-color:var(--gd-accent);background:var(--gd-accent-08);box-shadow:0 0 0 3px var(--gd-accent-12)}
.d-level-n{flex:none;width:30px;height:30px;border-radius:8px;background:var(--gd-line);color:var(--gd-ink-soft);font-family:var(--gd-font-display);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.d-level.sel .d-level-n{background:var(--gd-accent);color:#fff}
.d-level-body{display:flex;flex-direction:column;gap:3px}
.d-level-lab{font-family:var(--gd-font-display);font-weight:700;font-size:15.5px;color:var(--gd-ink)}
.d-level-desc{font-size:14.5px;color:var(--gd-ink-soft);line-height:1.5}

/* ---- Barre d'actions -------------------------------------------------- */
.d-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;padding-top:22px;border-top:1px solid var(--gd-line)}
.d-actions .prev{background:none;border:none;color:var(--gd-muted);font-family:var(--gd-font-text);font-size:15px;cursor:pointer}
.d-actions .prev:hover:not(:disabled){color:var(--gd-ink)}
.d-actions .prev:disabled{opacity:.3;cursor:not-allowed}
.d-progress{font-family:var(--gd-font-display);font-weight:600;font-size:13px;color:var(--gd-muted);text-transform:uppercase;letter-spacing:.08em}

/* ---- Résultats -------------------------------------------------------- */
.d-warn{display:none;background:rgba(198,116,42,.1);border:1px solid rgba(198,116,42,.3);color:#8a4d16;border-radius:var(--gd-radius);padding:14px 18px;font-size:14.5px;margin-bottom:22px;line-height:1.55}
.d-warn.show{display:block}

.d-res-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.d-res-client{font-family:var(--gd-font-display);font-size:24px;font-weight:800;letter-spacing:-.02em}
.d-res-meta{font-size:14px;color:var(--gd-muted);margin-top:4px}

.d-gauge{background:var(--gd-bleu-profond);border-radius:var(--gd-radius);padding:26px 28px;color:#eaf4ff;margin-bottom:26px}
.d-gauge .lab{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600;color:#8fb4d8;margin-bottom:14px}
.d-gauge-track{position:relative;height:12px;border-radius:99px;background:rgba(255,255,255,.14);margin-bottom:10px}
.d-gauge-fill{position:absolute;left:0;top:0;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gd-bleu-marine),var(--gd-bleu-turquoise));transition:width .8s cubic-bezier(.4,0,.2,1)}
.d-gauge-stops{display:flex;justify-content:space-between}
.d-stop{font-family:var(--gd-font-display);font-weight:700;font-size:12px;color:#5f83a8;width:20px;text-align:center}
.d-stop.on{color:var(--gd-bleu-turquoise)}
.d-gauge-name{font-family:var(--gd-font-display);font-weight:800;font-size:22px;color:#fff;margin-top:16px}
.d-gauge-name b{color:var(--gd-bleu-turquoise)}
.d-nc{color:#8fb4d8;font-style:italic;font-weight:500;font-size:17px}

.d-synth{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start;margin-bottom:26px}
.d-res-table{width:100%;border-collapse:collapse;font-size:14px}
.d-res-table th,.d-res-table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--gd-line-soft);vertical-align:top}
.d-res-table thead th{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;color:var(--gd-muted);border-bottom:1px solid var(--gd-line)}
.d-res-table tbody th{font-family:var(--gd-font-display);font-weight:600;color:var(--gd-ink);width:26%}
.d-res-table .num{font-family:var(--gd-font-display);font-weight:800;color:var(--gd-accent);text-align:center;width:56px}
.d-res-table .desc{color:var(--gd-ink-soft);font-size:13.5px;line-height:1.5}
.d-res-table tr.weak th{color:var(--gd-warn)}
.d-res-table tr.weak .num{color:var(--gd-warn)}
.d-res-table tr.weak th::after{content:" ← limite le niveau global";font-family:var(--gd-font-text);font-weight:400;font-size:11.5px;color:var(--gd-warn)}

.d-cmt{border-left:3px solid var(--gd-line);padding:2px 0 2px 14px;margin-bottom:14px}
.d-cmt b{font-family:var(--gd-font-display);font-size:14px;color:var(--gd-ink)}
.d-cmt p{font-size:14px;color:var(--gd-ink-soft);margin-top:3px;white-space:pre-line}

.d-rules{list-style:none;padding:0;margin:0}
.d-rules li{position:relative;padding-left:18px;margin-bottom:9px;font-size:14px;color:var(--gd-ink-soft);line-height:1.55}
.d-rules li::before{content:"·";position:absolute;left:4px;color:var(--gd-accent);font-weight:800}

.d-save-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}
.d-save-msg{font-size:14px;font-weight:600}
.d-save-msg.ok{color:#1c7a4a}
.d-save-msg.err{color:var(--gd-warn)}

@media(max-width:820px){
  .d-grid2{grid-template-columns:1fr}
  .d-synth{grid-template-columns:1fr}
  .d-yn-cells{width:auto}
}

/* ---- Impression / PDF ------------------------------------------------- */
@media print{
  @page{margin:14mm}
  .nav,.d-nav,.d-actions,.d-save-row,.d-top .d-badge-priv,.d-warn{display:none !important}
  .d-panel{display:none !important}
  #d-results.active{display:block !important}
  body{background:#fff}
  .d-top{background:#fff;color:var(--gd-ink);border-bottom:2px solid var(--gd-accent);padding-bottom:14px}
  .d-top h1,.d-top .kicker{color:var(--gd-ink)}
  .d-top .sub{color:var(--gd-muted)}
  .d-gauge{background:#fff;color:var(--gd-ink);border:1px solid var(--gd-line);padding:18px 0}
  .d-gauge .lab,.d-stop{color:var(--gd-muted)}
  .d-gauge-track{background:var(--gd-line)}
  .d-gauge-name,.d-gauge-name b{color:var(--gd-ink)}
  .d-card,.d-synth,.d-res-table tr{break-inside:avoid;box-shadow:none}
}
