/* ===== Formulário de expansão BOX One (em etapas) =====
   Arquivo independente: não depende do CSS da página onde é usado. */
.bx-lead,.bx-modal{
  --bx-orange:#f28e1e;--bx-orange-2:#ffae4d;--bx-bg:#07080a;--bx-card:#12161f;
  --bx-line:rgba(255,255,255,.08);--bx-text:#e2e6ef;--bx-muted:#a0abbd;--bx-dim:#6f7b91;
  --bx-head:"Space Grotesk",-apple-system,BlinkMacSystemFont,sans-serif;
  --bx-body:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  font-family:var(--bx-body);color:var(--bx-text);text-align:left;
}
.bx-lead *,.bx-modal *{box-sizing:border-box}
.bx-form{display:grid;gap:18px;background:var(--bx-card);border:1px solid var(--bx-line);border-radius:22px;padding:36px}
.bx-form[hidden]{display:none}
.bx-head{text-align:center}
.bx-eyebrow{display:inline-block;font-family:var(--bx-head);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bx-orange);background:rgba(242,142,30,.1);border:1px solid rgba(242,142,30,.25);padding:6px 14px;border-radius:99px;margin-bottom:10px}
.bx-head h3{margin:0;font-family:var(--bx-head);font-size:1.4rem;line-height:1.3;color:#fff}
.bx-progress{display:grid;gap:8px}
.bx-count{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bx-orange)}
.bx-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.bx-bar i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--bx-orange),var(--bx-orange-2));transition:width .45s cubic-bezier(.4,0,.2,1)}
.bx-step{display:grid;gap:14px;min-height:150px;align-content:start;border:0;margin:0;padding:0;min-width:0}
.bx-step[hidden]{display:none}
.bx-step legend{font-family:var(--bx-head);font-size:1.25rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:14px;padding:0;width:100%}
.bx-step.bx-enter{animation:bxIn .4s cubic-bezier(.2,.7,.2,1)}
@keyframes bxIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.bx-field{display:grid;gap:6px;font-size:.88rem;font-weight:600;color:var(--bx-text)}
.bx-field input{width:100%;background:var(--bx-bg);border:1px solid var(--bx-line);border-radius:10px;padding:13px 14px;color:#fff;font:inherit;font-weight:400;font-size:1rem;transition:border-color .25s,box-shadow .25s}
.bx-field input::placeholder{color:var(--bx-dim)}
.bx-field input:focus{outline:none;border-color:var(--bx-orange);box-shadow:0 0 0 4px rgba(242,142,30,.15)}
.bx-choices{display:grid;gap:10px}
.bx-choice{display:block;cursor:pointer}
.bx-choice input{position:absolute;opacity:0;pointer-events:none}
.bx-choice span{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 18px;border-radius:12px;border:1px solid var(--bx-line);background:var(--bx-bg);font-size:.98rem;font-weight:500;color:var(--bx-muted);transition:.2s}
.bx-choice span::after{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--bx-line);flex:0 0 18px;transition:.2s}
.bx-choice:hover span{border-color:rgba(242,142,30,.5);color:#fff}
.bx-choice input:checked+span{background:var(--bx-orange);border-color:var(--bx-orange);color:#111;font-weight:700}
.bx-choice input:checked+span::after{border-color:#111;background:#111;box-shadow:inset 0 0 0 3px var(--bx-orange)}
.bx-choice input:focus-visible+span{outline:2px solid var(--bx-orange-2);outline-offset:2px}
.bx-error{margin:0;color:#ff8a65;font-size:.9rem;font-weight:600;text-align:center}
.bx-error:empty{display:none}
.bx-nav{display:flex;gap:12px}
.bx-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;background:var(--bx-orange);color:#111;font-family:var(--bx-head);font-weight:700;font-size:1rem;padding:15px 22px;border-radius:12px;border:0;cursor:pointer;transition:.2s}
.bx-btn:hover{background:var(--bx-orange-2);box-shadow:0 12px 30px rgba(242,142,30,.3)}
.bx-btn:disabled{opacity:.7;cursor:wait}
.bx-ghost{flex:0 0 auto;background:transparent;color:#fff;border:1px solid var(--bx-line)}
.bx-ghost:hover{background:transparent;border-color:var(--bx-orange);color:var(--bx-orange);box-shadow:none}
.bx-back[hidden]{display:none}
.bx-note{display:block;color:var(--bx-dim);text-align:center;font-size:.82rem}
.bx-ok{text-align:center;padding:40px 20px;background:var(--bx-card);border:1px solid var(--bx-line);border-radius:22px}
.bx-ok[hidden]{display:none}
.bx-ok-icon{width:64px;height:64px;border-radius:50%;background:var(--bx-orange);display:grid;place-items:center;margin:0 auto 18px;animation:bxPop .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes bxPop{from{transform:scale(0)}to{transform:scale(1)}}
.bx-ok-icon svg{width:30px;height:30px}
.bx-ok h3{margin:0 0 8px;font-family:var(--bx-head);color:#fff}
.bx-ok p{margin:0;color:var(--bx-muted)}

/* Janela (modal) */
.bx-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.bx-modal[hidden]{display:none}
.bx-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.bx-box{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 40px);overflow-y:auto;border-radius:22px;opacity:0;transform:translateY(30px) scale(.97);transition:opacity .3s,transform .3s}
.bx-modal.open .bx-backdrop{opacity:1}
.bx-modal.open .bx-box{opacity:1;transform:none}
.bx-box .bx-form{border-color:rgba(242,142,30,.3)}
.bx-close{position:absolute;top:12px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid var(--bx-line);background:var(--bx-bg);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:.2s}
.bx-close:hover{border-color:var(--bx-orange);color:var(--bx-orange);transform:rotate(90deg)}
html.bx-open,html.bx-open body{overflow:hidden}

@media (max-width:560px){
  .bx-modal{padding:10px}
  .bx-box{max-height:calc(100vh - 20px)}
  .bx-form{padding:26px 18px;gap:16px}
  .bx-head .bx-eyebrow,.bx-note{display:none}
  .bx-head h3{font-size:1.15rem;padding-right:34px}
  .bx-count{text-align:center}
  .bx-step{min-height:0}
  .bx-step legend{font-size:1.1rem;text-align:center}
  .bx-field{text-align:center}
}

/* WhatsApp com +55 fixo */
.bx-tel{display:flex;align-items:stretch;background:var(--bx-bg);border:1px solid var(--bx-line);border-radius:10px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.bx-tel:focus-within{border-color:var(--bx-orange);box-shadow:0 0 0 4px rgba(242,142,30,.15)}
.bx-ddi{display:flex;align-items:center;padding:0 12px 0 14px;color:var(--bx-orange);font-weight:700;border-right:1px solid var(--bx-line);background:rgba(242,142,30,.06)}
.bx-field .bx-tel input{border:0;border-radius:0;box-shadow:none;background:transparent}
.bx-field .bx-tel input:focus{box-shadow:none}
.bx-hint{font-size:.78rem;font-weight:400;color:var(--bx-dim)}
