/* Savant · Formulários de briefing */
.bf-body{background:var(--bg);color:var(--ink);font-family:var(--f-b);min-height:100vh;display:flex;flex-direction:column}
.bf-hdr{border-bottom:1px solid var(--line);background:var(--bg)}
.bf-hdr .in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.bf-hdr .logo svg{height:40px}
.bf-tag{font:600 13px/1 var(--f-b);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.bf-main{flex:1;padding:36px 0 72px}
.bf-wrap{width:min(720px,calc(100% - 32px));margin-inline:auto}
.bf-intro h1{font:700 clamp(28px,5vw,40px)/1.12 var(--f-d);letter-spacing:-.02em;margin:0 0 12px}
.bf-intro h1 .dot{color:var(--brand)}
.bf-intro p{color:var(--ink2);font-size:17px;line-height:1.55;margin:0 0 8px}
.bf-intro .bf-meta{font-size:14px;color:var(--muted);margin-top:10px}
.bf-alt{margin-top:14px;font-size:15px;color:var(--ink2)}
.bf-alt a{color:var(--brand-strong);font-weight:700}

.bf-progress{margin:28px 0 18px;position:sticky;top:0;z-index:5;background:var(--bg);padding:12px 0}
.bf-progress .lbl{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);margin-bottom:8px}
.bf-progress .lbl b{color:var(--ink);font-weight:700}
.bf-bar{height:6px;border-radius:99px;background:var(--bg2);overflow:hidden}
.bf-bar i{display:block;height:100%;width:0;background:var(--brand);border-radius:99px;transition:width .3s}

.bf-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.bf-step{display:none}
.bf-step.on{display:block}
.bf-step h2{font:700 24px/1.2 var(--f-d);margin:0 0 6px;letter-spacing:-.01em}
.bf-step .bf-desc{color:var(--ink2);margin:0 0 22px;line-height:1.55}

.bf-f{margin:0 0 22px}
.bf-f[hidden]{display:none}
.bf-f>label.bf-l,.bf-f>.bf-l{display:block;font-weight:700;font-size:16px;margin-bottom:8px;line-height:1.35}
.bf-req{color:var(--err);margin-left:2px}
.bf-opt{font-weight:500;color:var(--muted);font-size:14px;margin-left:6px}
.bf-help{font-size:14px;color:var(--muted);margin:-2px 0 10px;line-height:1.5}
.bf-in,.bf-ta,.bf-sel{width:100%;font:500 16px/1.4 var(--f-b);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;transition:border-color .15s}
.bf-ta{min-height:110px;resize:vertical}
.bf-in:focus,.bf-ta:focus,.bf-sel:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.bf-f.err .bf-in,.bf-f.err .bf-ta,.bf-f.err .bf-opts{border-color:var(--err)}
.bf-msg{display:none;color:var(--err);font-size:14px;margin-top:6px;font-weight:600}
.bf-f.err .bf-msg{display:block}

.bf-opts{display:grid;gap:8px;border:1.5px solid transparent;border-radius:12px}
.bf-opts.cols{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.bf-o{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;background:var(--bg);line-height:1.4;font-size:16px}
.bf-o:hover{border-color:color-mix(in srgb,var(--brand) 60%,var(--line))}
.bf-o input{margin:2px 0 0;width:18px;height:18px;accent-color:var(--brand-strong);flex:none}
.bf-o:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.bf-o small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.bf-other{margin-top:8px}

.bf-list .row{display:flex;gap:8px;margin-bottom:8px}
.bf-list .row .bf-in{flex:1}
.bf-x{flex:none;width:44px;border:1.5px solid var(--line);background:transparent;color:var(--muted);border-radius:12px;cursor:pointer;font-size:20px;line-height:1}
.bf-x:hover{color:var(--err);border-color:var(--err)}
.bf-add{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:12px;border:1.5px dashed var(--line);background:transparent;color:var(--brand-strong);font:700 15px/1 var(--f-b);cursor:pointer}
.bf-add:hover{border-color:var(--brand)}
.bf-add[disabled]{opacity:.45;cursor:not-allowed}

.bf-rep-item{border:1.5px solid var(--line);border-radius:16px;padding:18px;margin-bottom:12px;background:var(--bg)}
.bf-rep-item .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.bf-rep-item .hd b{font:700 16px/1 var(--f-d)}
.bf-rep-item .bf-f{margin-bottom:14px}
.bf-rep-item .bf-in,.bf-rep-item .bf-ta{background:var(--surface)}
.bf-rep-item .bf-ta{min-height:80px}
.bf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.bf-drop{display:block;position:relative;border:1.5px dashed var(--line);border-radius:14px;padding:18px;text-align:center;background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s}
.bf-drop:hover,.bf-drop.over{border-color:var(--brand);background:var(--brand-soft)}
.bf-drop b{display:block;font-size:16px;color:var(--brand-strong)}
.bf-drop span{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.bf-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.bf-sug{background:var(--bg2);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;color:var(--ink2);margin-bottom:10px}
.bf-sug b{color:var(--ink)}
.bf-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:10px}
.bf-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--bg2);border:1px solid var(--line)}
.bf-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bf-thumb .nm{position:absolute;inset:auto 0 0 0;padding:4px 6px;font-size:11px;background:color-mix(in srgb,var(--surface) 88%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bf-thumb .doc{display:flex;align-items:center;justify-content:center;height:100%;font:700 13px/1 var(--f-d);color:var(--muted);text-transform:uppercase}
.bf-thumb button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:var(--ink);color:var(--bg);cursor:pointer;font-size:16px;line-height:26px;padding:0}
.bf-count{font-size:13px;color:var(--muted);margin-top:6px}

.bf-note{background:var(--brand-soft);border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.55;margin:0 0 22px}
.bf-note b{font-weight:700}

.bf-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.bf-nav .btn{display:inline-flex}
.bf-nav .btn[hidden]{display:none}
.bf-nav .sp{flex:1}
.bf-save{font-size:13px;color:var(--muted);text-align:center;margin-top:14px}
.bf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.bf-sending,.bf-done{display:none;text-align:center;padding:20px 0}
.bf-sending.on,.bf-done.on{display:block}
.bf-sending h2,.bf-done h2{font:700 26px/1.2 var(--f-d);margin:0 0 10px}
.bf-sending p,.bf-done p{color:var(--ink2);line-height:1.55;margin:0 auto 10px;max-width:46ch}
.bf-sending .bf-bar{max-width:420px;margin:22px auto 10px;height:8px}
.bf-done .ok{width:64px;height:64px;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.bf-done .ok svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bf-done .btn{display:inline-flex;margin-top:12px}
.bf-error{display:none;background:color-mix(in srgb,var(--err) 12%,var(--surface));color:var(--ink);border:1px solid var(--err);border-radius:12px;padding:12px 14px;margin-top:16px;font-size:15px;line-height:1.5}
.bf-error.on{display:block}

.bf-ftr{border-top:1px solid var(--line);padding:22px 0;font-size:13px;color:var(--muted)}
.bf-ftr .bf-wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bf-ftr a{color:var(--ink2)}

@media (max-width:600px){
  .bf-card{padding:20px 16px;border-radius:18px}
  .bf-grid2{grid-template-columns:1fr}
  .bf-main{padding-top:24px}
  .bf-nav .btn{padding:14px 18px}
  .bf-hdr .logo svg{height:34px}
}

/* seletor entre os três formulários */
.bf-sw{margin:26px 0 4px}
.bf-sw-t{font-size:14px;font-weight:700;color:var(--ink2);margin:0 0 10px}
.bf-sw-g{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bf-sw-o{position:relative;display:block;padding:14px 14px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;line-height:1.35;transition:border-color .15s}
.bf-sw-o:hover{border-color:var(--brand)}
.bf-sw-o b{display:block;font:700 15px/1.25 var(--f-d);margin-bottom:4px}
.bf-sw-o span{display:block;font-size:13px;color:var(--muted)}
.bf-sw-o em{display:inline-block;margin-top:8px;font-style:normal;font:700 11px/1 var(--f-b);letter-spacing:.04em;text-transform:uppercase;color:var(--on-brand);background:var(--brand);padding:5px 8px;border-radius:99px}
.bf-sw-o[aria-current]{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand) inset}
@media (max-width:600px){
  .bf-sw-g{grid-template-columns:1fr}
  .bf-sw-o{padding:12px 14px}
  .bf-sw-o em{position:absolute;top:12px;right:12px;margin:0}
  .bf-sw-o[aria-current] b{padding-right:110px}
}

/* ajuda (i) nos campos */
.bf-i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:8px;vertical-align:2px;border-radius:50%;border:1.5px solid #9DB6E4;background:#fff;color:#2F4F8F;font:800 12px/1 Manrope,system-ui,sans-serif;font-style:italic;cursor:help;padding:0;position:relative}
.bf-i::after{content:"";position:absolute;inset:-11px}
.bf-i:hover,.bf-i[aria-expanded="true"]{background:#3E62A8;border-color:#3E62A8;color:#fff}
.bf-tip{position:absolute;z-index:9998;background:#fff;color:#0E1A23;border:1px solid #E1E7F0;border-radius:16px;padding:12px;box-shadow:0 20px 40px -12px rgba(14,26,35,.3);font:500 14px/1.45 Manrope,system-ui,sans-serif;animation:bfTip .18s ease-out}
.bf-tip p{margin:10px 2px 2px}
.bf-tip-v{border-radius:10px;overflow:hidden;background:#F6F8FB}
@keyframes bfTip{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bf-tip{animation:none}}
/* troca de formulário: o atual em destaque, os outros discretos */
.bf-here{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:6px 0 22px}
.bf-here b{display:inline-flex;align-items:center;gap:8px;background:#E3EBF8;color:#2F4F8F;font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px}
.bf-here b::before{content:"";width:8px;height:8px;border-radius:50%;background:#3E62A8}
.bf-here small{font-size:14px;color:#5A6675}
.bf-here small a{color:#2F4F8F;font-weight:700}

.bf-o.bf-off{opacity:.45;cursor:not-allowed}
