/* 00-base — base + keyframes do bundle dd15fb0a (import 2026-08-19).
   Valores verbatim do <style> do helmet; classes substituem os estilos
   inline do bundle (style-hover/style-focus viram :hover/:focus). */

html { scroll-behavior: smooth; }
html, body { overflow-x: clip; max-width: 100%; }
body { margin: 0; font-family: 'Inter', sans-serif; color: #1a2b33; background: #ffffff; }
a { color: #016cbe; text-decoration: none; }
a:hover { color: #039580; }

/* O atributo hidden precisa vencer displays declarados nas classes. */
[hidden] { display: none !important; }

@keyframes floatY { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes floatBalloon { 0%,100% { transform: translateX(-50%) rotate(2deg) translateY(0); } 50% { transform: translateX(-50%) rotate(2deg) translateY(-8px); } }
@keyframes floatBalloon2 { 0%,100% { transform: rotate(-6deg) translateY(0); } 50% { transform: rotate(-6deg) translateY(-10px); } }
@keyframes galeriaScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes floatBadge { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes popStamp { 0% { transform: rotate(-8deg) scale(0); opacity: 0; } 60% { transform: rotate(-8deg) scale(1.15); opacity: 1; } 100% { transform: rotate(-8deg) scale(1); opacity: 1; } }
@keyframes confettiFly { 0% { transform: translate(0,0) scale(.4) rotate(0deg); opacity: 1; } 100% { transform: translate(var(--dx),var(--dy)) scale(1) rotate(320deg); opacity: 0; } }
@keyframes instaPulse { 0% { box-shadow: 0 6px 20px rgba(0,0,0,.25), 0 0 0 0 rgba(214,41,118,.55); } 70% { box-shadow: 0 6px 20px rgba(0,0,0,.25), 0 0 0 14px rgba(214,41,118,0); } 100% { box-shadow: 0 6px 20px rgba(0,0,0,.25), 0 0 0 0 rgba(214,41,118,0); } }
@keyframes liveDot { 0%,100% { opacity: 1; } 50% { opacity: .35; } }

/* Cabeçalho de seção (Propostas/Demanda) */
.jg-section-head { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.jg-kicker { color: #016cbe; font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; }
.jg-section-title { margin: 0; font-family: 'Poppins', sans-serif; font-weight: 900; font-size: clamp(30px, 4.5vw, 42px); color: #1a2b33; text-wrap: balance; }
.jg-section-sub { margin: 0; font-size: 17px; color: #5a6d75; max-width: 560px; text-wrap: pretty; }
.jg-accent-green { color: #039580; }
.jg-accent-yellow { color: #fcc609; }

/* Check redondo das listas (Sobre + modal de bandeira) */
.jg-check { flex: none; width: 26px; height: 26px; border-radius: 50%; background: #016cbe; color: #ffffff; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; margin-top: 1px; }
.jg-check--sm { width: 20px; height: 20px; font-size: 11px; }

/* Formulários públicos (Demanda + Faça Parte) */
.jg-form { display: flex; flex-direction: column; gap: 14px; }
.jg-form--left { text-align: left; }
.jg-input { font-family: 'Inter', sans-serif; font-size: 16px; padding: 16px 18px; border: 2px solid #dce5e2; border-radius: 14px; outline: none; }
.jg-input:focus { border-color: #039580; }
.jg-textarea { font-family: 'Inter', sans-serif; font-size: 16px; padding: 16px 18px; border: 2px solid #dce5e2; border-radius: 14px; outline: none; min-height: 130px; resize: vertical; }
.jg-textarea:focus { border-color: #039580; }
.jg-submit { background: #fcc609; color: #046052; border: none; cursor: pointer; font-family: 'Poppins', sans-serif; font-weight: 900; font-size: 18px; padding: 18px; border-radius: 999px; box-shadow: 0 4px 0 #d9a900; }
.jg-submit:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #d9a900; }
.jg-form-success { background: #e6f6f2; border: 2px solid #039580; border-radius: 16px; padding: 24px; font-weight: 700; color: #046052; font-size: 17px; text-align: center; display: flex; flex-direction: column; gap: 16px; }
.jg-form-success__again { background: transparent; border: 2px solid #039580; color: #039580; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 10px 18px; border-radius: 999px; cursor: pointer; align-self: center; }
.jg-form-success__again:hover { background: rgba(3, 149, 128, .08); }
.jg-form-error { font-size: 14px; font-weight: 600; color: #d64545; }

/* Aviso LGPD (decisão D9 — adição ao design, discreta) */
.jg-lgpd { margin: 0; font-size: 12px; line-height: 1.5; color: #5a6d75; }

/* 404 (identidade do portal — página fora do bundle) */
.jg-404 { min-height: 70vh; display: flex; align-items: center; justify-content: center; background: #039580; padding: 48px 24px; }
.jg-404__card { background: #ffffff; border-radius: 24px; padding: 40px 32px; max-width: 480px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.jg-404__num { background: #fcc609; color: #016cbe; font-family: 'Inter', sans-serif; font-variant-numeric: tabular-nums; font-weight: 800; font-size: 32px; padding: 8px 20px; border-radius: 14px; }
.jg-404__title { margin: 0; font-family: 'Poppins', sans-serif; font-weight: 900; font-size: 26px; color: #1a2b33; }
.jg-404__sub { margin: 0; font-size: 16px; color: #5a6d75; line-height: 1.6; }
