/* Estilos específicos del wizard; la página usa el sistema global del sitio. */
.fx{
  --fx-primary:var(--navy-700); --fx-primary-d:var(--navy-950);
  --fx-accent:var(--amber-500); --fx-accent-d:var(--amber-600);
  --fx-on-accent:var(--navy-950);
  --fx-ink:var(--ink-900); --fx-muted:var(--steel-600);
  --fx-bg:var(--paper-50); --fx-card:var(--paper-0); --fx-line:var(--line);
  --fx-danger:#c62828; --fx-ok:#2E7D5B; --fx-r:4px; --fx-rs:2px;
  --fx-mono:var(--font-mono);
  --fx-head:var(--font-display);
  font-family:var(--font-body);
  color:var(--fx-ink); background:var(--paper-0); line-height:1.55;
  -webkit-text-size-adjust:100%;
}
.fx *,.fx *::before,.fx *::after{box-sizing:border-box}
.fx h1,.fx h2,.fx h3,.fx p,.fx ul,.fx blockquote{margin:0}
.fx a{color:var(--fx-primary)}
.fx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Wizard */
.fx-wizard{margin-top:-64px;position:relative;max-width:640px}
.fx-box{background:var(--fx-card);border:1px solid var(--fx-line);border-radius:var(--radius);padding:20px 16px 22px}
.fx-progress__txt{font-family:var(--fx-mono);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;color:var(--fx-muted);margin-bottom:6px}
.fx-progress__bar{height:8px;background:var(--paper-50);border-radius:var(--radius);overflow:hidden}
.fx-progress__bar i{display:block;height:100%;width:25%;background:var(--fx-accent);border-radius:var(--radius);transition:width .35s ease}

.fx-step{display:none;border:0;margin:20px 0 0;padding:0;min-width:0}
.fx-step.is-active{display:block;animation:fx-in .3s ease both}
.fx-step.is-back{animation-name:fx-back}
.fx-step legend{font-size:1.5rem;font-weight:700;line-height:1.3;padding:0;margin-bottom:14px;float:left;width:100%}
.fx-step legend+*{clear:both}
@keyframes fx-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes fx-back{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}

/* Tarjetas de selección */
.fx-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fx-grid--1{grid-template-columns:1fr}
.fx-card{display:block;cursor:pointer;position:relative}
.fx-card input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.fx-card__b{display:flex;flex-direction:column;gap:2px;min-height:112px;padding:14px 12px;border:2px solid var(--fx-line);border-radius:var(--fx-rs);background:#fff;transition:border-color .15s,background .15s,transform .1s}
.fx-grid--1 .fx-card__b{min-height:72px;flex-direction:row;align-items:center;flex-wrap:wrap;column-gap:12px}
.fx-grid--1 .fx-card__b small{flex-basis:100%;padding-left:46px;margin-top:-6px}
.fx-card__b i{font-style:normal;font-size:1.7rem;line-height:1}
.fx-card__b strong{font-size:.98rem;line-height:1.2}
.fx-card__b small{color:var(--fx-muted);font-size:.8rem;line-height:1.3}
.fx-card input:checked+.fx-card__b{border-color:var(--fx-accent);background:#fff8e6;box-shadow:0 0 0 3px rgba(242,164,0,.25)}
.fx-card input:focus-visible+.fx-card__b{outline:3px solid var(--fx-primary);outline-offset:2px}
.fx-card:active .fx-card__b{transform:scale(.98)}

/* Campos */
.fx-field{margin-bottom:14px}
.fx-field label,.fx-check{font-size:.92rem;font-weight:600}
.fx-field label em{font-weight:400;color:var(--fx-muted)}
.fx-field small{display:block;color:var(--fx-muted);font-size:.8rem;margin-top:4px}
.fx input[type=text],.fx input[type=tel],.fx input[type=email],.fx input[type=file]{
  display:block;width:100%;min-height:52px;margin-top:6px;padding:12px 14px;font:inherit;font-size:1rem;
  color:var(--fx-ink);background:#fff;border:2px solid var(--fx-line);border-radius:var(--fx-rs);appearance:none}
.fx input[type=file]{padding:12px;font-size:.9rem}
.fx input:focus{outline:none;border-color:var(--fx-primary);box-shadow:0 0 0 3px rgba(11,79,138,.15)}
.fx input.is-bad{border-color:var(--fx-danger)}
.fx-money{display:flex;align-items:center;position:relative}
.fx-money span{position:absolute;left:14px;top:calc(50% + 3px);transform:translateY(-50%);font-weight:700;color:var(--fx-muted)}
.fx-money input{padding-left:32px}
.fx-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;cursor:pointer;margin-top:4px}
.fx-check input{width:24px;height:24px;flex:none;margin:0;accent-color:var(--fx-accent)}
.fx-err{min-height:0;color:var(--fx-danger);font-size:.84rem;margin-top:6px}
.fx-err:empty{display:none}
.fx-alert{margin-top:14px;padding:12px 14px;border-radius:var(--fx-rs);background:#fdecea;color:#8a1c1c;font-size:.92rem}

/* Botones */
.fx-nav{display:flex;gap:10px;margin-top:20px}
.fx-btn{flex:1;min-height:56px;padding:.85rem 1.6rem;border:2px solid transparent;border-radius:var(--radius);font-family:var(--font-display);font-size:1.02rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fx-on-accent);background:var(--fx-accent);cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent}
.fx-btn:hover{background:var(--fx-accent-d);box-shadow:0 6px 16px rgba(212,143,0,.28)}
.fx-btn:active{transform:scale(.98)}
.fx-btn:focus-visible{outline:3px solid var(--fx-primary);outline-offset:2px}
.fx-btn--ghost{flex:0 0 36%;background:var(--paper-0);color:var(--fx-primary);border:2px solid var(--fx-line)}
.fx-btn--ghost:hover{background:#f1f6fa;box-shadow:none}
.fx-btn[disabled]{opacity:.65;cursor:wait}
.fx [hidden]{display:none!important}

/* Agradecimiento */
.fx-thanks{text-align:center;padding:18px 4px 6px;animation:fx-in .35s ease both}
.fx-thanks:focus{outline:none}
.fx-ok{width:68px;height:68px;margin:0 auto 14px;border-radius:50%;background:var(--fx-ok);color:#fff;font-size:2rem;line-height:68px;font-weight:700}
.fx-thanks h2{font-size:1.5rem;margin-bottom:8px}
.fx-thanks p{color:var(--fx-muted);margin-bottom:18px}

/* Secciones */
.fx-trust{display:grid;gap:12px;grid-template-columns:1fr}
.fx-trust article{background:var(--paper-0);border:1px solid var(--fx-line);border-radius:var(--radius);padding:18px}
.fx-trust i{font-style:normal;font-size:1.8rem}
.fx-trust h3{font-size:1.02rem;margin:6px 0 4px}
.fx-trust p{color:var(--fx-muted);font-size:.92rem}
.fx-metrics{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}
.fx-metrics li{background:var(--fx-primary-d);border-bottom:3px solid var(--fx-accent);color:#fff;border-radius:var(--fx-rs);padding:14px 8px;text-align:center}
.fx-metrics b{display:block;font-family:var(--fx-head);font-size:1.6rem;line-height:1.1;color:var(--fx-accent)}
.fx-metrics span{font-size:.75rem;opacity:.92}
.fx-testi{display:grid;gap:12px}
.fx-testi blockquote{background:#fff;border-left:4px solid var(--fx-accent);border-radius:var(--fx-rs);padding:14px 16px;font-style:italic}
.fx-testi cite{display:block;margin-top:6px;font-size:.85rem;font-style:normal;color:var(--fx-muted)}
.fx-note{font-size:.78rem;color:var(--fx-muted);margin-top:12px;text-align:center}

/* FAQ */
.fx-faq{max-width:720px;margin:0 auto}
.fx-qa{background:var(--paper-0);border:1px solid var(--fx-line);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}
.fx-qa h3{font-size:1rem}
.fx-qa button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:14px 16px;font-weight:700;cursor:pointer}
.fx-qa button::after{content:"+";font-size:1.5rem;line-height:1;color:var(--fx-primary);transition:transform .2s;flex:none}
.fx-qa button[aria-expanded=true]::after{transform:rotate(45deg)}
.fx-qa button:focus-visible{outline:3px solid var(--fx-primary);outline-offset:-3px}
.fx-qa [role=region]{padding:0 16px 16px;color:var(--fx-muted);font-size:.95rem;animation:fx-in .25s ease both}

/* Los .fx-btn que son <a> (pantalla de gracias) heredaban el color de ".fx a" */
.fx a.fx-btn{color:var(--fx-on-accent)}
.fx a.fx-btn--ghost{color:var(--fx-primary)}

/* Tablet / escritorio */
@media (min-width:640px){
  .fx-box{padding:28px}
  .fx-trust{grid-template-columns:1fr 1fr}
  .fx-testi{grid-template-columns:1fr 1fr}
  .fx-grid--1 .fx-card__b{min-height:76px}
}
@media (min-width:900px){
  .fx-trust{grid-template-columns:repeat(4,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .fx *,.fx *::before,.fx *::after{animation:none!important;transition:none!important}
}