/* ================= Wizard (contacto.html) ================= */
.wizard-section{padding:60px 0 110px}
.wizard-card{
  max-width:760px;margin:0 auto;background:var(--panel-light);border:1px solid var(--line-light);
  border-radius:var(--radius);padding:clamp(28px,5vw,56px);box-shadow:0 4px 20px rgba(10,23,48,.06);
  position:relative;overflow:hidden;
}

/* Progress bar */
.wizard-progress{margin-bottom:36px}
.wizard-progress-label{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;
  font-weight:600;color:var(--muted-dark);margin-bottom:12px}
.wizard-progress-label b{color:var(--blue);font-family:'Sora',sans-serif}
.wizard-progress-track{width:100%;height:8px;border-radius:100px;background:rgba(10,23,48,.08);overflow:hidden}
.wizard-progress-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--blue),var(--brand));
  width:16.66%;transition:width .5s cubic-bezier(.2,.7,.2,1)}

/* Steps */
.wizard-vacante{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding:12px 18px;border-radius:12px;background:rgba(90,162,226,.12);border:1px solid rgba(90,162,226,.35);color:var(--blue);font-weight:600;font-size:.95rem}
.wizard-vacante #wizardVacanteNombre{color:var(--text-dark);font-weight:700}
.wizard-vacante[hidden]{display:none}
.wizard-steps{position:relative;min-height:280px}
.wizard-step{display:none;animation:wizardIn .45s cubic-bezier(.2,.7,.2,1)}
.wizard-step.is-active{display:block}
.wizard-step.is-leaving{animation:wizardOut .3s ease forwards}
@keyframes wizardIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@keyframes wizardOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-18px)}}

.wizard-step h2{font-size:clamp(1.4rem,3vw,1.9rem);color:var(--text-dark);margin-bottom:8px}
.wizard-step p.wizard-sub{color:var(--muted-dark);font-size:.95rem;margin-bottom:28px}

/* Option grid (country / experience / destination) */
.wizard-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.wizard-option{
  min-height:64px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;
  padding:16px 14px;border-radius:16px;border:2px solid var(--line-light);background:var(--bg-light);
  color:var(--text-dark);font-family:'Sora',sans-serif;font-weight:600;font-size:.95rem;cursor:pointer;
  transition:border-color .25s,background .25s,transform .25s,box-shadow .25s;
}
.wizard-option:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(10,23,48,.08)}
.wizard-option.is-selected{border-color:var(--blue);background:rgba(90,162,226,.12);color:var(--blue);box-shadow:0 10px 24px rgba(21,95,209,.14)}
.wizard-option .flag{font-size:1.5rem;line-height:1}

/* Two-big-button layout (pasaporte si/no) */
.wizard-options.wizard-options-2{grid-template-columns:repeat(2,1fr)}
.wizard-options.wizard-options-2 .wizard-option{min-height:88px;font-size:1.1rem}

/* Text/number inputs */
.wizard-field{max-width:340px}
.wizard-field label{display:block;font-size:.82rem;font-weight:600;color:var(--muted-dark);margin-bottom:8px}
.wizard-input,.wizard-select{
  width:100%;min-height:52px;padding:0 16px;border-radius:14px;border:2px solid var(--line-light);
  background:var(--bg-light);color:var(--text-dark);font-family:'Inter',sans-serif;font-size:1rem;
  transition:border-color .25s;
}
.wizard-input:focus,.wizard-select:focus{outline:none;border-color:var(--blue)}

/* Step 6 contact form */
.wizard-form-grid{display:flex;flex-direction:column;gap:20px}
.wizard-phone-row{display:flex;gap:10px}
.wizard-phone-row .wizard-select{flex:0 0 128px}
.wizard-phone-row .wizard-input{flex:1}

/* Nav buttons */
.wizard-nav{display:flex;justify-content:space-between;align-items:center;margin-top:36px;gap:14px}
.wizard-nav .btn{min-height:48px}
.wizard-btn-back{visibility:hidden}
.wizard-btn-back.is-visible{visibility:visible}
.wizard-btn-next:disabled,.wizard-btn-submit:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}

/* Confirmation screen */
.wizard-done{text-align:center;padding:20px 0}
.wizard-done .wizard-done-icon{
  width:84px;height:84px;margin:0 auto 22px;border-radius:50%;background:rgba(37,211,102,.12);
  display:grid;place-items:center;color:#25D366;
}
.wizard-done .wizard-done-icon svg{width:40px;height:40px}
.wizard-done h2{color:var(--text-dark);margin-bottom:10px}
.wizard-done p{color:var(--muted-dark);max-width:440px;margin:0 auto 30px}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .wizard-step{animation:none}
  .wizard-progress-fill{transition:none}
  .wizard-option{transition:none}
}

@media (max-width:640px){
  .wizard-card{padding:26px 20px}
  .wizard-options{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .wizard-nav{flex-direction:row}
  .wizard-phone-row{flex-direction:column}
  .wizard-phone-row .wizard-select{flex:1 1 auto}
}
