/* Site público do GrowMap 2.0: mesma linguagem visual da aplicação. */
.s2-com-aviso { --s2-aviso: 37px; }
.s2-com-aviso .navbar { top: var(--s2-aviso); }
.s2-com-aviso .s2-hero, .s2-com-aviso .hero-section { margin-top: var(--s2-aviso); }
.s2-aviso { position: fixed; top: 0; left: 0; right: 0; z-index: 1040; min-height: var(--s2-aviso); padding: 8px 16px; background: #27272A; color: #E4E4E7; font-size: 14px; font-weight: 500; text-align: center; }
.s2-aviso a { color: inherit; font-weight: 700; }
.navbar .s2-menu .nav-link { margin: 0 !important; padding: 8px 9px !important; font-size: 14.5px; white-space: nowrap; }
.navbar .s2-menu .btn-primary-green { padding: 8px 14px; font-size: 14.5px; white-space: nowrap; }
.s2-hero { padding: 132px 0 72px; background: var(--gm-trilho-fundo); color: #fff; overflow: hidden; }
.s2-hero-texto { max-width: 860px; margin: 0 auto 40px; text-align: center; }
.s2-etiqueta { margin: 0 0 12px; color: #A3ABA6; font-size: 13.5px; font-weight: 600; letter-spacing: .03em; }
.s2-etiqueta--escura { color: var(--gm-texto-3); }
.s2-hero h1 { margin: 0 0 16px; color: #fff; font-family: var(--gm-fonte-titulo); font-size: clamp(2rem, 4.2vw, 3.1rem); font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.s2-sub { max-width: 720px; margin: 0 auto 26px; color: rgba(255, 255, 255, .86); font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.5; }
.s2-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.s2-botao { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 16px; background: var(--gm-superficie); color: var(--gm-texto) !important; border: 1px solid var(--gm-superficie); border-radius: var(--gm-raio); font-size: 14px; font-weight: 500; text-decoration: none; transition: transform var(--gm-trans), filter var(--gm-trans); }
.s2-botao:hover { filter: brightness(1.08); transform: translateY(-1px); }
.s2-botao--vidro { background: transparent; color: #fff !important; border-color: rgba(255, 255, 255, .3); }
.s2-botao--leve { background: var(--gm-superficie); color: var(--gm-texto) !important; border-color: var(--gm-borda-forte); }
.s2-botao--marca { background: var(--gm-primaria); color: #fff !important; border-color: var(--gm-primaria); }
.s2-tela { margin: 0; border-radius: var(--gm-raio-g); overflow: hidden; background: #fff; border: 1px solid rgba(255, 255, 255, .16); box-shadow: 0 30px 70px -24px rgba(5, 20, 12, .55); }
.s2-tela img { display: block; width: 100%; height: auto; }
.s2-tela--hero { max-width: 1020px; margin: 0 auto; }
.s2-legenda { margin: 12px 0 0; color: var(--gm-texto-3); font-size: 13px; text-align: center; }
.s2-legenda--hero { color: rgba(255, 255, 255, .62); }
.s2-fontes { padding: 18px 0; background: #fff; border-bottom: 1px solid var(--gm-borda); }
.s2-fontes .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 22px; }
.s2-fontes span { color: var(--gm-texto-3); font-size: 13px; }
.s2-fontes ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; margin: 0; padding: 0; list-style: none; color: var(--gm-texto-2); font-weight: 600; font-size: 14.5px; }
.s2-secao { padding: 76px 0; background: #fff; scroll-margin-top: 70px; }
.s2-secao--areia { background: var(--gm-fundo); }
.s2-secao--escura { background: var(--gm-trilho-fundo); color: #fff; }
.s2-titulo { max-width: 680px; margin: 0 auto 38px; text-align: center; }
.s2-secao h2, .s2-final h2 { margin: 0 0 10px; color: var(--gm-texto); font-family: var(--gm-fonte-titulo); font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.s2-secao p { color: var(--gm-texto-2); }
.s2-secao--escura h2, .s2-secao--escura p { color: #fff; }
.s2-secao--escura .s2-titulo p:last-child { color: rgba(255, 255, 255, .8); }
.s2-passos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: passo; }
.s2-passos li { padding: 16px; background: var(--gm-superficie); border: 1px solid var(--gm-borda); border-radius: var(--gm-raio-g); }
.s2-passos i { display: block; margin-bottom: 10px; color: var(--mod); font-size: 18px; }
.s2-passos strong { display: block; color: var(--gm-texto); font-family: var(--gm-fonte-titulo); font-size: 15px; font-weight: 600; }
.s2-passos span { color: var(--gm-texto-2); font-size: 14.5px; line-height: 1.45; }
.s2-modulos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.s2-modulos article, .s2-segmentos article, .s2-planos article { padding: 20px; background: #fff; border: 1px solid var(--gm-borda); border-radius: var(--gm-raio-g); transition: transform var(--gm-trans), box-shadow var(--gm-trans), border-color var(--gm-trans); }
.s2-modulos article:hover, .s2-segmentos article:hover { border-color: var(--gm-borda-forte); }
.s2-modulo-icone { display: block; margin-bottom: 8px; color: var(--mod); font-size: 18px; }
.s2-modulos h3, .s2-segmentos h3, .s2-planos h3 { margin: 0 0 4px; color: var(--gm-texto); font-family: var(--gm-fonte-titulo); font-size: 17px; font-weight: 600; }
.s2-modulos p, .s2-segmentos p { margin: 0; font-size: 14px; line-height: 1.45; }
.s2-modulos small { display: block; margin-top: 8px; color: var(--gm-texto-3); font-size: 12.5px; }
.s2-abas { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-bottom: 18px; }
.s2-abas button { padding: 6px 12px; background: var(--gm-superficie-3); color: var(--gm-texto-2); border: 0; border-radius: var(--gm-raio); font-size: 13.5px; font-weight: 500; cursor: pointer; transition: background var(--gm-trans), color var(--gm-trans); }
.s2-abas button[aria-selected="true"] { background: var(--gm-texto); color: var(--gm-superficie); }
#telas .s2-tela { max-width: 1020px; margin: 0 auto; border-color: var(--gm-borda); box-shadow: var(--gm-sombra-3); }
.s2-jornadas { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.s2-jornadas li { padding: 18px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .13); border-radius: var(--gm-raio-g); }
.s2-jornadas div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.s2-jornadas b { color: #fff; font-size: 13.5px; font-weight: 600; }
.s2-jornadas i { color: rgba(255, 255, 255, .6); font-size: 13px; }
.s2-jornadas p { margin: 0; color: rgba(255, 255, 255, .84); font-size: 14.5px; line-height: 1.45; }
.s2-duas { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 40px; align-items: center; }
.s2-duas .s2-tela { border-color: var(--gm-borda); box-shadow: var(--gm-sombra-3); }
.s2-numeros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 22px 0 0; padding: 0; list-style: none; }
.s2-numeros strong { display: block; color: var(--gm-verde-500); font-size: 24px; font-weight: 600; line-height: 1.1; }
.s2-numeros span { color: var(--gm-texto-2); font-size: 14px; }
.s2-segmentos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.s2-segmentos i { display: block; margin-bottom: 8px; color: var(--gm-texto-3); font-size: 18px; }
.s2-planos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 960px; margin: 0 auto; }
.s2-planos article { display: flex; flex-direction: column; gap: 8px; }
.s2-plano--destaque { border-color: var(--gm-texto) !important; }
.s2-preco { margin: 0; color: var(--gm-texto) !important; font-family: var(--gm-fonte-titulo); font-size: 26px; font-weight: 700; }
.s2-preco small { color: var(--gm-texto-3); font-family: var(--gm-fonte); font-size: 14px; font-weight: 400; }
.s2-planos .s2-botao { margin-top: auto; }
.s2-final { padding: 72px 0; background: var(--gm-trilho-fundo); text-align: center; }
.s2-final h2 { color: #fff; }
.s2-final p { color: rgba(255, 255, 255, .84); margin-bottom: 22px; }

@media (max-width: 1199px) {
    .navbar .s2-menu .nav-link { font-size: 13.5px; padding: 8px 5px !important; }
    .navbar .s2-menu .btn-primary-green { padding: 7px 10px; font-size: 13.5px; }
}
@media (max-width: 991px) {
    .s2-hero { padding-top: 104px; }
    .s2-passos, .s2-modulos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .s2-segmentos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .s2-planos { grid-template-columns: minmax(0, 1fr); max-width: 420px; }
    .s2-duas { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .s2-com-aviso { --s2-aviso: 80px; }
    .s2-aviso { font-size: 13px; }
}
@media (max-width: 575px) {
    .s2-secao { padding: 52px 0; }
    .s2-modulos, .s2-segmentos { grid-template-columns: minmax(0, 1fr); }
    .s2-acoes .s2-botao { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .s2-botao, .s2-modulos article, .s2-segmentos article, .s2-abas button { transition: none; }
    .s2-botao:hover, .s2-modulos article:hover, .s2-segmentos article:hover { transform: none; }
}

/* Páginas internas */
.s2-hero--interno { padding: 124px 0 64px; }
.s2-hero--interno .s2-hero-texto { margin-bottom: 0; }
.s2-hero--interno .s2-hero-texto + * { margin-top: 36px; }
.s2-hero--interno h1 { font-size: clamp(1.9rem, 3.6vw, 2.7rem); }
.s2-recursos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.s2-recursos article { display: flex; flex-direction: column; align-items: flex-start; padding: 20px; background: #fff; border: 1px solid var(--gm-borda); border-radius: var(--gm-raio-g); }
.s2-recursos h2 { margin: 0 0 4px; font-size: 17px; }
.s2-recursos p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.45; }
.s2-recursos ul { margin: 0 0 12px; padding-left: 18px; color: var(--gm-texto-2); font-size: 14px; line-height: 1.5; }
.s2-recursos li { margin-bottom: 3px; }
.s2-recursos a { margin-top: auto; color: var(--gm-texto); font-size: 14px; font-weight: 500; }
.s2-numeros--faixa { grid-template-columns: repeat(6, minmax(0, 1fr)); max-width: 1040px; margin: 0 auto; }
.s2-numeros--faixa li { text-align: center; }
.s2-numeros--faixa strong { color: var(--gm-texto); font-family: var(--gm-fonte-titulo); }
.s2-tabela-caixa { max-width: 960px; margin: 0 auto; overflow-x: auto; background: #fff; border: 1px solid var(--gm-borda); border-radius: var(--gm-raio-g); }
.s2-tabela { width: 100%; border-collapse: collapse; color: var(--gm-texto-2); font-size: 14px; }
.s2-tabela th { padding: 10px 14px; background: var(--gm-fundo); color: var(--gm-texto-3); border-bottom: 1px solid var(--gm-borda); font-size: 13px; font-weight: 500; text-align: left; white-space: nowrap; }
.s2-tabela td { padding: 10px 14px; border-bottom: 1px solid var(--gm-borda); }
.s2-tabela tr:last-child td { border-bottom: 0; }
.s2-tabela td:first-child { color: var(--gm-texto); font-weight: 500; }
.s2-hero--demo .s2-etiqueta, .s2-hero--demo h1 { text-align: left; }
.s2-hero--demo .s2-sub { margin-left: 0; text-align: left; }
.s2-hero--demo .s2-acoes { justify-content: flex-start; }
.s2-link { color: inherit; font-size: 14.5px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.gm-browser-frame .frame-dot { display: none; }
.contato-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 760px; margin: 0 auto; }
.contato-channel { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 14px 16px; background: rgba(255, 255, 255, .06); color: #fff; border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--gm-raio-g); text-align: left; text-decoration: none; box-shadow: none; backdrop-filter: none; }
.contato-channel i { margin-bottom: 6px; color: rgba(255, 255, 255, .7); font-size: 16px; }
.contato-channel span { color: rgba(255, 255, 255, .72); font-size: 13.5px; line-height: 1.4; }
@media (max-width: 991px) {
    .s2-recursos { grid-template-columns: minmax(0, 1fr); }
    .s2-numeros--faixa { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .s2-numeros--faixa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Componentes do site antigo na mesma linguagem */
body { font-family: var(--gm-fonte); -webkit-font-smoothing: antialiased; }
.navbar { padding: .7rem 0 !important; }
.navbar .brand-name { font-weight: 600; letter-spacing: -.01em; font-size: 1.05rem; }
.navbar .s2-menu .nav-link { font-size: 14px; font-weight: 450; opacity: .86; }
.navbar .s2-menu .nav-link::after { display: none; }
.btn-primary-green, .navbar .s2-menu .btn-primary-green { background: var(--gm-superficie) !important; background-image: none !important; color: var(--gm-texto) !important; border: 1px solid var(--gm-superficie) !important; border-radius: var(--gm-raio) !important; box-shadow: none !important; font-weight: 500; transform: none !important; }
.navbar.scrolled .s2-menu .btn-primary-green { background: var(--gm-primaria) !important; color: #fff !important; border-color: var(--gm-primaria) !important; }
.btn-hero-secondary, .btn-outline-success { border-radius: var(--gm-raio) !important; box-shadow: none !important; }
.heading-xl, .heading-section, .section-title, .hero-section h1, .hero-section h2 { font-weight: 600 !important; letter-spacing: -.02em !important; }
.gm-reveal { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
.gm-eyebrow { padding: 0 !important; background: none !important; border: 0 !important; color: var(--gm-texto-3) !important; font-size: 13.5px !important; font-weight: 600 !important; letter-spacing: .03em !important; text-transform: none !important; }
.gm-eyebrow.on-dark { color: #A3ABA6 !important; }
.gm-eyebrow .dot { display: none !important; }

/* Seções antigas das páginas internas */
main .section-eyebrow { display: block; padding: 0; margin-bottom: 8px; background: none !important; border: 0; color: var(--gm-texto-3) !important; font-size: 13.5px; font-weight: 600; letter-spacing: .03em; text-transform: none; }
main .section-eyebrow::before { display: none; }
main .heading-section, main .section-title { color: var(--gm-texto); font-family: var(--gm-fonte-titulo); font-weight: 600 !important; letter-spacing: -.02em !important; }
main .section-padding .heading-xl { color: var(--gm-texto); font-family: var(--gm-fonte-titulo); font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important; font-weight: 600 !important; }
main .section-padding .subheading { color: var(--gm-texto-2); font-size: 15.5px; }
main .badge { background: var(--gm-superficie-3) !important; color: var(--gm-texto-2) !important; border: 0 !important; border-radius: var(--gm-raio) !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
main .shadow-premium, main .shadow, main .shadow-sm, main .shadow-lg, main .map-demo-container { box-shadow: none !important; }
main .map-demo-container { border: 1px solid var(--gm-borda); border-radius: var(--gm-raio-g) !important; }
main .rounded-3, main .rounded-4, main .rounded-5 { border-radius: var(--gm-raio-g) !important; }
main .rounded-pill:not(.badge) { border-radius: var(--gm-raio) !important; }
main .feature-card, main .card-feature { background: #fff !important; border: 1px solid var(--gm-borda) !important; border-radius: var(--gm-raio-g) !important; box-shadow: none !important; transform: none !important; }
main .feature-icon, main .feature-icon-cnpj, main .feature-icon-redes { display: block; width: auto; height: auto; margin: 0 0 8px; background: none !important; color: var(--gm-texto-3) !important; box-shadow: none !important; font-size: 18px !important; }
main .section-padding .btn-primary-green, main .contact-form .btn-primary-green { background: var(--gm-primaria) !important; color: #fff !important; border-color: var(--gm-primaria) !important; }
main .btn-outline-success { background: #fff; color: var(--gm-texto-2); border: 1px solid var(--gm-borda-forte) !important; border-radius: var(--gm-raio) !important; }
main .btn-outline-success:hover, main .btn-outline-success.active { background: var(--gm-superficie-3); color: var(--gm-texto); }
.s2-contato-wa { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--gm-borda); border-radius: var(--gm-raio-g); color: var(--gm-texto); }
.s2-contato-wa i { color: var(--gm-texto-3); font-size: 20px; }
.s2-contato-wa strong { display: block; font-size: 14.5px; font-weight: 600; }
.s2-contato-wa span { color: var(--gm-texto-2); font-size: 13.5px; }

/* Planos */
body .plans-section { background: var(--gm-fundo); }
body .plan-card, body .plan-card--custom { background: #fff; border: 1px solid var(--gm-borda) !important; border-radius: var(--gm-raio-g); box-shadow: none; transform: none !important; }
body .plan-card.is-featured { border-color: var(--gm-texto) !important; }
body .plan-card.is-destaque { box-shadow: 0 0 0 2px var(--gm-texto); }
body .plan-icon { display: none; }
body .plan-name { color: var(--gm-texto); font-family: var(--gm-fonte-titulo); font-size: 1.15rem; font-weight: 600; }
body .plan-price strong, body .plan-price-custom strong { color: var(--gm-texto); font: 600 2.05rem/1 var(--gm-fonte-titulo); letter-spacing: -.02em; }
body .plan-action { background: var(--gm-primaria); color: #fff; border: 1px solid var(--gm-primaria); border-radius: var(--gm-raio); box-shadow: none; font-weight: 500; }
body .plan-action:hover { background: var(--gm-primaria-hover); color: #fff; transform: none; }
body .plan-action--secondary { background: #fff; color: var(--gm-texto); border-color: var(--gm-borda-forte); }
body .plan-action--secondary:hover { background: var(--gm-superficie-3); color: var(--gm-texto); }
body .plan-featured-label { background: var(--gm-texto); color: #fff; border-radius: var(--gm-raio); font-weight: 500; letter-spacing: 0; text-transform: none; }
body .trial-symbol { display: none; }
body .trial-callout { border-radius: var(--gm-raio-g); box-shadow: none; }
body .trial-action { flex: none; justify-self: end; width: auto; }
body .plan-card[class] { --plan-accent: var(--gm-texto-2) !important; }
body .plan-features .plan-inherits { background: var(--gm-superficie-3); border: 0; color: var(--gm-texto); }
body .plan-price-custom strong { font-size: 1.55rem; }

/* Contato */
body .contato-channel { display: flex; background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); border-radius: var(--gm-raio-g); text-align: left; backdrop-filter: none; }
body .contato-channel:hover { border-color: rgba(255, 255, 255, .3); transform: none; }
body .contato-channel i { margin-bottom: 6px; color: rgba(255, 255, 255, .7); font-size: 16px; }
body .contato-channel strong { color: #fff; font-family: var(--gm-fonte-titulo); font-size: 15px; font-weight: 600; }
body .contact-form { border: 1px solid var(--gm-borda); border-radius: var(--gm-raio-g); box-shadow: none; }
body .contact-form .form-control, body .contact-form .form-select { background: #fff; border: 1px solid var(--gm-borda-forte); border-radius: var(--gm-raio); box-shadow: none; }

/* Mapas de demonstração */
.map-legend-landing:empty { display: none; }
main .card.border-0 { border: 1px solid var(--gm-borda) !important; }
main .card .bg-success-subtle, main .card .bg-primary-subtle, main .card .bg-warning-subtle, main .card .bg-info-subtle, main .card .bg-danger-subtle { justify-content: flex-start !important; width: auto !important; height: auto !important; background: none !important; color: var(--gm-texto-3) !important; }
main .section-title.text-start { max-width: none; margin-left: 0; font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
main .alert { padding: 10px 14px; background: #fff; border: 1px solid var(--gm-borda) !important; }
main .bivariate-container { box-shadow: none !important; border: 1px solid var(--gm-borda); border-radius: var(--gm-raio-g) !important; }
.s2-erro { display: flex; align-items: center; min-height: 78vh; }
