.falatv-form-wrap{
    --falatv-blue:#1c4c8c;
    --falatv-blue-dark:#123363;
    --falatv-gold:#e8a634;
    --falatv-gold-dark:#c98c20;
    --falatv-bg:#f4f7fb;
    --falatv-ink:#1e2733;
    --falatv-muted:#67717d;
    --falatv-border:#dde3ea;
    --falatv-danger:#c0392b;
    --falatv-ok:#2f8f4e;
    max-width:760px;margin:30px auto;font-family:inherit;color:var(--falatv-ink);
}
.falatv-form-wrap *{box-sizing:border-box}
.falatv-form{background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(18,51,99,.10);overflow:hidden;border:1px solid var(--falatv-border)}
.falatv-header{background:#f1f3f5;color:#1e2733;padding:28px 30px;border-bottom:1px solid var(--falatv-border)}
.falatv-header h2{margin:0 0 6px;font-size:22px;color:#1e2733}
.falatv-intro{margin:0;color:#3c4653;font-size:14px;line-height:1.5}

/* Garante que o atributo "hidden" nunca seja sobrescrito pelo display definido
   nas classes de botão (.falatv-btn etc.) — bug que fazia "Próximo" e
   "Enviar inscrição" aparecerem juntos ao mesmo tempo. */
.falatv-form-wrap [hidden]{display:none!important}

/* progress bar */
.falatv-progress{display:flex;list-style:none;margin:0;padding:18px 24px 0;gap:4px;background:#fff}
.falatv-progress li{flex:1;text-align:center;position:relative;font-size:11px;color:var(--falatv-muted);font-weight:600}
.falatv-progress li:not(:last-child)::after{content:"";position:absolute;top:13px;left:56%;width:88%;height:2px;background:var(--falatv-border);z-index:0}
.falatv-progress li.is-done:not(:last-child)::after{background:var(--falatv-gold)}
.falatv-progress-dot{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--falatv-border);color:#fff;font-size:12px;font-weight:700;margin:0 auto 6px;position:relative;z-index:1;transition:background .2s,transform .2s}
.falatv-progress li.is-active .falatv-progress-dot{background:var(--falatv-blue);transform:scale(1.1)}
.falatv-progress li.is-done .falatv-progress-dot{background:var(--falatv-gold)}
.falatv-progress-label{display:none}
@media(min-width:600px){.falatv-progress-label{display:block}}

/* steps */
.falatv-step{display:none;padding:26px 30px 6px;animation:falatv-fade .25s ease}
.falatv-step.is-active{display:block}
@keyframes falatv-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.falatv-step-title{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:16px;color:var(--falatv-blue-dark)}
.falatv-step-title .dashicons{color:var(--falatv-gold)}

.falatv-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.falatv-field{display:block}
.falatv-field.full{grid-column:1/-1}
.falatv-field span{display:block;font-weight:600;font-size:13px;margin-bottom:6px;color:var(--falatv-ink)}
.falatv-form input[type=text],.falatv-form textarea,.falatv-form select{
    width:100%;padding:12px 14px;border:1.5px solid var(--falatv-border);border-radius:9px;
    font-size:14px;background:var(--falatv-bg);transition:border-color .15s,background .15s;
}
.falatv-form input[type=text]:focus,.falatv-form textarea:focus,.falatv-form select:focus{outline:none;border-color:var(--falatv-blue);background:#fff}
.falatv-form input.falatv-invalid,.falatv-form textarea.falatv-invalid,.falatv-form select.falatv-invalid{border-color:var(--falatv-danger);background:#fdf1f0}
.falatv-form textarea{resize:vertical;min-height:100px}

.falatv-fieldset{border:1.5px solid var(--falatv-border);border-radius:10px;padding:16px;margin:0 0 18px}
.falatv-fieldset legend{font-weight:700;padding:0 6px;font-size:13px}
.falatv-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.falatv-check{display:flex!important;align-items:flex-start;gap:8px;font-weight:400!important;font-size:14px;margin:6px 0!important;cursor:pointer}
.falatv-check input{margin-top:3px}
@media(max-width:600px){.falatv-check-grid{grid-template-columns:1fr}}

/* upload */
.falatv-upload-box{position:relative;display:flex;align-items:center;gap:16px;border:2px dashed var(--falatv-border);border-radius:12px;padding:18px;cursor:pointer;background:var(--falatv-bg);transition:border-color .15s,background .15s}
.falatv-upload-box.is-dragover,.falatv-upload-box:hover{border-color:var(--falatv-blue);background:#eef3fb}
.falatv-upload-preview{flex:0 0 56px;width:56px;height:56px;border-radius:10px;background:#fff;border:1px solid var(--falatv-border);display:flex;align-items:center;justify-content:center;overflow:hidden}
.falatv-upload-preview img{width:100%;height:100%;object-fit:cover}
.falatv-upload-preview .dashicons{color:var(--falatv-muted);font-size:26px}
.falatv-upload-text{font-size:13px;color:var(--falatv-muted)}
.falatv-upload-text strong{color:var(--falatv-blue)}
.falatv-upload-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}

/* term box */
.falatv-term-box{background:var(--falatv-bg);border:1.5px solid var(--falatv-border);border-radius:12px;padding:18px}
.falatv-term-box h4{margin:0 0 6px}
.falatv-term-box p{margin:0 0 14px;font-size:13px;color:var(--falatv-muted)}
.falatv-term-open{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:0;border-radius:8px;cursor:pointer;background:var(--falatv-blue);color:#fff;font-weight:600;font-size:13px}
.falatv-term-open:hover{background:var(--falatv-blue-dark)}
.falatv-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;margin:16px 0 0!important;font-size:14px;cursor:pointer}
.falatv-consent input{margin-top:3px}

/* review */
.falatv-review{margin-top:16px;font-size:13px;color:var(--falatv-muted)}

/* nav */
.falatv-nav{display:flex;justify-content:space-between;gap:12px;padding:22px 30px 26px;border-top:1px solid var(--falatv-border);margin-top:14px}
.falatv-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;border-radius:9px;border:0;font-weight:700;font-size:14px;cursor:pointer;transition:transform .1s,background .15s}
.falatv-btn:active{transform:scale(.98)}
.falatv-btn-primary{background:linear-gradient(135deg,var(--falatv-gold),var(--falatv-gold-dark));color:#1e2733;margin-left:auto}
.falatv-btn-primary:hover{filter:brightness(1.05)}
.falatv-btn-ghost{background:#fff;border:1.5px solid var(--falatv-border);color:var(--falatv-ink)}
.falatv-btn-ghost:disabled{opacity:.4;cursor:not-allowed}
.falatv-btn .dashicons{font-size:16px;width:16px;height:16px}
.falatv-error-msg{color:var(--falatv-danger);font-size:13px;font-weight:600;padding:0 30px 18px;margin:0;display:none}
.falatv-error-msg.is-visible{display:block}

.falatv-success{display:flex;gap:14px;align-items:flex-start;padding:24px;border-radius:14px;background:#eef8f0;border:1px solid #bfe3c6;color:#1e2733}
.falatv-success .dashicons{color:var(--falatv-ok);font-size:30px;width:30px;height:30px;flex:0 0 auto}
.falatv-success strong{display:block;margin-bottom:4px;font-size:16px}
.falatv-success p{margin:0;color:var(--falatv-muted)}

/* modal (termo) */
.falatv-modal{display:none;position:fixed;z-index:999999;inset:0;background:rgba(15,25,40,.7);padding:20px;overflow:auto}
.falatv-modal.show{display:flex;align-items:flex-start;justify-content:center}
.falatv-modal-inner{background:#fff;max-width:760px;width:100%;margin:24px auto;padding:32px;position:relative;border-radius:14px;max-height:85vh;overflow:auto}
.falatv-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--falatv-muted);line-height:1}
.falatv-term-content{line-height:1.7;font-size:14px}
.falatv-term-content h2{color:var(--falatv-blue-dark);font-size:18px}

@media(max-width:600px){
    .falatv-form-wrap{margin:0;border-radius:0}
    .falatv-grid{grid-template-columns:1fr}
    .falatv-header,.falatv-step,.falatv-nav{padding-left:18px;padding-right:18px}
    .falatv-error-msg{padding-left:18px;padding-right:18px}
    .falatv-nav{flex-wrap:wrap}
}
