/* Dias do Saber — formulários (fichas) e checklist. Redesign editorial caloroso. */
:root{
  --bg:#F4EEE4; --bg-2:#FBF6EE; --white:#fff;
  --surface:#FFFFFF; --surface-2:#FAF5EC;
  --ink:#2C2521; --ink-soft:#5E564D; --ink-mute:#968B7E;
  /* acento (ameixa terroso) — usado com parcimônia */
  --purple:#6E5080; --purple-d:#4E3760; --purple-l:#B49ECB; --purple-soft:#EFE9F2;
  --yellow:#EAB94A; --yellow-d:#C9912A; --yellow-soft:#F7EFD9;
  --coral:#E07E5C; --coral-d:#C25E3D;
  --green:#4E9E72; --red:#C25E3D;
  --line:rgba(44,37,33,.12); --line-2:rgba(44,37,33,.06);
  /* assinatura de cor da marca, só em detalhes finos */
  --grad:linear-gradient(95deg,#EAB94A 0%,#E07E5C 50%,#6E5080 100%);
  --serif:"Fraunces","Georgia",serif;
  --sans:"Manrope",-apple-system,system-ui,sans-serif;
  --radius:18px; --radius-sm:12px;
  --shadow:0 1px 2px rgba(44,37,33,.05),0 22px 48px -32px rgba(44,37,33,.5);
  --col:min(680px,92vw);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--purple)}

/* ---- topo ---- */
.topbar{
  background:transparent;color:var(--ink);padding:46px 20px 28px;text-align:center;
  position:relative;
}
.topbar::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:min(560px,86%);height:2px;background:var(--grad);border-radius:2px;opacity:.85;
}
.topbar .brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px}
.topbar .brand img{width:56px;height:56px;border-radius:14px;background:none;padding:0;box-shadow:none}
.topbar .brand b{font:600 18px/1.1 var(--serif);letter-spacing:.2px}
.topbar h1{font:600 32px/1.12 var(--serif);margin:8px 0 8px;letter-spacing:-.3px}
.topbar p{margin:0 auto;max-width:48ch;font-size:14.5px;color:var(--ink-soft)}

.shell{width:var(--col);margin:0 auto;padding:30px 0 76px}

/* ---- intro / aviso ---- */
.aviso{
  background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);
  padding:18px 20px;margin:0 0 26px;font-size:14px;line-height:1.6;color:var(--ink-soft);
}

/* ---- wizard (uma seção por vez) ---- */
.wiz-prog{margin:0 0 26px}
.wiz-bar{height:6px;border-radius:999px;background:var(--purple-soft);overflow:hidden}
.wiz-bar i{display:block;height:100%;width:0;border-radius:999px;background:var(--grad);transition:width .4s cubic-bezier(.4,0,.2,1)}
.wiz-count{margin-top:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);text-align:center}
.wiz-nav{display:flex;gap:12px;margin:2px 0 6px}
.wiz-nav .btn{flex:1}
.wiz-nav .btn.ghost{flex:0 0 38%}

/* ---- seções ---- */
form{margin:0}
.sec{
  margin:0 0 18px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
}
.sec-head{
  background:transparent;color:var(--ink);
  font:600 17px/1.35 var(--serif);letter-spacing:.2px;
  padding:18px 22px 14px;border-bottom:1px solid var(--line-2);
}
.sec-body{padding:22px 22px 8px}

.campo{margin:0 0 18px}
.campo>label,.campo-label{
  display:block;font-weight:600;font-size:13px;letter-spacing:.01em;color:var(--ink-soft);margin:0 0 7px;
}
.campo input[type=text],.campo input[type=tel],.campo input[type=email],
.campo input[type=date],.campo input[type=number],.campo select,.campo textarea{
  width:100%;font:400 16px var(--sans);color:var(--ink);background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;
  transition:border-color .15s,box-shadow .15s;
}
.campo input::placeholder,.campo textarea::placeholder{color:var(--ink-mute);opacity:.7}
.campo textarea{min-height:82px;resize:vertical;line-height:1.55}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;border-color:var(--purple-l);box-shadow:0 0 0 3px var(--purple-soft);
}

/* grupos sim/não, opções */
.opcoes{display:flex;flex-wrap:wrap;gap:8px 10px}
.opcoes label{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:14.5px;
  background:var(--white);user-select:none;transition:border-color .15s,background .15s,color .15s;
}
.opcoes label:hover{border-color:var(--purple-l)}
.opcoes input{accent-color:var(--purple);width:16px;height:16px;margin:0}
.opcoes label:has(input:checked){border-color:var(--purple);background:var(--purple-soft);color:var(--purple-d);font-weight:600}

/* linhas multi-coluna */
.linha{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:620px){
  .linha.tri{grid-template-columns:1.4fr 1fr 1fr}
  .linha.duo{grid-template-columns:1.6fr 1fr 1fr}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
}
.linha+.linha{margin-top:4px;padding-top:14px;border-top:1px dashed var(--line)}

/* consentimento */
.consent{
  background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);
  padding:18px 20px;margin:6px 0 24px;font-size:13px;line-height:1.6;color:var(--ink-soft);
}
.consent .chk{display:flex;align-items:flex-start;gap:11px;margin-top:14px;cursor:pointer;font-weight:600;color:var(--ink);font-size:14px}
.consent .chk input{margin-top:2px;width:19px;height:19px;accent-color:var(--purple);flex:0 0 auto}

/* botão */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;
  font:700 16.5px var(--sans);letter-spacing:.01em;color:#fff;background:var(--ink);border:0;cursor:pointer;
  border-radius:var(--radius-sm);padding:15px 22px;
  box-shadow:0 10px 24px -14px rgba(44,37,33,.6);
  transition:transform .14s,box-shadow .14s,background .14s,opacity .14s;
}
.btn:hover{transform:translateY(-1px);background:#3A322B;box-shadow:0 16px 30px -16px rgba(44,37,33,.65)}
.btn:active{transform:translateY(0)}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn.ghost{background:var(--white);color:var(--ink-soft);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{background:var(--bg-2);color:var(--ink);transform:none}

/* honeypot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* status */
.status{margin:16px 0 0;padding:14px 16px;border-radius:var(--radius-sm);font-size:14px;display:none}
.status.show{display:block}
.status.ok{background:#EDF6EF;color:#2F6B47;border:1px solid #cfe7d6}
.status.err{background:#FBEDE6;color:#9E4527;border:1px solid #f1cdbd}

/* captcha invisível: não ocupa espaço quando não há desafio */
.ts-box{display:flex;justify-content:center}
.ts-box:empty{display:none}

/* tela de sucesso */
.sucesso{display:none;text-align:center;padding:44px 12px}
.sucesso.show{display:block}
.sucesso .ic{font-size:44px;margin-bottom:10px}
.sucesso h2{font:600 28px var(--serif);margin:0 0 10px;color:var(--ink)}
.sucesso p{color:var(--ink-soft);margin:0 auto 22px;max-width:42ch}

.foot{text-align:center;color:var(--ink-mute);font-size:12px;letter-spacing:.02em;margin-top:32px;line-height:1.8}

/* nota de campo */
.hint{font-size:12.5px;color:var(--ink-mute);margin:5px 0 0}
.req{color:var(--coral-d)}
