/*
 * Benchmark maturité IA — Go&Dev
 * Styles du template templates/benchmark-ia.php.
 * Design system : palette officielle 7 couleurs, Inter + IBM Plex Sans (variables).
 * Chargé uniquement sur le template Benchmark (voir functions.php).
 */
@font-face{
  font-family:'Inter';
  src:url('../fonts/inter-var.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'IBM Plex Sans';
  src:url('../fonts/ibm-plex-sans-var.woff2') format('woff2');
  font-weight:100 700; font-style:normal; font-display:swap;
}

:root{
  /* ---- Palette officielle Go&Dev (7 couleurs) · verbatim Design System ---- */
  --gd-bleu-profond:#00264C;   /* 001 */
  --gd-bleu-fonce:#03407B;     /* 002 */
  --gd-bleu-marine:#0366A4;    /* 003 */
  --gd-bleu-turquoise:#A6EDFA; /* 004 */
  --gd-bleu-ciel:#CBEFF2;      /* 005 */
  --gd-beige:#FBF8F4;          /* 006 */
  --gd-noir:#1E1F1F;           /* 007 */
  --gd-blanc:#FFFFFF;

  --gd-bg:var(--gd-beige);
  --gd-surface:var(--gd-blanc);
  --gd-ink:var(--gd-bleu-profond);
  --gd-ink-soft:#3a5573;
  --gd-accent:var(--gd-bleu-marine);
  --gd-accent-2:var(--gd-bleu-turquoise);

  --gd-font-display:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --gd-font-text:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,sans-serif;

  --gd-radius:14px;
  --gd-radius-sm:9px;
  --gd-shadow:0 1px 2px rgba(0,38,76,.06),0 12px 32px -12px rgba(0,38,76,.22);
  --gd-shadow-sm:0 1px 2px rgba(0,38,76,.08);

  --gd-line:rgba(0,38,76,.10);
  --gd-line-soft:rgba(0,38,76,.06);
  --gd-muted:#5a708c;
  --gd-muted-2:#8496ab;
  --gd-accent-12:rgba(3,102,164,.12);
  --gd-accent-08:rgba(3,102,164,.08);
  --gd-warn:#c6742a;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--gd-font-text);background:var(--gd-bg);color:var(--gd-ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,.display{font-family:var(--gd-font-display);letter-spacing:-.02em;line-height:1.12;color:var(--gd-ink)}
a{color:var(--gd-accent);text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px}
.eyebrow{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:12px;color:var(--gd-accent)}

/* ---- Buttons ---- */
.btn{font-family:var(--gd-font-display);font-weight:600;font-size:15px;border:none;border-radius:11px;padding:14px 26px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:transform .12s ease,filter .12s ease,background .12s ease,opacity .12s ease;text-decoration:none;line-height:1}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.35;cursor:not-allowed;transform:none;filter:none}
.btn-primary{background:var(--gd-accent);color:#fff}
.btn-dark{background:var(--gd-bleu-profond);color:#fff}
.btn-turq{background:var(--gd-bleu-turquoise);color:var(--gd-bleu-profond)}
.btn-ghost{background:transparent;color:var(--gd-bleu-profond);border:1.5px solid var(--gd-line)}
.btn-lg{padding:17px 32px;font-size:16px}
.btn .arw{font-size:17px;line-height:0}

.badge{font-family:var(--gd-font-display);font-weight:600;font-size:12px;padding:5px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:7px}
.b-ciel{background:var(--gd-bleu-ciel);color:var(--gd-bleu-fonce)}
.b-marine{background:var(--gd-accent-12);color:var(--gd-accent)}
.b-turq{background:var(--gd-bleu-turquoise);color:var(--gd-bleu-profond)}
.b-warn{background:rgba(198,116,42,.14);color:var(--gd-warn)}

.card{background:var(--gd-surface);border-radius:var(--gd-radius);padding:26px;box-shadow:var(--gd-shadow-sm);border:1px solid var(--gd-line-soft)}

/* ---- Nav ---- */
.nav{position:sticky;top:0;z-index:60;background:rgba(251,248,244,.85);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--gd-line)}
.nav-in{max-width:1080px;margin:0 auto;padding:0 32px;height:60px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px;color:var(--gd-ink);font-family:var(--gd-font-display);font-weight:700;font-size:16px}
.brand svg{height:24px;width:auto;color:var(--gd-accent)}
.brand .sep{width:1px;height:18px;background:var(--gd-line)}
.brand .tool{color:var(--gd-muted);font-weight:500;font-size:14px}
.nav .n-cta{font-family:var(--gd-font-display);font-weight:600;font-size:13.5px;color:var(--gd-accent)}

.screen{display:none}
.screen.active{display:block}

/* =========================================================
   LANDING · hero bleu profond signature Go&Dev
   ========================================================= */
.lp-hero{position:relative;overflow:hidden;color:#eaf4ff;background:radial-gradient(120% 140% at 88% -10%,#03407B 0%,#00264C 52%,#001B38 100%)}
.lp-hero .mk{position:absolute;pointer-events:none;color:#0b3a68;z-index:0}
.lp-hero .mk.a{width:480px;top:-60px;right:-40px;opacity:.55}
.lp-hero .mk.b{width:230px;bottom:-30px;left:8%;opacity:.4;transform:rotate(180deg)}
.lp-in{position:relative;z-index:2;padding:70px 0 78px;max-width:720px}
.lp-lockup{height:30px;width:auto;color:var(--gd-bleu-turquoise);margin-bottom:40px;display:block}
.lp-kicker{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:600;color:var(--gd-bleu-turquoise);margin-bottom:20px}
.lp-hero h1{font-size:clamp(38px,5.6vw,62px);font-weight:800;letter-spacing:-.03em;line-height:1.04;color:#fff}
.lp-hero .lp-sub{font-size:19px;line-height:1.55;color:#bcd6ef;margin:24px 0 38px;max-width:60ch}
.lp-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.lp-meta{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600;color:#8fb4d8;display:flex;align-items:center;gap:9px}
.lp-meta svg{width:16px;height:16px;stroke:#8fb4d8;fill:none;stroke-width:1.6}

/* 3 points sous le hero · pas de grille éditoriale numérotée */
.lp-points{padding:56px 0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.lp-pt{display:flex;flex-direction:column;gap:13px}
.lp-pt .ic{width:44px;height:44px;border-radius:12px;background:var(--gd-accent-08);display:flex;align-items:center;justify-content:center}
.lp-pt .ic svg{width:22px;height:22px;color:var(--gd-accent)}
.lp-pt h3{font-size:18px;font-weight:700}
.lp-pt p{font-size:15px;color:var(--gd-ink-soft)}

/* =========================================================
   QUIZ · stepper horizontal + colonne centrée
   ========================================================= */
.q-topbar{position:sticky;top:59px;z-index:40;background:rgba(251,248,244,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--gd-line)}
.q-topbar .wrap{display:flex;align-items:center;gap:20px;padding-top:15px;padding-bottom:15px}
.back-btn{background:none;border:none;cursor:pointer;color:var(--gd-muted);font-family:var(--gd-font-text);font-size:14.5px;display:inline-flex;gap:7px;align-items:center;white-space:nowrap}
.back-btn:hover{color:var(--gd-ink)}
.stepper{flex:1;display:flex;gap:6px}
.step{flex:1;height:5px;border-radius:99px;background:var(--gd-line);transition:background .3s}
.step.done{background:var(--gd-accent)}
.step.cur{background:var(--gd-accent);box-shadow:0 0 0 3px var(--gd-accent-12)}
.q-frac{font-family:var(--gd-font-display);font-weight:700;font-size:14px;color:var(--gd-ink-soft);white-space:nowrap}

.q-stage{max-width:760px;padding-top:52px;padding-bottom:90px}
.q-meta{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.q-dim{font-family:var(--gd-font-display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--gd-accent)}
.q-dim::before{content:"";display:inline-block;width:22px;height:2px;background:var(--gd-accent-2);border-radius:2px;margin-right:12px;vertical-align:middle}
.q-idx{font-size:13px;color:var(--gd-muted-2);font-family:var(--gd-font-display);font-weight:500}
.q-title{font-size:clamp(26px,3.5vw,38px);font-weight:700;letter-spacing:-.025em;line-height:1.14;margin-bottom:30px}

.opts{display:flex;flex-direction:column;gap:11px}
.opt{display:flex;align-items:center;gap:16px;padding:18px 22px;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);font-size:16.5px;color:var(--gd-ink);transition:border-color .15s,box-shadow .15s,background .15s;line-height:1.4}
.opt:hover{border-color:var(--gd-accent);background:var(--gd-accent-08)}
.opt-radio{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid var(--gd-muted-2);position:relative;transition:border-color .15s}
.opt-radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--gd-accent);transform:scale(0);transition:transform .15s}
.opt.sel{border-color:var(--gd-accent);background:var(--gd-accent-08)}
.opt.sel .opt-radio{border-color:var(--gd-accent)}
.opt.sel .opt-radio::after{transform:scale(1)}

.q-note{display:flex;gap:14px;margin-top:28px;padding:18px 20px;border:1px dashed var(--gd-line);border-radius:var(--gd-radius);background:transparent}
.q-note .nk-ic{width:24px;height:22px;flex:none;color:var(--gd-accent);margin-top:2px}
.q-note-k{display:block;font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--gd-accent);margin-bottom:5px}
.q-note p{font-size:14.5px;color:var(--gd-ink-soft);line-height:1.55}

.q-nav{display:flex;justify-content:space-between;align-items:center;margin-top:38px}
.q-nav .prev{background:none;border:none;color:var(--gd-muted);font-family:var(--gd-font-text);font-size:15px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.q-nav .prev:hover{color:var(--gd-ink)}
.q-nav .prev:disabled{opacity:.3;cursor:not-allowed}

/* =========================================================
   RESULTS
   ========================================================= */
.res-top{background:radial-gradient(120% 160% at 90% -20%,#03407B 0%,#00264C 60%,#001B38 100%);color:#eaf4ff;position:relative;overflow:hidden}
.res-top .mk{position:absolute;width:360px;top:-40px;right:-30px;color:#0b3a68;opacity:.5;pointer-events:none}
.res-top .wrap{position:relative;z-index:2;padding:48px 0 52px}
.res-top .kicker{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:var(--gd-bleu-turquoise);margin-bottom:14px}
.res-top h1{font-size:clamp(34px,5vw,52px);font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:8px}
.res-top .sub{font-size:16px;color:#bcd6ef;max-width:56ch;margin-bottom:34px}

/* Jauge de maturité horizontale 0..5 */
.mgauge{margin-top:6px}
.mgauge-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.mgauge-top .lab{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600;color:#8fb4d8}
.mgauge-name{font-family:var(--gd-font-display);font-weight:800;font-size:clamp(20px,2.6vw,26px);color:#fff}
.mgauge-name b{color:var(--gd-bleu-turquoise);font-weight:800}
.mgauge-track{position:relative;height:12px;border-radius:99px;background:rgba(255,255,255,.14);margin:0 0 12px}
.mgauge-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 1s cubic-bezier(.4,0,.2,1)}
.mgauge-stops{display:flex;justify-content:space-between}
.mgauge-stop{font-family:var(--gd-font-display);font-weight:700;font-size:12px;color:#5f83a8;position:relative;width:20px;text-align:center}
.mgauge-stop.on{color:var(--gd-bleu-turquoise)}
.mgauge-ends{display:flex;justify-content:space-between;font-size:11.5px;color:#7fa0c4;margin-top:8px;font-family:var(--gd-font-display);font-weight:500}

.res-block{padding:52px 0;border-top:1px solid var(--gd-line)}
.res-block:first-of-type{border-top:none}
.block-h{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:26px}
.block-h .hint{font-family:var(--gd-font-text);font-weight:400;font-size:15px;color:var(--gd-muted);letter-spacing:0;margin-left:2px}

.synth{display:grid;grid-template-columns:0.95fr 1.05fr;gap:24px;align-items:stretch}
.panel{border:1px solid var(--gd-line-soft);border-radius:var(--gd-radius);background:var(--gd-surface);box-shadow:var(--gd-shadow-sm);padding:28px}
.panel .ph{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;font-weight:600;color:var(--gd-muted);margin-bottom:18px}
.radar-wrap{display:flex;justify-content:center;align-items:center;padding:8px 0 4px;min-height:300px}
.radar-legend{display:flex;gap:20px;justify-content:center;margin-top:10px;font-size:12px;color:var(--gd-muted);flex-wrap:wrap}
.radar-legend span{display:inline-flex;align-items:center;gap:7px}
.lg-swatch{width:14px;height:3px;border-radius:2px;display:inline-block}

.bars{display:flex;flex-direction:column;gap:17px}
.bar-row .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
.bar-row .nm{font-family:var(--gd-font-display);font-weight:600;font-size:15px;color:var(--gd-ink)}
.bar-row .vl{font-family:var(--gd-font-display);font-weight:700;font-size:14px;color:var(--gd-accent)}
.bar-track{height:9px;background:var(--gd-line);border-radius:99px;overflow:hidden}
.bar-fill{height:100%;background:var(--gd-accent);border-radius:99px;width:0;transition:width .8s cubic-bezier(.4,0,.2,1)}
.bar-row.weak .vl{color:var(--gd-warn)}
.bar-row.weak .bar-fill{background:var(--gd-warn)}

/* Repère Go&Dev (visible gratuitement) */
.rule-card{border-left:4px solid var(--gd-accent);background:var(--gd-accent-08);border-radius:0 var(--gd-radius) var(--gd-radius) 0;padding:26px 28px}
.rule-card .rk{font-family:var(--gd-font-display);text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;font-weight:700;color:var(--gd-accent);margin-bottom:10px}
.rule-card p{font-size:16px;color:var(--gd-ink);line-height:1.6}
.rule-card p b{color:var(--gd-accent)}

/* Déblocage inline (pas de carte flottante ni de flou) */
.unlock{border:1px solid var(--gd-line);border-radius:var(--gd-radius);background:var(--gd-surface);box-shadow:var(--gd-shadow-sm);padding:40px 34px;text-align:center;max-width:560px;margin:0 auto}
.unlock .ic{width:52px;height:52px;border-radius:50%;background:var(--gd-accent-12);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.unlock .ic svg{width:22px;height:22px;stroke:var(--gd-accent);fill:none;stroke-width:1.8}
.unlock h3{font-size:22px;font-weight:700;margin-bottom:10px}
.unlock p{font-size:15px;color:var(--gd-ink-soft);margin-bottom:22px;max-width:42ch;margin-left:auto;margin-right:auto}
.unlock .sub{font-size:12.5px;color:var(--gd-muted);margin-top:14px}
#locked-zone{display:none}
body.unlocked #locked-zone{display:block}
body.unlocked #unlock-panel{display:none}

.analysis-grid{display:flex;flex-direction:column;gap:16px}
.a-item{border:1px solid var(--gd-line-soft);border-radius:var(--gd-radius);background:var(--gd-surface);box-shadow:var(--gd-shadow-sm);padding:24px 26px}
.a-item .a-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.a-item .a-head .nm{font-family:var(--gd-font-display);font-weight:700;font-size:17px}
.a-item p{font-size:15px;color:var(--gd-ink-soft)}
.a-item .reco{margin-top:12px;font-size:14.5px;color:var(--gd-ink);display:flex;gap:10px}
.a-item .reco b{color:var(--gd-accent);font-family:var(--gd-font-display);white-space:nowrap}

.roadmap{counter-reset:step;margin-top:8px}
.roadmap .rm-item{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--gd-line-soft)}
.roadmap .rm-item:last-child{border-bottom:none}
.roadmap .rm-num{counter-increment:step;font-family:var(--gd-font-display);font-weight:800;font-size:15px;color:#fff;background:var(--gd-accent);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.roadmap .rm-num::before{content:counter(step)}
.roadmap .rm-txt h5{font-family:var(--gd-font-display);font-size:16px;font-weight:700;margin-bottom:4px}
.roadmap .rm-txt p{font-size:14.5px;color:var(--gd-ink-soft)}

.dl-row{display:flex;gap:16px;align-items:center;margin-top:36px;flex-wrap:wrap}

/* ---- Modal ---- */
.modal-back{position:fixed;inset:0;background:rgba(0,27,56,.55);backdrop-filter:blur(3px);z-index:100;display:none;align-items:center;justify-content:center;padding:22px}
.modal-back.open{display:flex}
.modal{background:var(--gd-surface);border-radius:18px;box-shadow:0 30px 80px -20px rgba(0,27,56,.5);width:min(560px,100%);padding:38px 40px;position:relative}
.modal .close{position:absolute;top:18px;right:20px;background:none;border:none;font-size:24px;line-height:1;color:var(--gd-muted-2);cursor:pointer}
.modal .close:hover{color:var(--gd-ink)}
.modal h3{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:9px}
.modal .intro{font-size:15px;color:var(--gd-ink-soft);margin-bottom:26px}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--gd-font-display);font-weight:600;font-size:13px;color:var(--gd-ink-soft);margin-bottom:7px}
.field input,.field select{width:100%;padding:13px 15px;border:1px solid var(--gd-line);border-radius:10px;background:var(--gd-beige);font-family:var(--gd-font-text);font-size:15px;color:var(--gd-ink)}
.field input:focus,.field select:focus{outline:none;border-color:var(--gd-accent);box-shadow:0 0 0 3px var(--gd-accent-12)}
.field.err input{border-color:var(--gd-warn);box-shadow:0 0 0 3px rgba(198,116,42,.14)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.consent{display:flex;gap:11px;align-items:flex-start;margin:8px 0 22px;font-size:13.5px;color:var(--gd-ink-soft);line-height:1.5}
.consent input{margin-top:3px;width:16px;height:16px;flex:none;accent-color:var(--gd-accent)}
.modal .foot{text-align:center;font-size:12.5px;color:var(--gd-muted);margin-top:16px}
.err-msg{color:var(--gd-warn);font-size:13px;margin-top:-6px;margin-bottom:12px;display:none}
.err-msg.show{display:block}

footer{padding:40px 0 56px;color:var(--gd-muted);font-size:13px;text-align:center;border-top:1px solid var(--gd-line)}
footer .brand{justify-content:center;margin-bottom:12px;font-size:14px}

@media(max-width:820px){
  .synth{grid-template-columns:1fr}
  .lp-points{grid-template-columns:1fr;gap:22px}
  .lp-in{padding:52px 0 60px}
}
@media(max-width:640px){
  .wrap{padding:0 20px}
  .nav-in{padding:0 20px}
  .grid2{grid-template-columns:1fr}
  .modal{padding:30px 24px}
  .q-topbar{top:59px}
}

/* ---- Print (PDF du diagnostic) ---- */
@media print{
  @page{margin:15mm}
  .nav,.q-topbar,.q-nav,.unlock,.modal-back,.dl-row,footer,.lp-hero .mk,.res-top .mk{display:none !important}
  body{background:#fff;color:#000}
  .screen{display:none !important}
  #screen-results.active{display:block !important}
  #locked-zone{display:block !important}
  .res-top{background:#fff !important;color:var(--gd-ink) !important;border-bottom:2px solid var(--gd-accent)}
  .res-top .kicker{color:var(--gd-accent) !important}
  .res-top h1{color:var(--gd-ink) !important}
  .res-top .sub{color:var(--gd-ink-soft) !important}
  .mgauge-name{color:var(--gd-ink) !important}.mgauge-name b{color:var(--gd-accent) !important}
  .mgauge-track{background:var(--gd-line) !important}
  .mgauge-top .lab,.mgauge-ends{color:var(--gd-muted) !important}
  .mgauge-stop{color:var(--gd-muted-2) !important}.mgauge-stop.on{color:var(--gd-accent) !important}
  .res-block,.panel,.a-item,.rm-item{break-inside:avoid;box-shadow:none}
  .print-head{display:flex !important}
}
.print-head{display:none;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--gd-line)}
.print-head svg{height:26px;color:var(--gd-accent)}
.print-head .ph-t{font-family:var(--gd-font-display);font-weight:600;font-size:13px;color:var(--gd-muted)}
