/* fz.css — ferramentas interativas dos artigos e serviços (hotel, divórcio,
   improbidade). Mesma linguagem da página "Qual é o seu caso?". */
.fz { --fz-tinta:#1E2022; --fz-tinta-2:#4A4E52; --fz-tinta-3:#6B7075; --fz-papel:#F4F1EC; --fz-folha:#FBF9F5;
      --fz-latao:#CF9D68; --fz-latao-esc:#9A6B38; --fz-linha:rgba(30,32,34,.12); --fz-zap:#1E8E4E;
      margin:2.4rem 0; border:1px solid var(--fz-linha); border-radius:18px; background:var(--fz-folha);
      box-shadow:0 1px 2px rgba(30,32,34,.06),0 14px 34px -18px rgba(30,32,34,.28); overflow:hidden; text-align:left; color:var(--fz-tinta); }
.fz * { box-sizing:border-box; }
.fz-topo { background:var(--fz-tinta); color:#E8E4DD; padding:1.4rem 1.6rem 1.2rem; }
.fz-rotulo { display:block; font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--fz-latao); margin:0 0 .45rem; }
.fz-topo h2, .fz-topo h3 { color:#fff; font-size:clamp(1.2rem,2.6vw,1.5rem); line-height:1.25; margin:0 0 .4rem; font-weight:800; }
.fz-topo p { margin:0; font-size:.9rem; line-height:1.55; color:#C9C4BB; }
.fz-barra { height:4px; background:rgba(255,255,255,.12); border-radius:4px; margin-top:1rem; overflow:hidden; }
.fz-barra i { display:block; height:100%; width:0; background:var(--fz-latao); transition:width .35s cubic-bezier(.2,.7,.2,1); }
.fz-corpo { padding:1.5rem 1.6rem 1.6rem; }
.fz-passo[hidden], .fz-res[hidden] { display:none; }
.fz-pergunta { font-size:1.05rem; font-weight:700; line-height:1.35; margin:0 0 .35rem; }
.fz-ajuda { font-size:.84rem; color:var(--fz-tinta-3); line-height:1.5; margin:0 0 1rem; }
.fz-opcoes { display:grid; gap:.55rem; margin:0 0 1.1rem; padding:0; border:0; }
.fz-opcao { display:flex; align-items:center; gap:.8rem; min-height:50px; padding:.7rem 1rem; background:#fff; border:1px solid var(--fz-linha);
            border-radius:12px; cursor:pointer; font-size:.93rem; line-height:1.4; transition:border-color .15s ease, background .15s ease; }
.fz-opcao:hover { border-color:rgba(207,157,104,.7); }
.fz-opcao input { position:absolute; opacity:0; width:1px; height:1px; }
.fz-bola { flex:0 0 20px; width:20px; height:20px; border-radius:50%; border:1.5px solid rgba(30,32,34,.3); display:grid; place-items:center; }
.fz-bola::after { content:""; width:10px; height:10px; border-radius:50%; background:var(--fz-latao); transform:scale(0); transition:transform .18s cubic-bezier(.3,1.6,.5,1); }
.fz-opcao:has(input:checked) { border-color:var(--fz-latao); background:#FBF4EA; }
.fz-opcao input:checked + .fz-bola { border-color:var(--fz-latao); }
.fz-opcao input:checked + .fz-bola::after { transform:scale(1); }
.fz-opcao input:focus-visible + .fz-bola { outline:3px solid var(--fz-latao); outline-offset:2px; }
.fz-campo { display:block; margin:0 0 1rem; }
.fz-campo span { display:block; font-size:.82rem; font-weight:600; margin-bottom:.35rem; }
.fz-campo input { width:100%; min-height:48px; padding:.7rem .9rem; border:1px solid rgba(30,32,34,.22); border-radius:10px; font:inherit; font-size:1rem; background:#fff; color:var(--fz-tinta); }
.fz-campo input:focus { outline:none; border-color:var(--fz-latao); box-shadow:0 0 0 4px rgba(207,157,104,.25); }
.fz-nav { display:flex; justify-content:space-between; align-items:center; gap:.8rem; }
.fz-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px; padding:.7rem 1.4rem; border-radius:999px; border:0;
          background:var(--fz-tinta); color:#fff; font:inherit; font-weight:700; font-size:.92rem; cursor:pointer; text-decoration:none; transition:transform .15s ease, opacity .15s ease; }
.fz-btn:hover { transform:translateY(-1px); }
.fz-btn[disabled] { opacity:.35; cursor:not-allowed; transform:none; }
.fz-btn-sec { background:transparent; color:var(--fz-tinta); border:1px solid var(--fz-tinta); }
.fz-btn-zap { background:var(--fz-zap); }
.fz-btn-zap:hover { background:#17733F; }
.fz-voltar { background:none; border:0; font:inherit; font-size:.88rem; font-weight:600; color:var(--fz-tinta-2); cursor:pointer; text-decoration:underline; text-underline-offset:3px; min-height:44px; padding:0 .3rem; }
.fz-btn:focus-visible, .fz-voltar:focus-visible { outline:3px solid var(--fz-latao); outline-offset:3px; }
.fz-res h3 { font-size:1.25rem; line-height:1.3; margin:0 0 .6rem; font-weight:800; }
.fz-selo { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.3rem .7rem; border-radius:6px; margin-bottom:.8rem; background:#EAE3D8; color:var(--fz-tinta); }
.fz-selo.verde { background:#DDEFE3; color:#14532D; } .fz-selo.ambar { background:#FBEBD3; color:#7A4A12; } .fz-selo.cinza { background:#E6E6E6; color:#333; }
.fz-res p, .fz-res li { font-size:.93rem; line-height:1.6; color:var(--fz-tinta-2); }
.fz-res ul { padding-left:1.1rem; margin:.4rem 0 1rem; }
.fz-caixa { background:#fff; border:1px solid var(--fz-linha); border-left:3px solid var(--fz-latao); border-radius:10px; padding:1rem 1.1rem; margin:1rem 0; }
.fz-caixa h4 { margin:0 0 .5rem; font-size:.95rem; }
.fz-carta { white-space:pre-wrap; font-size:.86rem; line-height:1.6; background:#fff; border:1px dashed rgba(30,32,34,.25); border-radius:10px; padding:1rem; max-height:320px; overflow:auto; color:var(--fz-tinta); }
.fz-acoes { display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0 .4rem; }
.fz-datas { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.6rem; margin:1rem 0; }
.fz-datas div { background:#fff; border:1px solid var(--fz-linha); border-radius:10px; padding:.8rem; }
.fz-datas span { display:block; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--fz-latao-esc); margin-bottom:.25rem; }
.fz-datas b { font-size:1.05rem; }
.fz-aviso { font-size:.78rem; color:var(--fz-tinta-3); line-height:1.5; margin:.8rem 0 0; }
.fz-alerta { margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--fz-linha); }
.fz-alerta h4 { margin:0 0 .3rem; font-size:.98rem; }
.fz-alerta p { margin:0 0 .8rem; font-size:.85rem; color:var(--fz-tinta-3); line-height:1.5; }
.fz-alerta form { display:grid; grid-template-columns:1fr 1fr auto; gap:.5rem; align-items:end; }
.fz-alerta .fz-campo { margin:0; }
.fz-alerta .fz-nota { grid-column:1/-1; font-size:.74rem; color:var(--fz-tinta-3); margin:.2rem 0 0; line-height:1.45; }
.fz-alerta .fz-ok { grid-column:1/-1; font-size:.85rem; font-weight:600; margin:.3rem 0 0; }
.fz-armadilha { position:absolute; left:-9999px; }
@media (max-width:640px) {
  .fz-corpo { padding:1.2rem 1.1rem 1.3rem; } .fz-topo { padding:1.2rem 1.1rem 1rem; }
  .fz-alerta form { grid-template-columns:1fr; }
  .fz-nav { flex-direction:row-reverse; }
}
@media (prefers-reduced-motion: reduce) { .fz-barra i, .fz-btn, .fz-bola::after { transition:none; } }
