/* Site oficial da Fullcontabil · base comum: WhatsApp, formulário, rodapé e entrada dos blocos ao rolar.
   O visual de cada seção fica no <style> do index.html. */
:root{
  --pend-bg:#FFEF9C;
  --pend-fg:#4D3B00;
  --rod-bg:#070C1C;
  --rod-tx:#B9C3DA;
  --rod-forte:#fff;
  --rod-linha:#1D2A4D;
  --rod-fonte:inherit;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0}
/* Amarelo = dado que a Fullcontabil ainda precisa informar. Some sozinho quando o dado é preenchido em site.js. */
.pend{background:var(--pend-bg);color:var(--pend-fg);border-radius:4px;padding:0 .3em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
:focus-visible{outline:3px solid #FFB020;outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Entrada dos blocos ao rolar (só com JS ligado; sem JS tudo aparece) */
.js [data-r]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js [data-r].vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-r]{opacity:1;transform:none}
}

/* Logo */
.logo{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.logo img{height:40px;width:auto}
.logo .logo-txt{display:none;font-weight:800;font-style:italic;font-size:24px;line-height:1}
.logo.sem-img img{display:none}
.logo.sem-img .logo-txt{display:inline}

/* Botão flutuante do WhatsApp */
.zap-fixo{position:fixed;right:calc(18px + env(safe-area-inset-right, 0px));bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:40;width:60px;height:60px;border-radius:50%;background:#1F8F4E;color:#fff;display:grid;place-items:center;border:0;box-shadow:0 8px 24px rgba(0,0,0,.28);cursor:pointer}
.zap-fixo svg{width:30px;height:30px}

/* Formulário */
.campo{display:grid;gap:6px}
.campo label{font-weight:600;font-size:14.5px}
.campo input,.campo select,.campo textarea{font:inherit;font-size:16px;color:var(--f-tx,#141B2D);background:var(--f-bg,#fff);border:1.5px solid var(--f-borda,#C7D1E3);border-radius:var(--f-raio,10px);padding:12px 14px;width:100%}
.campo select option{color:#141B2D;background:#fff}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--f-foco,#2458D8);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--f-foco,#2458D8) 25%,transparent)}
.campo .erro,.erro-aceite,.erro-envio{font-size:13.5px;color:var(--f-erro,#B3261E);font-weight:600}
.campo.invalido input,.campo.invalido select,.campo.invalido textarea{border-color:var(--f-erro,#B3261E)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;opacity:.85}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--f-foco,#2458D8)}
.check a{color:inherit}
.form-ok{display:grid;gap:8px;background:#E9F7EF;border:1px solid #9FD8B6;color:#14532D;border-radius:12px;padding:18px}
.form-ok b{font-size:17px}
.form-ok a{color:#14532D;font-weight:700}
button[aria-busy=true]{opacity:.6;cursor:progress}

/* Aviso quando o WhatsApp oficial ainda não foi informado */
dialog.zap{border:0;border-radius:18px;padding:0;max-width:min(440px, calc(100vw - 32px));width:100%;box-shadow:0 20px 60px rgba(0,0,0,.35);font:16px/1.5 system-ui,"Segoe UI",sans-serif}
dialog.zap::backdrop{background:rgba(7,12,28,.6)}
.zap-top{background:#0B5C36;color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.zap-top button{background:transparent;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}
.zap-corpo{background:#ECE5DD;padding:20px;display:grid;gap:12px}
.zap-msg{background:#DCF8C6;border-radius:10px 10px 2px 10px;padding:12px 14px;justify-self:end;max-width:92%;white-space:pre-wrap;font-size:15.5px;line-height:1.45;color:#111}
.zap-nota{font-size:13px;color:#3d3d3d;background:#fff;border-radius:10px;padding:10px 12px}

/* Rodapé */
.rodape{background:var(--rod-bg);color:var(--rod-tx);font:14.5px/1.6 var(--rod-fonte)}
.rodape .w{max-width:1200px;margin:0 auto;padding:56px max(20px, env(safe-area-inset-right, 0px)) 28px max(20px, env(safe-area-inset-left, 0px));display:grid;gap:28px;grid-template-columns:1.4fr 1fr 1fr 1fr}
.rodape h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rod-forte);margin:0 0 12px}
.rodape p,.rodape li{margin:0 0 7px}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape a{color:var(--rod-forte);text-decoration:none}
.rodape a:hover{text-decoration:underline}
.rodape .nome{font-weight:800;font-style:italic;font-size:28px;line-height:1;color:var(--rod-forte);margin-bottom:12px}
.rodape .base{grid-column:1/-1;border-top:1px solid var(--rod-linha);padding-top:18px;font-size:12.5px;opacity:.8;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
@media (max-width:900px){.rodape .w{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.rodape .w{grid-template-columns:1fr}}
