/* CursoVinculoWizard — wizard mobile-first de Curso/Vínculo (3 etapas).
   Compartilhado por completar-matricula, Perfil (aba Curso/Vínculo) e o
   cadastro admin de Pessoa. Prefixo cvw-. */

.cvw-root { max-width: 560px; margin: 0 auto; }
.cvw-question { font-weight: 600; font-size: 1.02rem; margin-bottom: .75rem; }
.cvw-header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.cvw-cards { display: grid; grid-template-columns: 1fr; gap: .5rem; }
@media (min-width: 576px) { .cvw-cards { grid-template-columns: 1fr 1fr; } }
.cvw-card {
    display: flex; align-items: center; gap: .7rem;
    width: 100%; min-height: 54px; padding: .7rem .85rem;
    background: #fff; border: 2px solid #e2e8f0; border-radius: 12px;
    text-align: left; font-weight: 500; transition: border-color .15s, background .15s;
}
.cvw-card:hover { border-color: var(--primary-color, #667eea); }
.cvw-card.selected {
    border-color: var(--primary-color, #667eea);
    background: rgba(102, 126, 234, .08);
}
.cvw-card-novo {
    border-style: dashed;
    color: var(--primary-color, #667eea);
    background: rgba(102, 126, 234, .03);
}
.cvw-card-icone {
    width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(102, 126, 234, .12); color: var(--primary-color, #667eea);
}
.cvw-lista { max-height: 260px; overflow-y: auto; }
.cvw-item { cursor: pointer; }
.cvw-selected {
    display: flex; align-items: center; justify-content: space-between; gap: .5rem;
    border: 1px solid rgba(25, 135, 84, .35); background: rgba(25, 135, 84, .07);
    border-radius: 10px; padding: .6rem .75rem;
}
.cvw-resumo { border: 1px solid #e2e8f0; border-radius: 10px; padding: .25rem .75rem; background: #fff; }
.cvw-resumo-linha {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem;
    padding: .5rem 0;
}
.cvw-resumo-linha + .cvw-resumo-linha { border-top: 1px solid #f1f3f5; }
.cvw-quebra { word-break: break-word; }
.cvw-nav { display: flex; gap: .5rem; }
.cvw-nav .btn { flex: 1; min-height: 46px; }
