/* Velloso Fornecedores - estilos do formulário (escopo #vfp) */
#vfp{--blue:#2E53AC; --navy:#0B2A6F; --yellow:#F5B700; --bg:#EEF2F8; --ink:#0F172A; --muted:#5B6B8C;
    --line:#D9E0EC; --ok:#0F766E; --err:#C2410C; --white:#fff;}
#vfp h1,#vfp h2,#vfp h3{margin:0; color:var(--navy);}
#vfp .shell{background:var(--white); border-radius:14px; box-shadow:0 8px 30px rgba(11,42,111,.12); overflow:hidden;}
#vfp .steps{display:flex; gap:0; border-bottom:1px solid var(--line); background:#F8FAFD; overflow-x:auto;}
#vfp .step{flex:1; min-width:120px; padding:14px 10px; text-align:center; font-size:12.5px; color:var(--muted); border:0; background:none; cursor:default; position:relative;}
#vfp .step .n{display:inline-flex; width:26px; height:26px; border-radius:50%; align-items:center; justify-content:center; background:var(--line); color:var(--muted); font-weight:700; margin-bottom:4px;}
#vfp .step.done .n{background:var(--ok); color:#fff;}
#vfp .step.done{cursor:pointer; color:var(--ink);}
#vfp .step.on{color:var(--navy); font-weight:700; background:var(--white);}
#vfp .step.on .n{background:var(--blue); color:#fff;}
#vfp .step.on::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--yellow);}
#vfp .step span.l{display:block;}
#vfp .panel{padding:30px 34px 10px; display:none;}
#vfp .panel.on{display:block;}
#vfp .panel > h2{font-size:22px;}
#vfp .panel > .sub{color:var(--muted); margin:4px 0 22px; font-size:14.5px;}
#vfp .grid{display:grid; grid-template-columns:repeat(12,1fr); gap:16px 18px;}
#vfp .c3{grid-column:span 3}
#vfp .c4{grid-column:span 4}
#vfp .c5{grid-column:span 5}
#vfp .c6{grid-column:span 6}
#vfp .c8{grid-column:span 8}
#vfp .c12{grid-column:span 12}
#vfp .c2{grid-column:span 2}
@media (max-width:820px){
  #vfp .grid > *{grid-column:span 12 !important;}
  #vfp .panel{padding:22px 18px 6px;}
}
#vfp label.f{display:block; font-size:13px; font-weight:600; color:var(--navy);}
#vfp label.f .req{color:var(--err);}
#vfp label.f .opt{color:var(--muted); font-weight:400;}
#vfp input[type=text],#vfp input[type=email],#vfp input[type=tel],#vfp input[type=number],#vfp input[type=url],#vfp input[type=date],#vfp select,#vfp textarea{width:100%; margin-top:5px; padding:10px 12px; font:inherit; font-size:14.5px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink);}
#vfp textarea{min-height:96px; resize:vertical;}
#vfp input:focus,#vfp select:focus,#vfp textarea:focus{outline:2px solid var(--blue); outline-offset:1px; border-color:var(--blue);}
#vfp .err-msg{display:none; color:var(--err); font-size:12.5px; margin-top:4px;}
#vfp .invalid input,#vfp .invalid select,#vfp .invalid textarea{border-color:var(--err);}
#vfp .invalid .err-msg{display:block;}
#vfp .hint{font-size:12.5px; color:var(--muted); margin-top:4px;}
#vfp .sect{margin:26px 0 12px; font-size:13px; text-transform:uppercase; letter-spacing:.12em; color:var(--blue); font-weight:700;}
#vfp .sect:first-of-type{margin-top:0;}
#vfp .chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
#vfp .chip{border:1px solid var(--line); background:#fff; border-radius:999px; padding:7px 14px; font-size:13.5px; cursor:pointer; color:var(--ink);}
#vfp .chip:hover{border-color:var(--blue);}
#vfp .chip.sel{background:var(--blue); border-color:var(--blue); color:#fff;}
#vfp .chip:focus-visible{outline:2px solid var(--yellow); outline-offset:2px;}
#vfp .disc{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px;}
#vfp .dcard{border:1.5px solid var(--line); border-radius:12px; padding:14px 16px; cursor:pointer; display:flex; gap:12px; align-items:flex-start; background:#fff;}
#vfp .dcard input{margin-top:4px; width:18px; height:18px; accent-color:var(--blue);}
#vfp .dcard b{display:block; color:var(--navy);}
#vfp .dcard small{color:var(--muted);}
#vfp .dcard.sel{border-color:var(--blue); background:#F3F6FD;}
#vfp .ddetail{margin-top:14px; border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:10px; padding:16px 18px; background:#FBFCFE;}
#vfp .ddetail h3{font-size:16px; margin-bottom:10px;}
#vfp .proj{border:1px solid var(--line); border-radius:12px; padding:18px 20px; margin-bottom:14px; background:#FBFCFE; position:relative;}
#vfp .proj h3{font-size:15px; margin-bottom:12px;}
#vfp .rm{position:absolute; right:14px; top:12px; background:none; border:0; color:var(--err); cursor:pointer; font-size:13px; font-weight:600;}
#vfp .check{display:flex; gap:10px; align-items:flex-start; font-size:14px; margin-top:12px;}
#vfp .check input{margin-top:3px; width:18px; height:18px; accent-color:var(--blue); flex:none;}
#vfp .btn{display:inline-flex; align-items:center; gap:8px; border:0; border-radius:8px; padding:11px 20px; font-size:14.5px; font-weight:700; cursor:pointer;}
#vfp .btn.pri{background:var(--blue); color:#fff;}
#vfp .btn.pri:hover{background:var(--navy);}
#vfp .btn.sec{background:#fff; color:var(--navy); border:1.5px solid var(--blue);}
#vfp .btn.add{background:#fff; color:var(--blue); border:1.5px dashed var(--blue);}
#vfp .btn.ok{background:var(--yellow); color:var(--ink);}
#vfp .drop{border:2px dashed var(--line); border-radius:12px; padding:18px; background:#FBFCFE;}
#vfp .drop.has{border-color:var(--ok); background:#F2FBF9;}
#vfp .drop strong{color:var(--navy);}
#vfp .drop input[type=file]{margin-top:10px; font-size:13.5px; max-width:100%;}
#vfp .files{margin:10px 0 0; padding:0; list-style:none; font-size:13px; color:var(--ok);}
#vfp .files li::before{content:"✓ "; font-weight:700;}
#vfp .note{background:#FFF8E0; border:1px solid #F1DA85; border-radius:10px; padding:12px 14px; font-size:13.5px; margin:14px 0;}
#vfp .note.info{background:#EEF3FC; border-color:#C9D6F1;}
#vfp .rev{border:1px solid var(--line); border-radius:12px; margin-bottom:12px; overflow:hidden;}
#vfp .rev h3{font-size:14px; background:#F3F6FB; padding:10px 16px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between;}
#vfp .rev h3 a{color:var(--blue); font-weight:600; font-size:12.5px; cursor:pointer; text-decoration:underline;}
#vfp .rev dl{margin:0; padding:10px 16px; display:grid; grid-template-columns:200px 1fr; gap:6px 14px; font-size:13.5px;}
#vfp .rev dt{color:var(--muted);}
#vfp .rev dd{margin:0; word-break:break-word;}
#vfp .nav{display:flex; justify-content:space-between; gap:12px; padding:22px 34px 30px; border-top:1px solid var(--line); margin-top:20px; background:#fff;}
@media (max-width:820px){
  #vfp .nav{padding:18px;}
}
#vfp .success{padding:50px 34px; text-align:center; display:none;}
#vfp .success.on{display:block;}
#vfp .success h2{font-size:26px;}
#vfp .next{text-align:left; max-width:640px; margin:22px auto; padding:0; list-style:none; counter-reset:n;}
#vfp .next li{counter-increment:n; padding:10px 0 10px 44px; position:relative; border-bottom:1px solid var(--line); font-size:14.5px;}
#vfp .next li::before{content:counter(n); position:absolute; left:0; top:8px; width:28px; height:28px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px;}

/* ---- isolamento do tema ---- */
#vfp{font-family:inherit;color:var(--ink);line-height:1.45;font-size:16px;max-width:1080px;margin:0 auto;}
#vfp *,#vfp *::before,#vfp *::after{box-sizing:border-box;}
#vfp button{font-family:inherit;}
#vfp input[type=text],#vfp input[type=email],#vfp input[type=tel],#vfp input[type=number],#vfp input[type=url],#vfp input[type=date],#vfp select,#vfp textarea{width:100%;margin:5px 0 0;padding:10px 12px;font:inherit;font-size:14.5px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);height:auto;box-shadow:none;line-height:1.4;}
#vfp textarea{min-height:96px;}
#vfp .btn{font-family:inherit;line-height:1.2;text-transform:none;letter-spacing:0;text-decoration:none;}
#vfp button.btn.pri{background:var(--blue);color:#fff;}
#vfp button.btn.pri:hover{background:var(--navy);color:#fff;}
#vfp button.btn.sec{background:#fff;color:var(--navy);border:1.5px solid var(--blue);}
#vfp button.btn.add{background:#fff;color:var(--blue);border:1.5px dashed var(--blue);}
#vfp button.btn.ok{background:var(--yellow);color:var(--ink);}
#vfp button.btn[disabled]{opacity:.55;cursor:not-allowed;}
#vfp button.chip{font-family:inherit;line-height:1.2;text-transform:none;letter-spacing:0;color:var(--ink);background:#fff;}
#vfp button.chip.sel{background:var(--blue);color:#fff;}
#vfp button.rm{background:none;border:0;color:var(--err);padding:0;box-shadow:none;text-transform:none;}
#vfp button.step{background:none;border:0;padding:14px 10px;box-shadow:none;text-transform:none;letter-spacing:0;border-radius:0;font-family:inherit;}
#vfp button.step.on{background:#fff;}
#vfp .steps{scroll-margin-top:90px;}
#vfp .intro{margin:0 0 18px;color:var(--muted);font-size:15px;}
#vfp .vfp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
#vfp .proto-no{display:inline-block;background:var(--navy);color:#fff;padding:8px 18px;border-radius:8px;font-weight:700;letter-spacing:.06em;margin:14px 0;font-size:18px;}
#vfp .box-err{background:#FDECE4;border:1px solid #F3B79D;color:#7A2A08;border-radius:10px;padding:12px 14px;font-size:14px;margin:14px 34px 0;display:none;}
#vfp .box-err.on{display:block;}
#vfp .box-err ul{margin:6px 0 0 18px;padding:0;}
#vfp .sending{padding:46px 34px;text-align:center;display:none;}
#vfp .sending.on{display:block;}
#vfp .sending h2{font-size:22px;}
#vfp .bar{height:10px;background:var(--line);border-radius:999px;max-width:520px;margin:18px auto 8px;overflow:hidden;}
#vfp .bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .3s;}
#vfp .bar-txt{font-size:13.5px;color:var(--muted);}
#vfp .set-err{color:var(--err);font-size:12.5px;margin-top:6px;display:none;}
#vfp .set-err.on{display:block;}
#vfp .files li.bad{color:var(--err);}
#vfp .files li.bad::before{content:"! ";}
#vfp a{color:var(--blue);}
@media (max-width:820px){#vfp .box-err{margin:14px 18px 0;}}

/* v1.0.1: sem barras de rolagem desnecessárias na faixa de etapas */
#vfp .steps{overflow-y:hidden;}
#vfp .step.on::after{bottom:0;}
