/* ==========================================================================
   QUIZ DE QUALIFICAÇÃO — usa os mesmos tokens de cor/fonte do
   style.css (var(--ink), var(--blue-900), Fraunces/Space Grotesk).
   ========================================================================== */
 
.quiz-navbar-title{
  font-family:'Fraunces', serif;
  font-size:15px;
  color:var(--white);
}
.quiz-exit-link{
  color:var(--white);
  font-size:14px;
  text-decoration:none;
  opacity:0.85;
}
.quiz-exit-link:hover{ opacity:1; text-decoration:underline; }
 
/* barra de progresso — fixa, logo abaixo da navbar */
.quiz-progress-track{
  position:fixed;
  top:var(--navbar-height, 68px);
  left:0; right:0;
  height:4px;
  background:rgba(140,50,75,0.12);
  z-index:40;
}
.quiz-progress-fill{
  height:100%;
  width:0%;
  background:var(--blue-900);
  transition:width 0.6s ease;
}
 
/* palco do quiz — cada tela ocupa 100vh, só uma fica visível/ativa
   por vez; a troca é feita via GSAP (translateY), nunca scroll
   livre — ver quiz.js */
.quiz-stage{
  position:relative;
  height:100vh;
  overflow:hidden;
  background:var(--paper);
}
.quiz-screens{
  position:relative;
  width:100%;
  height:100%;
}
.quiz-screen{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:100px 24px 40px;
}
.quiz-screen__inner{
  width:100%;
  max-width:640px;
  text-align:center;
}
 
.quiz-step-label{
  display:inline-block;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.02em;
  color:var(--blue-900);
  text-transform:uppercase;
  margin-bottom:18px;
}
.quiz-screen h2{
  font-family:'Fraunces', serif;
  font-weight:400;
  font-size:clamp(1.6rem, 3.6vw, 2.3rem);
  line-height:1.3;
  color:var(--ink);
  margin-bottom:32px;
}
 
/* opções de resposta */
.quiz-options{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.quiz-option{
  background:#fff;
  border:1.5px solid rgba(140,50,75,0.18);
  color:var(--ink);
  font-family:inherit;
  font-size:15.5px;
  text-align:left;
  padding:18px 24px;
  border-radius:12px;
  cursor:pointer;
  transition:border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.quiz-option:hover{ border-color:var(--blue-900); transform:translateY(-1px); }
.quiz-option.selected{
  background:#F3E7D3;
  border-color:var(--blue-900);
  color:var(--blue-900);
  font-weight:600;
}
 
/* telas de diagnóstico parcial */
.quiz-screen--diagnostic .quiz-diagnostic-text{
  font-size:15px;
  line-height:1.65;
  color:rgba(140,50,75,0.8);
  max-width:52ch;
  margin:0 auto 32px;
}
.quiz-priority-ring{
  width:120px;
  height:120px;
  border-radius:50%;
  border:6px solid rgba(140,50,75,0.12);
  border-top-color:var(--blue-900);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 20px;
}
.quiz-priority-value{
  font-family:'Fraunces', serif;
  font-size:1.8rem;
  color:var(--blue-900);
}
.quiz-continue-btn{ min-width:200px; }
 
/* etapa de foto */
.quiz-screen--photo .quiz-diagnostic-text{
  font-size:15px;
  line-height:1.6;
  color:rgba(140,50,75,0.8);
  max-width:52ch;
  margin:0 auto 32px;
}
.quiz-photo-btn{
  display:block;
  width:100%;
  max-width:420px;
  margin:0 auto;
  box-shadow:0 12px 30px rgba(214,87,126,0.25);
}
.quiz-photo-status{
  display:block;
  margin-top:14px;
  font-size:13.5px;
  color:var(--blue-900);
  font-weight:600;
  min-height:18px;
}
.quiz-skip-link{
  display:block;
  margin:24px auto 0;
  background:none;
  border:none;
  color:rgba(140,50,75,0.4);
  font-family:inherit;
  font-size:12px;
  text-decoration:underline;
  cursor:pointer;
}
.quiz-skip-link:hover{ color:rgba(140,50,75,0.6); }
 
/* diagnóstico final + captura */
.quiz-final-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:420px;
  margin:0 auto;
}
.quiz-final-form input{
  padding:16px 18px;
  border-radius:10px;
  border:1.5px solid rgba(140,50,75,0.2);
  font-family:inherit;
  font-size:15px;
  color:var(--ink);
  background:#fff;
}
.quiz-final-form input:focus{ outline:none; border-color:var(--blue-900); }
.quiz-submit-btn{ margin-top:6px; }
.quiz-form-error{
  display:block;
  min-height:16px;
  font-size:12.5px;
  color:#B23A3A;
  margin-top:2px;
}
 
/* ==========================================================================
   MOBILE
   ========================================================================== */
@media (max-width: 640px){
  .quiz-navbar-title{ display:none; }
  .quiz-screen{ padding:90px 20px 32px; }
  .quiz-screen h2{ font-size:1.4rem; }
  .quiz-option{ padding:16px 18px; font-size:14.5px; }
}
 

