/* ============================================================
   CERCLE BTP — score.css (page /score uniquement)
   ============================================================ */

:root{--maxw:760px}

.eyebrow{justify-content:center}
.eyebrow::before{width:18px}
.eyebrow::after{content:"";width:18px;height:2px;background:var(--orange);flex:none}

.hero{padding:clamp(48px,7vw,80px) 0 clamp(36px,5vw,56px);text-align:center;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(600px 350px at 50% -10%,var(--orange-soft),transparent 70%)}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(1.9rem,5vw,3.2rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;max-width:18ch;margin:0 auto}
.hero-sub{font-size:clamp(1rem,1.6vw,1.15rem);color:var(--gris-2);margin:18px auto 0;max-width:52ch;line-height:1.55}
.meta-row{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:26px}
.meta-row span{font-size:.8rem;font-weight:600;color:var(--gris);display:flex;align-items:center;gap:7px}
.meta-row span::before{content:"";width:6px;height:6px;background:var(--orange);border-radius:50%;flex:none}

/* Progression */
.progress-wrap{margin:clamp(32px,5vw,52px) auto 0;max-width:var(--maxw);padding:0 var(--pad)}
.progress-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.progress-label{font-size:.82rem;font-weight:700;color:var(--gris)}
.progress-count{font-size:.82rem;font-weight:800;color:var(--orange)}
.progress-bar{height:4px;background:var(--line);border-radius:99px;overflow:hidden}
.progress-fill{height:100%;background:var(--orange);border-radius:99px;width:0%;transition:width .4s ease}

/* Quiz */
.quiz{padding:clamp(28px,4vw,44px) 0 clamp(60px,8vw,100px)}
.question-block{display:none;animation:fadeUp .3s ease}
.question-block.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.q-num{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);
  display:block;margin-bottom:14px}
.q-text{font-size:clamp(1.12rem,2.2vw,1.35rem);font-weight:800;letter-spacing:-.03em;line-height:1.25;margin-bottom:28px}

.options{display:flex;flex-direction:column;gap:10px}
.opt{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:7px;
  background:var(--noir-2);cursor:pointer;transition:border-color .15s,background .15s;text-align:left;width:100%}
.opt:hover{border-color:#3A3A3A;background:var(--noir-3)}
.opt.selected{border-color:var(--orange);background:var(--orange-soft)}
.opt-bullet{width:20px;height:20px;border-radius:50%;border:2px solid #3A3A3A;flex:none;display:grid;
  place-items:center;transition:border-color .15s,background .15s}
.opt.selected .opt-bullet{border-color:var(--orange);background:var(--orange)}
.opt.selected .opt-bullet::after{content:"";width:7px;height:7px;background:#fff;border-radius:50%}
.opt-text{font-size:.97rem;font-weight:500;color:var(--gris-2);line-height:1.4}
.opt.selected .opt-text{color:var(--blanc)}

.nav-btns{display:flex;gap:12px;margin-top:28px;align-items:center}
.nav-btns .btn{padding:15px 26px;font-size:.95rem}
.nav-btns .btn-ghost{background:none;color:var(--gris)}
.nav-btns .btn-ghost:hover{border-color:#3A3A3A;background:none;color:var(--blanc)}

/* Résultat */
.result{display:none;padding:clamp(40px,6vw,72px) 0 clamp(60px,8vw,100px)}
.result.show{display:block;animation:fadeUp .4s ease}

.score-display{text-align:center;margin-bottom:clamp(32px,5vw,52px)}
.score-circle{width:clamp(120px,22vw,160px);height:clamp(120px,22vw,160px);border-radius:50%;
  border:3px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;
  margin:0 auto 24px;position:relative}
.score-circle::before{content:"";position:absolute;inset:3px;border-radius:50%;border:3px solid transparent}
.score-num{font-size:clamp(2.4rem,6vw,3.6rem);font-weight:900;letter-spacing:-.05em;line-height:1}
.score-max{font-size:.78rem;color:var(--gris);font-weight:600;display:block;margin-top:2px}
.score-label{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:7px 16px;border-radius:99px}

.result-card{border:1px solid var(--line);border-radius:10px;padding:clamp(28px,4vw,42px);background:var(--noir-2);margin-bottom:28px}
.result-card h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:900;letter-spacing:-.035em;margin-bottom:16px}
.result-card p{color:var(--gris-2);font-size:1rem;line-height:1.6;margin-bottom:14px}
.result-card p:last-child{margin-bottom:0}

.result-rouge .score-circle{border-color:var(--rouge)}
.result-rouge .score-num{color:var(--rouge)}
.result-rouge .score-label{background:var(--rouge-soft);color:var(--rouge)}
.result-rouge .result-card{border-color:rgba(229,62,62,.3);background:linear-gradient(var(--rouge-soft),transparent 40%)}

.result-jaune .score-circle{border-color:var(--jaune)}
.result-jaune .score-num{color:var(--jaune)}
.result-jaune .score-label{background:var(--jaune-soft);color:var(--jaune)}
.result-jaune .result-card{border-color:rgba(214,158,46,.3);background:linear-gradient(var(--jaune-soft),transparent 40%)}

.result-vert .score-circle{border-color:var(--vert)}
.result-vert .score-num{color:var(--vert)}
.result-vert .score-label{background:var(--vert-soft);color:var(--vert)}
.result-vert .result-card{border-color:rgba(56,161,105,.3);background:linear-gradient(var(--vert-soft),transparent 40%)}

.breakdown{margin-bottom:32px}
.breakdown h3{font-size:1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:14px;color:var(--gris-2)}
.bk-items{display:flex;flex-direction:column;gap:8px}
.bk-item{display:flex;align-items:center;gap:12px;font-size:.88rem}
.bk-label{color:var(--gris);flex:1;min-width:0}
.bk-bar-wrap{width:100px;height:6px;background:var(--line);border-radius:99px;overflow:hidden;flex:none}
.bk-bar{height:100%;border-radius:99px;background:var(--orange);transition:width .6s ease}
.bk-val{font-weight:700;font-size:.82rem;width:32px;text-align:right;flex:none}

.cta-block{border:1px solid var(--line);border-radius:10px;padding:clamp(28px,4vw,42px);
  background:var(--noir-2);text-align:center}
.cta-block h3{font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:900;letter-spacing:-.03em;margin-bottom:12px}
.cta-block p{color:var(--gris-2);font-size:.97rem;max-width:50ch;margin:0 auto 24px}

#cal-result{min-width:280px;background:var(--noir);border:1px solid var(--line);border-radius:8px;
  min-height:580px;margin-top:20px}

.retry-link{display:block;text-align:center;margin-top:20px;font-size:.88rem;color:var(--gris);
  cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.retry-link:hover{color:var(--blanc)}

@media(max-width:560px){
  .nav-btns{flex-direction:column;align-items:stretch}
  .nav-btns .btn{width:100%}
}
