/**
 * AgriFlow — Casca das páginas jurídicas (privacidade.html, termos.html).
 *
 * Mesmos tokens da landing: as duas páginas são a continuação dela, não um
 * anexo de outro produto. O Google exige que a política de privacidade esteja
 * no mesmo domínio e ligada à home; parecer outro site derruba a confiança
 * justamente onde ela é pedida.
 *
 * Compartilhado pelas duas telas de propósito: documento jurídico muda por
 * revisão de texto, e duplicar a folha de estilo faria a segunda revisão
 * esquecer metade.
 */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: #0F172A; background: #fff; line-height: 1.6;
}

:root {
    --dark: #163832; --darkest: #051F20; --mid: #235347;
    --light: #8EB69B; --gold: #C8A227; --green: #10B981;
    --surface: #F7FAF8; --borda: rgba(22, 56, 50, .1); --r: 16px;
}

.container { max-width: 1120px; margin: 0 auto; padding: 0 24px; }

/* ── NAV (idêntica à da landing) ───────────────────────────────── */
nav { position: sticky; top: 0; z-index: 100; background: var(--dark); padding: 0 24px; }
.nav-inner {
    max-width: 1120px; margin: 0 auto; display: flex; align-items: center;
    justify-content: space-between; height: 68px;
}
.nav-logo { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.wordmark {
    font-family: 'Barlow Condensed', sans-serif; font-weight: 800;
    font-size: 22px; letter-spacing: .02em;
}
.wordmark .agri { color: #fff; }
.wordmark .flow { color: var(--green); }
.nav-cta { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.btn-nav {
    background: var(--gold); color: var(--dark); font-size: 14px; font-weight: 700;
    padding: 10px 20px; border-radius: 99px; text-decoration: none;
    transition: all .2s; white-space: nowrap;
}
.btn-nav:hover { background: #d4ae35; transform: translateY(-1px); }
.btn-nav-ghost {
    background: transparent; color: rgba(255, 255, 255, .82); font-size: 14px;
    font-weight: 600; padding: 10px 18px; border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 99px; text-decoration: none; transition: all .2s; white-space: nowrap;
}
.btn-nav-ghost:hover { color: #fff; border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .08); }
@media (max-width: 640px) { .nav-cta { gap: 8px; } .btn-nav, .btn-nav-ghost { padding: 9px 14px; font-size: 13px; } }

/* ── Faixa de título ───────────────────────────────────────────── */
.lg-hero { background: var(--dark); padding: 56px 0 48px; }
.lg-eyebrow {
    display: inline-flex; align-items: center; gap: 8px; font-size: 11px;
    font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
    color: var(--gold); margin-bottom: 16px;
}
.lg-eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.lg-hero h1 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(34px, 5vw, 56px); font-weight: 800; line-height: .98;
    letter-spacing: .01em; text-transform: uppercase; color: #fff;
}
.lg-hero h1 em { color: var(--gold); font-style: normal; }
.lg-meta {
    margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(200, 162, 39, .22);
    display: flex; gap: 28px; flex-wrap: wrap;
    font-size: 13px; color: rgba(255, 255, 255, .45);
}
.lg-meta strong { color: rgba(255, 255, 255, .82); font-weight: 600; }

/* ── Corpo: índice fixo + texto ────────────────────────────────── */
.lg-corpo { padding: 56px 0 80px; }
.lg-grid { display: grid; grid-template-columns: 232px 1fr; gap: 56px; align-items: start; }
@media (max-width: 900px) { .lg-grid { grid-template-columns: 1fr; gap: 32px; } }

.lg-indice { position: sticky; top: 92px; }
@media (max-width: 900px) {
    /* Índice fixo em tela pequena come metade da altura útil. Aqui ele vira
       um bloco comum no topo do documento. */
    .lg-indice { position: static; background: var(--surface); border-radius: var(--r); padding: 20px; }
}
.lg-indice-tt {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .1em; color: #94A3B8; margin-bottom: 14px;
}
.lg-indice a {
    display: block; font-size: 13.5px; line-height: 1.45; color: #475569;
    text-decoration: none; padding: 7px 0 7px 14px;
    border-left: 2px solid var(--borda); transition: all .18s;
}
.lg-indice a:hover { color: var(--dark); border-left-color: var(--light); }
.lg-indice a.ativo { color: var(--dark); font-weight: 600; border-left-color: var(--gold); }

/* ── Texto do documento ────────────────────────────────────────── */
.lg-texto { max-width: 720px; }
.lg-texto section { scroll-margin-top: 92px; margin-bottom: 44px; }
.lg-texto h2 {
    font-family: 'Barlow Condensed', sans-serif; font-size: 27px; font-weight: 800;
    text-transform: uppercase; letter-spacing: .01em; color: #0F172A;
    margin-bottom: 16px; display: flex; align-items: baseline; gap: 12px;
}
.lg-num {
    font-size: 13px; font-weight: 800; color: var(--gold);
    font-family: 'Inter', sans-serif; flex-shrink: 0;
}
.lg-texto h3 { font-size: 15px; font-weight: 700; color: var(--dark); margin: 24px 0 8px; }
.lg-texto p { font-size: 15px; color: #475569; line-height: 1.75; margin-bottom: 14px; }
.lg-texto ul { margin: 0 0 16px 0; padding-left: 20px; }
.lg-texto li { font-size: 15px; color: #475569; line-height: 1.7; margin-bottom: 8px; }
.lg-texto li::marker { color: var(--light); }
.lg-texto strong { color: #0F172A; font-weight: 600; }
.lg-texto a { color: var(--mid); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.lg-texto a:hover { color: var(--gold); }

/* Destaque para o que não pode passar batido numa leitura na diagonal —
   o uso limitado dos dados do Google, o direito de apagar a conta. */
.lg-nota {
    background: var(--surface); border-left: 4px solid var(--gold);
    border-radius: 0 var(--r) var(--r) 0; padding: 20px 24px; margin: 20px 0;
}
.lg-nota p:last-child { margin-bottom: 0; }
.lg-nota-tt { font-size: 13px; font-weight: 800; color: var(--dark); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }

/* Campo que só o dono da empresa pode preencher (razão social, CNPJ). Fica
   visível de propósito: um documento jurídico publicado com "[CNPJ]" no meio
   do texto é pior do que um que grita onde falta preencher. */
.lg-preencher {
    background: rgba(200, 162, 39, .16); color: #7A6310; font-weight: 700;
    padding: 1px 7px; border-radius: 5px; border: 1px dashed rgba(200, 162, 39, .55);
    white-space: nowrap; font-size: .93em;
}

/* Tabelas de inventário de dado. O wrapper rola sozinho: sem ele a tabela
   empurra a página inteira para o lado no celular. */
.lg-tabela-wrap { overflow-x: auto; margin: 18px 0 22px; border: 1px solid var(--borda); border-radius: var(--r); }
.lg-tabela { width: 100%; border-collapse: collapse; min-width: 520px; }
.lg-tabela th {
    background: var(--surface); text-align: left; font-size: 11px; font-weight: 800;
    text-transform: uppercase; letter-spacing: .07em; color: var(--dark);
    padding: 12px 16px; border-bottom: 1px solid var(--borda);
}
.lg-tabela td { font-size: 13.5px; color: #475569; padding: 13px 16px; border-bottom: 1px solid var(--borda); vertical-align: top; line-height: 1.55; }
.lg-tabela tr:last-child td { border-bottom: none; }

/* ── Rodapé (idêntico ao da landing) ───────────────────────────── */
footer { background: var(--darkest); padding: 48px 0 32px; }
.foot-grid { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: start; margin-bottom: 36px; }
@media (max-width: 600px) { .foot-grid { grid-template-columns: 1fr; } }
.foot-tag { font-size: 13px; color: rgba(255, 255, 255, .3); margin-top: 6px; }
.foot-links { display: flex; gap: 8px; flex-wrap: wrap; }
.foot-links a { font-size: 13px; color: rgba(255, 255, 255, .45); text-decoration: none; padding: 4px 10px; border-radius: 6px; transition: color .2s; }
.foot-links a:hover { color: rgba(255, 255, 255, .8); }
.foot-bar {
    border-top: 1px solid rgba(255, 255, 255, .07); padding-top: 24px; display: flex;
    justify-content: space-between; font-size: 12px; color: rgba(255, 255, 255, .2);
    flex-wrap: wrap; gap: 8px;
}

/* ── Impressão ─────────────────────────────────────────────────── */
/* Documento jurídico é impresso e anexado a contrato. Sem isto sai com a
   navegação, o rodapé escuro e metade do texto fora da margem. */
@media print {
    nav, footer, .lg-indice { display: none !important; }
    .lg-hero { background: none; padding: 0 0 24px; }
    .lg-hero h1, .lg-hero h1 em { color: #000; }
    .lg-meta { color: #444; border-top-color: #ccc; }
    .lg-meta strong { color: #000; }
    .lg-grid { display: block; }
    .lg-texto { max-width: none; }
    .lg-texto section { page-break-inside: avoid; margin-bottom: 24px; }
    .lg-texto p, .lg-texto li { color: #222; font-size: 11pt; }
}
