/* Vexis — wizard "Faça Parte". Escopo sob .vx-wizard. Reusa tokens do tema. */
.vx-wizard{position:relative}
.vx-wizard .vx-steps{display:flex;gap:6px;list-style:none;margin:0 0 22px;padding:0;counter-reset:vx}
.vx-wizard .vx-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--cinza,#5A575A);text-align:center;position:relative}
.vx-wizard .vx-steps li::before{content:counter(vx);counter-increment:vx;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#efe9f6;color:var(--cinza,#5A575A);font-family:"Ubuntu",sans-serif;font-weight:700;transition:.2s}
.vx-wizard .vx-steps li::after{content:"";position:absolute;top:15px;left:calc(-50% + 15px);width:calc(100% - 30px);height:2px;background:#e3dcef;z-index:-1}
.vx-wizard .vx-steps li:first-child::after{display:none}
.vx-wizard .vx-steps li span{line-height:1.1}
.vx-wizard .vx-steps li.is-current::before{background:var(--roxo,#330066);color:#fff}
.vx-wizard .vx-steps li.is-done::before{background:var(--roxo,#330066);color:#fff;content:"\2713"}
.vx-wizard .vx-steps li.is-done::after,.vx-wizard .vx-steps li.is-current::after{background:var(--roxo,#330066)}
.vx-wizard .vx-steps li.is-current,.vx-wizard .vx-steps li.is-done{color:var(--roxo,#330066)}

.vx-panel{display:none;animation:vxfade .25s ease}
.vx-panel.is-active{display:block}
.vx-panel{border:0;padding:0;margin:0;min-width:0}
.vx-panel legend{padding:0;width:100%}
.vx-panel legend h2{font-size:1.18rem;color:var(--roxo,#330066);margin:0 0 4px}
/* o JS foca o título da etapa SÓ p/ acessibilidade (leitor de tela anuncia o passo).
   Como o h2 tem tabindex=-1 (não é tabável), esse foco é sempre PROGRAMÁTICO — então
   suprimimos o anel visual. Sem perda de a11y: o foco continua sendo movido (o SR anuncia),
   só o retângulo azul some no load e na troca de passo. */
.vx-panel legend h2:focus{outline:none}
.vx-panel .vx-sub{color:var(--cinza,#5A575A);font-size:.86rem;margin:0 0 16px}
@keyframes vxfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.vx-panel{animation:none}}

.vx-field{margin:0 0 2px}
.vx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vx-grid2.is-single{grid-template-columns:1fr}
.vx-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:560px){.vx-grid2,.vx-grid3{grid-template-columns:1fr}}
.vx-wizard label{display:block;font-size:.82rem;font-weight:600;color:var(--ink,#2a2630);margin:12px 0 6px}
.vx-wizard label .req{color:#b5431f}
.vx-wizard input,.vx-wizard select{width:100%;padding:12px 14px;border:1.5px solid #e3dcef;border-radius:11px;font-family:inherit;font-size:.95rem;background:#fbfaff;color:var(--ink,#2a2630)}
.vx-wizard input:focus,.vx-wizard select:focus{outline:none;border-color:var(--roxo,#330066);background:#fff;box-shadow:0 0 0 3px rgba(51,0,102,.08)}
.vx-wizard input[aria-invalid="true"],.vx-wizard select[aria-invalid="true"]{border-color:#cc3344;background:#fff6f6}
.vx-err{display:block;color:#cc3344;font-size:.76rem;font-weight:600;margin:5px 0 0;min-height:0}

.vx-alert{padding:12px 16px;border-radius:11px;font-size:.9rem;margin:0 0 16px;font-weight:500}
.vx-alert.is-error{background:#fff1f1;color:#9b2c2c;border:1px solid #f3c9c9}
.vx-alert.is-ok{background:#eef7f0;color:#1d6b3f;border:1px solid #c6e6cf}

.vx-nav{display:flex;gap:10px;justify-content:space-between;margin-top:24px}
.vx-nav .btn{min-width:120px;justify-content:center}
.vx-nav .vx-spacer{flex:1}

/* especialidades repeater */
.vx-esp-add{display:flex;gap:10px;align-items:flex-end}
.vx-esp-add .btn{white-space:nowrap;padding:11px 16px}
.vx-esp-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.vx-esp-list li{display:flex;gap:10px;align-items:center;background:#f6f3fb;border:1px solid #e7dff5;border-radius:11px;padding:8px 10px 8px 14px}
.vx-esp-list li .nome{flex:1;font-weight:600;color:var(--roxo,#330066);font-size:.9rem}
.vx-esp-list li input{width:140px;padding:8px 10px;font-size:.85rem}
.vx-esp-list li button{background:none;border:0;color:#b5431f;cursor:pointer;font-size:18px;line-height:1;padding:4px 8px}

/* revisão */
.vx-review{margin:0 0 8px}
.vx-review dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:.9rem}
.vx-review dt{color:var(--cinza,#5A575A);font-weight:600}
.vx-review dd{margin:0;color:var(--ink,#2a2630)}
.vx-review h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--roxo,#330066);margin:18px 0 8px;border-top:1px solid #eee;padding-top:14px}
.vx-review h3:first-child{border-top:0;padding-top:0;margin-top:0}
.vx-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;font-size:.85rem;color:var(--cinza,#5A575A)}
.vx-consent input{width:auto;margin-top:3px;flex:none}

.vx-done{text-align:center;padding:18px 6px}
.vx-done .ic{width:60px;height:60px;border-radius:50%;background:#eef7f0;color:#1d6b3f;display:grid;place-items:center;margin:0 auto 14px}
.vx-done .ic svg{width:30px;height:30px}
.vx-done h2{color:var(--roxo,#330066);margin:0 0 8px}
.vx-done p{color:var(--cinza,#5A575A);max-width:42ch;margin:0 auto}
.vx-loading{opacity:.6;pointer-events:none}

/* indicador de passos: rótulos justos em telas muito estreitas */
@media(max-width:400px){
  .vx-wizard .vx-steps li{font-size:10px}
  .vx-wizard .vx-steps li::before{width:26px;height:26px}
  .vx-wizard .vx-steps li::after{top:13px}
}
