/* ============================================================
   QUIZ
   ============================================================ */
/* ===== Quiz "Passavas no exame?" ===== */
#quiz .barra-topo{
  position:relative;
  background:#fff; border-bottom:1px solid rgba(0,0,0,.08); height:4.5vw; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
[data-bs-theme="dark"] #quiz .barra-topo{ background:#141c2b; border-color:rgba(255,255,255,.08); }
#quiz .barra-titulo{
  font-family:'Barlow Condensed','Oswald',sans-serif;
  font-size:2vw; font-weight:800; color:var(--cor-primaria);
}
[data-bs-theme="dark"] #quiz .barra-titulo{ color:#e8f1ff; }
#quiz .flutuantes-esq{ position:absolute; top:0.8vw; left:1.2vw; display:flex; gap:.5vw; z-index:20; }
.quiz-progresso-topo{
  position:absolute; right:1.5vw; top:50%; transform:translateY(-50%);
  font-size:1.4vw; font-weight:700; color:#888;
}
[data-bs-theme="dark"] .quiz-progresso-topo{ color:#9fb0c8; }
#quiz .preinsc-corpo{
  flex-grow:1; overflow-y:auto; padding:3vw 10vw;
  display:flex; flex-direction:column; align-items:center;
}
.quiz-progresso{ font-size:1.6vw; color:#888; text-align:center; margin-bottom:1vw; }
[data-bs-theme="dark"] .quiz-progresso{ color:#9fb0c8; }
.quiz-pergunta{ font-size:2.6vw; font-weight:800; line-height:1.15; text-align:center; margin-bottom:2.5vw; }
/* Imagem (col-4) + pergunta (col-8) na mesma linha */
.quiz-topo{ display:flex; align-items:center; gap:2vw; width:100%; margin-bottom:2vw; }
.quiz-col-img{ flex:0 0 33%; max-width:33%; display:flex; justify-content:center; }
.quiz-col-img.escondida{ display:none; }
.quiz-topo .quiz-pergunta{ flex:1 1 auto; margin-bottom:0; text-align:left; }
/* Sem imagem: pergunta centrada a toda a largura */
.quiz-topo.sem-imagem .quiz-pergunta{ text-align:center; }
.quiz-imagem{ display:block; width:100%; max-height:34vh; border-radius:.5vw; object-fit:contain; }
.quiz-opcoes{ display:flex; flex-direction:column; gap:1.2vw; width:100%; }
.quiz-opcao{
  font-size:2vw; font-weight:700; text-align:left;
  padding:1.6vw 2.2vw; border-radius:1vw; cursor:pointer;
  border:.22vw solid #d5d9e0; background:#fff; color:#222;
  transition:transform .08s ease;
}
.quiz-opcao:active{ transform:scale(.985); }
[data-bs-theme="dark"] .quiz-opcao{ background:#131b28; border-color:#2a3648; color:#e8f1ff; }
.quiz-opcao.certa{ border-color:#2e9e5b; background:#e8f7ee; color:#14532d; }
.quiz-opcao.errada{ border-color:#c0392b; background:#fdecea; color:#7f1d1d; }
[data-bs-theme="dark"] .quiz-opcao.certa{ background:#12351f; color:#7be0a3; }
[data-bs-theme="dark"] .quiz-opcao.errada{ background:#3a1512; color:#f1a29a; }
.quiz-opcao:disabled{ cursor:default; opacity:1; }
.quiz-feedback{ font-size:1.9vw; font-weight:800; text-align:center; min-height:2.6vw; margin-top:1.5vw; }
.quiz-feedback.ok{ color:#2e9e5b; }
.quiz-feedback.ko{ color:#c0392b; }
.quiz-resultado{ font-size:3.2vw; font-weight:900; text-align:center; }
.quiz-humor{ font-size:2.2vw; text-align:center; color:#555; margin:1.5vw 0 2.5vw; }
[data-bs-theme="dark"] .quiz-humor{ color:#9fb0c8; }

/* Ícones personalizados (uebicons) — SVG via mask, cor por currentColor */
.uebicon{
  display:inline-block; width:24px; height:24px;
  background-color:currentColor;
  mask-size:cover; -webkit-mask-size:cover;
}
.uebicon-cartao{ mask-image:url('../uebicons/cartao.svg'); -webkit-mask-image:url('../uebicons/cartao.svg'); }
.uebicon-carta{ mask-image:url('../uebicons/carta.svg'); -webkit-mask-image:url('../uebicons/carta.svg'); }
.uebicon-inserir{ mask-image:url('../uebicons/inserir.svg'); -webkit-mask-image:url('../uebicons/inserir.svg'); }
/* Nos botões de método, mesmo tamanho e cor dos ícones bi */
.preinsc-metodo .uebicon{ width:6vw; height:6vw; color:var(--cor-primaria); background-color:var(--cor-primaria); }
[data-bs-theme="dark"] .preinsc-metodo .uebicon{ color:#93b9ff; background-color:#93b9ff; }
.preinsc-metodo span{ font-size:1.7vw; font-weight:700; color:#333; }
[data-bs-theme="dark"] .preinsc-metodo{ background:#1c2636; }
[data-bs-theme="dark"] .preinsc-metodo i{ color:#93b9ff; }
[data-bs-theme="dark"] .preinsc-metodo span{ color:#e8f1ff; }

.preinsc-consent-texto{
  font-size:1.6vw; line-height:1.6; color:#444; text-align:center;
  background:#fff; padding:2.5vw; border-radius:1.2vw; margin-bottom:2.5vw;
}
[data-bs-theme="dark"] .preinsc-consent-texto{ background:#1c2636; color:#cdd8ea; }
.preinsc-consent-botoes, .preinsc-form-botoes{ display:flex; gap:1.5vw; justify-content:center; align-items:center; }
.preinsc-form-botoes{ justify-content:flex-end; margin-top:2vw; }

/* Rádios "Como pretendes aprender a conduzir?" (herdam do padrão da Aptidão) */
.pi-modo{ display:flex; gap:1vw; flex-wrap:wrap; justify-content:flex-start; }
.pi-modo-op{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:.8vw;
  padding:1.4vw 2.5vw; border:.18vw solid #d5d9e0; border-radius:.7vw;
  cursor:pointer; font-size:1.5vw; background:#fff; margin:0;
  white-space:nowrap;
}
[data-bs-theme="dark"] .pi-modo-op{ background:#131b28; border-color:#2a3648; }
.pi-modo-op input{ transform:scale(1.3); accent-color:var(--cor-primaria); }
.pi-modo-op:has(input:checked){ border-color:var(--cor-primaria); background:var(--cor-secundaria); }

.preinsc-campos{ display:flex; flex-direction:column; gap:.5vw; }
.preinsc-campos label{ font-size:1.35vw; font-weight:700; color:#555; margin-top:1vw; }
[data-bs-theme="dark"] .preinsc-campos label{ color:#9fb0c8; }
.preinsc-campos input, .preinsc-campos select, .preinsc-campos textarea{
  font-size:1.7vw; padding:1vw 1.2vw; border:.15vw solid #ddd; border-radius:.8vw;
  background:#fff; color:#222; width:100%;
}
[data-bs-theme="dark"] .preinsc-campos input,
[data-bs-theme="dark"] .preinsc-campos select,
[data-bs-theme="dark"] .preinsc-campos textarea{ background:#131b28; border-color:#2a3648; color:#e8f1ff; }
.preinsc-campos input:focus, .preinsc-campos select:focus, .preinsc-campos textarea:focus{
  outline:none; border-color:var(--cor-primaria);
}
.preinsc-linha2{ display:flex; gap:1vw; margin-top:.7vw; }
.preinsc-linha2 input{ flex:1; }
.preinsc-doc-info{
  font-size:1.3vw; font-weight:700; min-height:1.6vw; margin-top:-.3vw;
}
.preinsc-doc-info.a-verificar{ color:#999; }
.preinsc-doc-info.existe{ color:#2e9e5b; }
.preinsc-doc-info.novo{ color:#888; font-weight:600; }

.preinsc-data{ display:flex; gap:1vw; }
.preinsc-data-sel{
  flex:1; font-size:1.7vw; padding:1vw 1.2vw;
  border:.15vw solid #ddd; border-radius:.8vw; background:#fff; color:#222;
}
[data-bs-theme="dark"] .preinsc-data-sel{ background:#131b28; border-color:#2a3648; color:#e8f1ff; }
.preinsc-data-sel:focus{ outline:none; border-color:var(--cor-primaria); }
.preinsc-interesse{
  font-size:1.8vw; font-weight:800; color:var(--cor-primaria);
  background:var(--cor-secundaria); border-radius:.8vw;
  padding:1vw 1.5vw; display:inline-block;
}
.preinsc-cat-tabela{
  width:100%; border-collapse:collapse; margin:.5vw 0;
}
.preinsc-cat-tabela th{
  text-align:left; font-size:1.2vw; color:#555; font-weight:700;
  padding:.5vw .6vw; border-bottom:.15vw solid #ddd;
}
[data-bs-theme="dark"] .preinsc-cat-tabela th{ color:#9fb0c8; border-color:#2a3648; }
.preinsc-cat-tabela td{ padding:.4vw .4vw; }
.preinsc-cat-tabela input{
  width:100%; font-size:1.5vw; padding:.7vw .8vw;
  border:.15vw solid #ddd; border-radius:.6vw; background:#fff; color:#222;
}
[data-bs-theme="dark"] .preinsc-cat-tabela input{ background:#131b28; border-color:#2a3648; color:#e8f1ff; }
.preinsc-cat-tabela .cat-cat{ text-align:center; font-weight:800; }
.preinsc-cat-rm{
  background:none; border:none; color:#c0392b; font-size:1.8vw; cursor:pointer; padding:0 .5vw;
}
.preinsc-cat-add{
  background:none; border:.15vw dashed var(--cor-primaria); color:var(--cor-primaria);
  font-size:1.3vw; font-weight:700; padding:.7vw 1.5vw; border-radius:.6vw; cursor:pointer; margin-top:.5vw;
}
[data-bs-theme="dark"] .preinsc-interesse{ color:#0e1420; }

.btn-preinsc-prim{
  background:var(--cor-primaria); color:#fff; border:none;
  font-size:1.7vw; font-weight:700; padding:1vw 2.5vw; border-radius:.8vw; cursor:pointer;
}
.btn-preinsc-prim:active{ transform:scale(.98); }
.btn-preinsc-sec{
  background:transparent; color:#888; border:.15vw solid #ccc;
  font-size:1.6vw; font-weight:600; padding:1vw 2vw; border-radius:.8vw; cursor:pointer;
}
.preinsc-erro{ color:#c0392b; font-size:1.3vw; font-weight:600; }

.preinsc-codigo{
  font-size:4vw; text-align:center; letter-spacing:1vw; font-weight:800;
  padding:1.5vw; border:.2vw solid #ddd; border-radius:1vw; width:100%; max-width:14em; margin:2vw auto; display:block;
  background:#fff; color:#222;
}
.preinsc-codigo::placeholder{ color:#d0d0d0; opacity:1; }
[data-bs-theme="dark"] .preinsc-codigo{ background:#131b28; border-color:#2a3648; color:#e8f1ff; }
[data-bs-theme="dark"] .preinsc-codigo::placeholder{ color:#3a4658; }

.preinsc-sucesso{ text-align:center; padding:3vw 0; }
.preinsc-sucesso i{ font-size:7vw; color:#2e9e5b; }
.preinsc-sucesso h2{ font-size:2.6vw; font-weight:800; color:var(--cor-primaria); margin:1.5vw 0 .8vw; }
.preinsc-sucesso p{ font-size:1.7vw; color:#555; }
[data-bs-theme="dark"] .preinsc-sucesso h2{ color:#e8f1ff; }
[data-bs-theme="dark"] .preinsc-sucesso p{ color:#9fb0c8; }
