/* Gerador Jurídico refeito (pacote Inovaccio18, protótipo "Gerador Juridico.dc.html"). As colunas que o protótipo
   calcula pela largura (mob < 760, mid < 1080, < 520) viram media queries aqui. */
@keyframes gjIn{from{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes gjGlow{0%,100%{transform:translate(0,0)}50%{transform:translate(-3%,2%)}}
@keyframes gjFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes gjShine{0%,70%{transform:translateX(-120%)}100%{transform:translateX(220%)}}
@keyframes gjSpin{to{transform:rotate(360deg)}}
@keyframes gjCaret{0%,100%{opacity:1}50%{opacity:0}}
@keyframes gjEcg{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.gj *{animation:none!important;transition:none!important}}

.gj{font-family:'Ubuntu',sans-serif;color:#09090B;background:#FAFAF8;overflow-x:clip}
.gj input::placeholder{color:#A4A4AA}
.gj button,.gj input{font-family:'Ubuntu',sans-serif}
.gj [hidden]{display:none!important}
.gj-rows{display:grid;grid-template-rows:0fr}
.gj-rows>div,.gj-rows>span{overflow:hidden;min-height:0}
.gj-rows.on{grid-template-rows:1fr}

.gj-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,4vw,64px);align-items:start}
.gj.aberto .gj-hero{grid-template-columns:minmax(0,1fr)}
.gj.aberto .gj-texto{display:none!important}
.gj-kp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:600px}
.gj-f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gj-open{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px;align-items:start}
.gj-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gj-g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gj-g5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.gj-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);align-items:start}
.gj-planos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;padding:4px 0 8px}
.gj-pilha{position:relative;height:400px;margin-top:10px}
.gj-passos{position:relative;z-index:6;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;border-radius:999px;background:#F1F0EE}

.gj-campo{transition:box-shadow .45s cubic-bezier(.22,1,.36,1);box-shadow:inset 0 0 0 1px rgba(9,9,11,.06)}
.gj-campo.foco{box-shadow:inset 0 0 0 1.5px #09090B,0 0 0 4px rgba(9,9,11,.06)}
.gj-sobe{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.gj-sobe:hover{transform:translateY(-2px)}
.gj-verm:hover{box-shadow:0 16px 30px -14px rgba(204,6,1,.7)}
.gj-preto:hover{box-shadow:0 14px 26px -14px rgba(9,9,11,.6)}
.gj-kpi{transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s}
.gj-kpi:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(9,9,11,.12),0 22px 36px -24px rgba(9,9,11,.45)!important}
.gj-kpi.m:hover{box-shadow:inset 0 0 0 1px rgba(204,6,1,.2),0 22px 36px -24px rgba(204,6,1,.35)!important}
.gj-kpi.e:hover{box-shadow:0 22px 36px -20px rgba(9,9,11,.7)!important}
.gj-doc:hover{transform:translateX(3px)}
.gj-doc{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.gj-chip:active{transform:scale(.96)}
.gj-chip{transition:background .45s cubic-bezier(.22,1,.36,1),color .45s,transform .45s cubic-bezier(.34,1.5,.5,1)}
.gj-risco{transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s}
.gj-risco:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 30px 50px -30px rgba(0,0,0,.8)!important}
.gj-folhinha{transition:transform .55s cubic-bezier(.22,1,.36,1)}
.gj-folhinha:hover{transform:translateY(-6px)}
.gj-plano{transition:transform .6s cubic-bezier(.22,1,.36,1)}
.gj-plano:hover{transform:translateY(-4px)}
.gj-extra{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s}
.gj-extra:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(9,9,11,.12),0 20px 36px -26px rgba(9,9,11,.45)!important}
.gj-porta{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.gj-porta:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(9,9,11,.14)!important}
.gj-lgpd{transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s,background .6s}
.gj-lgpd .gj-confere{opacity:0;transform:translateY(6px);transition:opacity .45s,transform .6s cubic-bezier(.34,1.5,.5,1)}
.gj-lgpd:hover{background:#FFFFFF!important;box-shadow:inset 0 0 0 1px rgba(9,9,11,.1),0 30px 50px -34px rgba(9,9,11,.45)!important;transform:translateY(-6px)}
.gj-lgpd:hover .gj-confere{opacity:1;transform:none}
.gj-sem-barra{scrollbar-width:none}.gj-sem-barra::-webkit-scrollbar{display:none}

@media (max-width:1079px){
  .gj-hero{grid-template-columns:minmax(0,1fr)}
  .gj-open,.gj-g3{grid-template-columns:minmax(0,1fr)}
  .gj-g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gj-g5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gj-planos{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:759px){
  .gj-f2,.gj-g4,.gj-faq{grid-template-columns:minmax(0,1fr)}
  .gj-g5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gj-pilha{height:330px}
  .gj-passos{position:sticky;top:78px;box-shadow:0 10px 24px -14px rgba(9,9,11,.35)}
  /* Planos em carrossel no celular. */
  .gj-planos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * clamp(20px,4vw,64px));padding:4px clamp(20px,4vw,64px) 8px}
  .gj-planos::-webkit-scrollbar{display:none}
  .gj-planos>div{flex:0 0 84%;scroll-snap-align:center}
}
@media (max-width:519px){.gj-kp{grid-template-columns:minmax(0,1fr)}}

/* Gaveta, leitura em tela cheia e aviso. */
.gj-co-fundo{position:fixed;inset:0;z-index:200;background:rgba(9,9,11,.4);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.22,1,.36,1)}
.gj-co{visibility:hidden;position:fixed;top:0;right:0;bottom:0;z-index:201;width:min(480px,100%);display:flex;flex-direction:column;background:#FFFFFF;box-shadow:-30px 0 60px -30px rgba(9,9,11,.4);transform:translateX(105%);transition:transform .7s cubic-bezier(.22,1,.36,1),visibility 0s .7s}
.gj.gj-gav .gj-co-fundo{opacity:1;pointer-events:auto}
.gj.gj-gav .gj-co{visibility:visible;transform:translateX(0);transition:transform .7s cubic-bezier(.22,1,.36,1)}
.gj-fs{position:fixed;inset:0;z-index:180;background:rgba(9,9,11,.6);backdrop-filter:blur(8px);overflow-y:auto;padding:clamp(16px,4vw,48px);animation:gjIn .45s cubic-bezier(.22,1,.36,1) both}
.gj-ts{position:fixed;left:50%;top:22px;z-index:300;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:#09090B;color:#FFFFFF;font-size:13px;font-weight:500;box-shadow:0 18px 36px -16px rgba(9,9,11,.6);opacity:0;transform:translate(-50%,-12px);pointer-events:none;transition:opacity .4s,transform .6s cubic-bezier(.34,1.5,.5,1)}
.gj-ts.on{opacity:1;transform:translate(-50%,0)}

/* PDF grátis: só a folha sai na impressão. */
#gj-impressao{display:none}
@media print{
  body *{visibility:hidden!important}
  #gj-impressao,#gj-impressao *{visibility:visible!important}
  #gj-impressao{display:block!important;position:absolute;left:0;top:0;width:100%;padding:0 8mm;font-family:'Ubuntu',Arial,sans-serif;color:#09090B}
  #gj-impressao h1{font-size:22pt;font-weight:300;margin:0 0 4pt}
  #gj-impressao h2{font-size:11.5pt;margin:14pt 0 4pt}
  #gj-impressao p{font-size:10.5pt;line-height:1.6;margin:0 0 6pt}
}

/* Identidade da empresa: obrigatórios para comprar e campos travados no kit já pago (App\Services\JuridicoIdentidade). */
.gj-req-nota { font-size: 12px; font-weight: 300; line-height: 1.45; color: #6E6E74; }
.gj-campo.gj-falta { box-shadow: inset 0 0 0 1.5px #CC0601; background: rgba(204, 6, 1, .05) !important; }
.gj-campo.gj-trava { opacity: .72; background: #EFEEEB !important; }
.gj-campo.gj-trava input { cursor: not-allowed; }
.gj-trava-nota { display: flex; flex-direction: column; gap: 6px; padding: 12px 16px; border-radius: 18px; background: rgba(229, 165, 0, .12); font-size: 13px; font-weight: 300; line-height: 1.5; color: #09090B; }
.gj-trava-nota[hidden] { display: none; }
.gj-trava-nota a { font-weight: 500; color: #CC0601; }
