/* Bonotō - questionnaire du diagnostic (maquette « Quiz - Diagnostic ») */
body.bn-quiz-page{background:var(--ivoire);}
.bn-quiz-page .btn-text{font-family:var(--font-body); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); background:none; border:none; cursor:pointer; padding:8px;}
.bn-quiz-page .btn-text:hover{color:var(--bordeaux);}
.bn-quiz-page .qhead-inner img{height:var(--logo-h, 26px); width:auto;}
.admin-bar .qhead{top:32px;}
@media (max-width:782px){ .admin-bar .qhead{top:46px;} }
.res-block .big{min-height:1em;}
.q-error{color:#a32d2d; font-size:.82rem; margin-top:12px;}
.qblock-label{font-family:var(--font-heading);}
  .btn-primary:disabled{opacity:.35; cursor:not-allowed;}
  .btn-outline{border-color:var(--bordeaux); color:var(--bordeaux); background:transparent;} .btn-outline:hover{background:var(--bordeaux); color:var(--white);}
  .btn-text{font-family:var(--font-body); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); background:none; border:none; cursor:pointer; padding:8px;}
  .btn-text:hover{color:var(--bordeaux);}

  /* ================= MINIMAL HEADER (mode focus) ================= */
  .qhead{position:sticky; top:0; z-index:100; background:rgba(242,234,225,.96); backdrop-filter:blur(6px); border-bottom:1px solid var(--stone-line);}
  .qhead-inner{max-width:var(--max); margin:0 auto; padding:16px 40px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
  .qhead-inner img{height:26px;}
  .qhead-quit{font-size:.78rem; letter-spacing:.05em; color:var(--ink-soft); display:flex; align-items:center; gap:8px;}
  .qhead-quit svg{width:14px; height:14px; stroke:var(--ink-soft); fill:none; stroke-width:1.6;}
  .qhead-quit:hover{color:var(--bordeaux);}
  @media (max-width:600px){ .qhead-inner{padding:14px 20px;} }

  .bn-quiz-main{max-width:640px; margin:0 auto; padding:0 24px; min-height:70vh;}

  /* ================= SCREENS ================= */
  .q-screen{display:none;}
  .q-screen.active{display:block; animation:qfade .5s ease;}
  @keyframes qfade{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}

  /* intro */
  #screen-intro{max-width:640px; margin:0 auto; padding:70px 24px 90px; text-align:center;}
  #screen-intro h1{font-size:clamp(1.9rem,3.6vw,2.6rem); margin-bottom:18px;}
  #screen-intro p{color:var(--ink-soft); max-width:480px; margin:0 auto 32px;}
  .intro-points{display:flex; justify-content:center; gap:36px; flex-wrap:wrap; margin-bottom:40px;}
  .intro-points .ip{text-align:center;}
  .intro-points .v{font-family:var(--font-heading); font-style:italic; color:var(--bordeaux); font-size:1.15rem;}
  .intro-points .l{font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-top:2px;}

  /* progress */
  #screen-steps{padding:34px 24px 120px;}
  .qprog-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);}
  .qprog-track{height:2px; background:var(--stone-line); border-radius:var(--radius); overflow:hidden; margin-bottom:44px;}
  .qprog-fill{height:100%; background:var(--bordeaux); transition:width .4s ease;}
  .step-title{font-size:clamp(1.4rem,2.4vw,1.8rem); margin-bottom:8px; text-align:center;}
  .step-sub{text-align:center; color:var(--ink-soft); font-size:.86rem; margin-bottom:40px;}

  .qblock{margin-bottom:38px;}
  .qblock.conditional{padding-top:8px; border-top:1px dashed var(--stone-line); margin-top:-6px;}
  .qblock-label{font-family:var(--font-heading); font-style:italic; color:var(--ink); font-size:1.08rem; margin-bottom:6px;}
  .qblock-hint{font-size:.76rem; color:var(--ink-soft); margin-bottom:16px;}
  .chip-grid{display:flex; flex-wrap:wrap; gap:10px;}
  .chip{
    border:1.5px solid var(--stone-line); background:var(--white); color:var(--ink);
    padding:11px 18px; border-radius:22px; font-family:var(--font-body); font-size:.85rem; cursor:pointer;
    transition:all .18s ease; user-select:none;
  }
  .chip:hover{border-color:var(--stone);}
  .chip.selected{background:var(--bordeaux); border-color:var(--bordeaux); color:var(--white);}
  .qmax-note{font-size:.72rem; color:var(--ink-soft); font-style:italic; margin-top:8px;}

  .qnav{display:flex; justify-content:space-between; align-items:center; margin-top:10px;}
  @media (max-width:600px){
    #screen-steps{padding-bottom:130px;}
    .qnav{
      position:fixed; left:0; right:0; bottom:0; background:rgba(242,234,225,.97); backdrop-filter:blur(6px);
      border-top:1px solid var(--stone-line); padding:14px 20px; z-index:90;
    }
  }

  /* step done / analyse */
  #screen-stepdone{max-width:520px; margin:0 auto; padding:120px 24px; text-align:center;}
  .stepdone-1{}
  .stepdone-2{display:none; margin-top:34px; padding-top:34px; border-top:1px solid var(--stone-line);}
  .stepdone-2.show{display:block; animation:qfade .6s ease;}
  .loader-mark{width:38px; height:38px; margin:20px auto 0; border:1.5px solid var(--stone-line); border-top-color:var(--bordeaux); border-radius:50%; animation:spin 1s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  #screen-stepdone h2{font-size:1.6rem; margin-bottom:14px;}
  #screen-stepdone p{color:var(--ink-soft);}

  /* result */
  #screen-result{max-width:720px; margin:0 auto; padding:60px 24px 110px;}
  .res-head{text-align:center; margin-bottom:50px;}
  .res-head h1{font-size:clamp(1.8rem,3vw,2.3rem);}
  .res-block{margin-bottom:40px;}
  .res-block h3{font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-family:var(--font-body); font-weight:500; margin-bottom:10px;}
  .res-block .big{font-family:var(--font-heading); font-style:italic; color:var(--bordeaux); font-size:1.25rem; line-height:1.4;}
  .res-block p{color:var(--ink); font-size:.94rem;}
  .res-two{display:grid; grid-template-columns:1fr 1fr; gap:30px;}
  @media (max-width:600px){ .res-two{grid-template-columns:1fr; gap:28px;} }

  .prio-list{display:flex; flex-direction:column;}
  .prio-row{display:grid; grid-template-columns:40px 1fr; gap:18px; padding:20px 0; border-top:1px solid var(--stone-line);}
  .prio-list .prio-row:last-child{border-bottom:1px solid var(--stone-line);}
  .prio-row .pn{width:32px; height:32px; border-radius:50%; background:var(--bordeaux); color:var(--white); font-family:var(--font-heading); font-style:italic; font-size:.92rem; display:flex; align-items:center; justify-content:center;}
  .prio-row h4{font-size:1rem; margin-bottom:4px;}
  .prio-row p{font-size:.86rem; color:var(--ink-soft);}

  .start-grid{display:flex; flex-direction:column; gap:22px; margin-top:20px;}
  .start-row{display:flex; gap:16px; align-items:flex-start;}
  .start-row .sn{flex:none; font-family:var(--font-heading); font-style:italic; color:var(--stone); font-size:1.5rem; width:34px;}
  .start-row h4{font-size:1rem; margin-bottom:4px;}
  .start-row p{font-size:.86rem; color:var(--ink-soft); margin-bottom:6px;}
  .start-row .plink{font-size:.76rem; color:var(--bordeaux); border-bottom:1px solid var(--bordeaux); padding-bottom:1px;}

  .result-cta{text-align:center; margin-top:56px; padding-top:40px; border-top:1px solid var(--stone-line);}
  .result-cta p{color:var(--ink-soft); font-size:.9rem; margin-bottom:20px;}

  /* email capture */
  #screen-email{max-width:480px; margin:0 auto; padding:90px 24px 110px; text-align:center;}
  #screen-email h2{font-size:clamp(1.5rem,2.6vw,1.9rem); margin-bottom:14px;}
  #screen-email p{color:var(--ink-soft); font-size:.92rem; margin-bottom:34px;}
  .qform{text-align:left;}
  .qfield{margin-bottom:18px;}
  .qfield label{display:block; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px;}
  .qfield input[type=text], .qfield input[type=email]{
    width:100%; border:1.5px solid var(--stone-line); background:var(--white); padding:13px 16px;
    font-family:var(--font-body); font-size:.92rem; color:var(--ink); border-radius:var(--radius); outline:none;
  }
  .qfield input:focus{border-color:var(--bordeaux);}
  .qcheck{display:flex; gap:10px; align-items:flex-start; margin:22px 0 26px; text-align:left;}
  .qcheck input{margin-top:3px;}
  .qcheck label{font-size:.8rem; color:var(--ink-soft); line-height:1.5;}
  .qform .btn{width:100%;}
  .qlegal{font-size:.68rem; color:var(--ink-soft); margin-top:16px; opacity:.85;}

  /* thanks */
  #screen-thanks{max-width:560px; margin:0 auto; padding:100px 24px 120px; text-align:center;}
  #screen-thanks .check{width:44px; height:44px; margin:0 auto 24px; border-radius:50%; border:1.5px solid var(--bordeaux); display:flex; align-items:center; justify-content:center;}
  #screen-thanks .check svg{width:20px; height:20px; stroke:var(--bordeaux); fill:none; stroke-width:1.8;}
  #screen-thanks h2{font-size:clamp(1.6rem,2.8vw,2.1rem); margin-bottom:16px;}
  #screen-thanks p{color:var(--ink-soft); margin-bottom:10px;}
  .thanks-card{
    margin:44px auto 0; max-width:380px; border:1px solid var(--stone-line); background:var(--white);
    display:flex; gap:16px; align-items:center; padding:18px; text-align:left; border-radius:var(--radius);
  }
  .thanks-card img{width:56px; height:70px; object-fit:cover; border-radius:var(--radius); flex:none;}
  .thanks-card h5{font-family:var(--font-heading); font-style:italic; font-weight:400; font-size:.98rem; color:var(--bordeaux);}
  .thanks-card p{font-size:.78rem; color:var(--ink-soft); margin:2px 0 8px;}
  .thanks-card a{font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; color:var(--bordeaux); border-bottom:1px solid var(--bordeaux);}
  .thanks-links{margin-top:36px; display:flex; justify-content:center; gap:26px; font-size:.82rem;}
  .thanks-links a{color:var(--ink-soft); border-bottom:1px solid var(--stone);}
  .thanks-links a:hover{color:var(--bordeaux);}
