/* Formulario por pasos de contacto (contacto.html). */
.wizard{text-align:left}
.wizard [hidden]{display:none!important}
.wizard .mini{margin-bottom:18px}
.wz-progress{margin:4px 0 10px}
.wz-bar{height:4px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.wz-bar i{display:block;height:100%;width:100%;transform-origin:0 50%;scale:var(--wz-p,.2) 1;background:linear-gradient(90deg,#B8923F,#E7C77E);border-radius:inherit;transition:scale .55s cubic-bezier(.16,1,.3,1)}
.wz-dots{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:12px 0 0;padding:0}
.wz-dots li{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-3);font-weight:600;transition:color .3s}
.wz-dots li span{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;border:1px solid var(--stroke);transition:background .3s,border-color .3s,color .3s,scale .45s cubic-bezier(.34,1.56,.64,1)}
.wz-dots li.on{color:var(--ink)}
.wz-dots li.on span{border-color:var(--gold);background:rgba(209,171,108,.16);color:#E7C77E;scale:1.08}
.wz-dots li.done span{background:var(--gold);border-color:var(--gold);color:#171006}
.wz-count{font-size:12px;color:var(--ink-3);margin:0 0 6px}
.wz-count b{color:#E7C77E}
.wz-viewport{position:relative}
.wz-step{border:0;margin:0;padding:6px 0 0;min-width:0}
.wz-step.is-enter{animation:wzIn .45s cubic-bezier(.16,1,.3,1) both}
.wz-step.is-enter.back{animation-name:wzInBack}
@keyframes wzIn{from{opacity:0;translate:28px 0}to{opacity:1;translate:none}}
@keyframes wzInBack{from{opacity:0;translate:-28px 0}to{opacity:1;translate:none}}
.wz-legend{font-size:clamp(20px,2.2vw,24px);font-weight:700;letter-spacing:-.02em;padding:0}
.wz-sub{color:var(--ink-3);font-size:13px;margin:4px 0 16px}
.wz-label{display:block;font-size:12px;color:var(--ink-3);margin-bottom:8px}
.wz-chips{display:flex;flex-wrap:wrap;gap:8px}
.wz-chip{position:relative;cursor:pointer}
.wz-chip input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.wz-chip span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--stroke);background:rgba(255,255,255,.04);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;color:var(--ink-2);transition:border-color .2s,background .2s,color .2s,scale .4s cubic-bezier(.34,1.56,.64,1)}
.wz-chip:hover span{border-color:rgba(209,171,108,.5);color:var(--ink)}
.wz-chip input:checked+span{border-color:var(--gold);background:rgba(209,171,108,.17);color:#F6E7C4;scale:1.04}
.wz-chip input:checked+span::before{content:"";width:6px;height:6px;border-radius:50%;background:#E7C77E;box-shadow:0 0 10px rgba(231,199,126,.8)}
.wz-chip input:focus-visible+span{outline:2px solid rgba(231,199,126,.75);outline-offset:2px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(209,171,108,.14)}
.wz-msg{display:block;min-height:0;font-size:11.5px;color:#F09A93;margin-top:6px}
.wz-msg:empty{display:none}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#e0655e}
.field.is-invalid .wz-chips{border-radius:16px;box-shadow:0 0 0 1px rgba(224,101,94,.5)}
.field.is-valid input,.field.is-valid select{border-color:rgba(132,203,160,.45)}
.wz-shake{animation:wzShake .4s cubic-bezier(.36,.07,.19,.97)}
@keyframes wzShake{20%,60%{translate:-6px 0}40%,80%{translate:6px 0}}
.wz-consent{display:flex!important;gap:10px;align-items:flex-start;font-size:13px!important;color:var(--ink-2)!important;cursor:pointer;line-height:1.5}
.wz-consent input{width:18px!important;height:18px;flex:0 0 auto;margin-top:2px;accent-color:#D1AB6C}
.wz-consent a{color:#E7C77E;text-decoration:underline}
.wz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wz-nav{display:flex;gap:10px;margin-top:18px}
.wz-nav .wz-next,.wz-nav .wz-submit{flex:1;padding:15px}
.wz-nav .wz-back{padding:15px 18px}
.wz-error{margin-top:14px;border:1px solid rgba(224,101,94,.4);background:rgba(224,101,94,.08);border-radius:14px;padding:12px 14px;font-size:13px;color:var(--ink-2)}
.wz-error a{color:#E7C77E;font-weight:700;text-decoration:underline}
.wz-spin{display:none;width:16px;height:16px;border-radius:50%;border:2px solid rgba(23,16,6,.25);border-top-color:#171006;animation:wzSpin .7s linear infinite}
.wizard[data-busy] .wz-spin{display:inline-block}
.wizard[data-busy] .wz-submit{pointer-events:none;filter:saturate(.8)}
@keyframes wzSpin{to{rotate:360deg}}
.wizard .ok .pill{margin-top:16px}
.wizard.sent .wz-check{stroke-dasharray:24;stroke-dashoffset:24;animation:wzDraw .6s .15s cubic-bezier(.65,0,.35,1) forwards}
.wizard.sent .ok .ic{animation:wzPop .5s cubic-bezier(.34,1.56,.64,1) both}
@keyframes wzDraw{to{stroke-dashoffset:0}}
@keyframes wzPop{from{scale:.4;opacity:0}to{scale:1;opacity:1}}
@media(max-width:560px){
  .wz-dots li{font-size:0;gap:0;justify-content:center}
  .wz-dots li span{font-size:11px}
  .wz-chip span{padding:9px 12px;font-size:12.5px}
}
@media(prefers-reduced-motion:reduce){.wz-step.is-enter,.wz-shake,.wizard.sent .wz-check,.wizard.sent .ok .ic{animation:none!important}.wizard.sent .wz-check{stroke-dashoffset:0}}
