/* Asten Gestão: documentos legais, aviso de cookies e aceite do formulário. Movimento só onde ajuda e respeitando "reduzir movimento". */

/* ---------- página de documento ---------- */
.po { min-height: 100dvh; padding-bottom: 72px; background: radial-gradient(70% 30% at 50% -4%, color-mix(in srgb, var(--verde) 10%, transparent), transparent 70%); }
.po__topo { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; max-width: 880px; margin: 0 auto; padding: 18px 20px 0; }
.po__voltar { justify-self: start; display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 14px 0 8px; border: 0; border-radius: 999px; background: none; color: var(--suave); font: inherit; font-weight: 500; cursor: pointer; }
.po__voltar:hover { background: rgb(var(--o) / 0.06); color: var(--tinta); } .po__voltar .ic { width: 18px; height: 18px; transform: rotate(180deg); }
.po__marca { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; letter-spacing: -0.01em; }
.po__miolo { max-width: 760px; margin: 0 auto; padding: 36px 20px 0; }
.po__miolo h1 { margin: 0; font-size: clamp(2rem, 1.2rem + 3.4vw, 3rem); line-height: 1.05; font-weight: 700; letter-spacing: -0.035em; text-wrap: balance; animation: po-sobe 600ms var(--ios, ease) both; }
.po__sub { margin: 14px 0 0; color: var(--suave); font-size: 1.125rem; line-height: 1.5; max-width: 56ch; animation: po-sobe 600ms 80ms var(--ios, ease) both; }
.po__ver { margin: 14px 0 0; font-size: 0.875rem; color: var(--suave); }
.po__aviso { margin: 18px 0 0; padding: 12px 14px; border-radius: 14px; background: var(--verde-suave); color: var(--tinta); font-size: 0.875rem; }
.po__abas { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 8px; }
.po__abas a { padding: 9px 15px; border-radius: 999px; background: rgb(var(--o) / 0.06); color: var(--suave); font-size: 0.9375rem; font-weight: 600; text-decoration: none; transition: background 220ms, color 220ms; }
.po__abas a:hover { color: var(--tinta); } .po__abas a[aria-current="page"] { background: var(--tinta); color: var(--sup); }
.po__sec { margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--linha); animation: po-sobe 560ms calc(120ms + var(--k, 0) * 45ms) var(--ios, ease) both; }
.po__sec h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 1.3125rem; font-weight: 700; letter-spacing: -0.02em; }
.po__sec h2 i { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--verde); color: #fff; font-style: normal; font-size: 0.8125rem; font-weight: 700; }
.po__sec p, .po__sec li { font-size: 1.0625rem; line-height: 1.65; color: var(--tinta); }
.po__sec p { margin: 0 0 12px; max-width: 68ch; } .po__sec ul { margin: 0 0 12px; padding-left: 22px; max-width: 68ch; list-style: disc; } .po__sec li { margin-bottom: 6px; }
.po__tab { width: 100%; border-collapse: collapse; margin: 0 0 14px; font-size: 0.9375rem; }
.po__tab th, .po__tab td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linha); line-height: 1.5; }
.po__tab th { color: var(--suave); font-weight: 600; font-size: 0.8125rem; } .po__tab td:first-child { width: 42%; font-weight: 600; }
@keyframes po-sobe { from { opacity: 0; transform: translateY(14px); } }

/* ---------- links legais (rodapé do login e do formulário) ---------- */
.po__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; margin: 14px 0 0; padding: 0 12px; }
.po__links a, .po__ck { min-height: 32px; display: inline-flex; align-items: center; border: 0; background: none; padding: 0; color: var(--suave); font: inherit; font-size: 0.8125rem; text-decoration: none; cursor: pointer; }
.po__links a:hover, .po__ck:hover { color: var(--tinta); text-decoration: underline; }
.po__links--form { margin: 18px 0 4px; }

/* ---------- aceite no formulário público ---------- */
.fp__aceite { display: flex; align-items: flex-start; gap: 12px; margin: 4px 0 6px; padding: 14px; border-radius: 16px; background: rgb(var(--o) / 0.04); cursor: pointer; font-size: 0.9375rem; line-height: 1.5; color: var(--suave); }
.fp__aceite input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--verde); }
.fp__aceite a { color: var(--verde); font-weight: 600; } .fp__aceite b { color: var(--tinta); }

/* ---------- tela Privacidade e dados: lista de documentos ---------- */
.pv__docs { display: grid; gap: 14px; }
.pv__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pv__lista a { display: grid; gap: 2px; padding: 12px 14px; border-radius: 14px; color: inherit; text-decoration: none; transition: background 180ms; }
.pv__lista a:hover { background: rgb(var(--o) / 0.05); } .pv__lista b { font-size: 1rem; } .pv__lista span { color: var(--suave); font-size: 0.875rem; }
.fm__excluir--neutro { color: var(--tinta); }

/* ---------- aviso de cookies ---------- */
.ck { position: fixed; z-index: 990; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; padding: 14px; pointer-events: none; transform: translateY(24px); opacity: 0; transition: transform 520ms var(--ios, ease), opacity 360ms; }
.ck--on { transform: none; opacity: 1; } .ck--sai { transform: translateY(24px); opacity: 0; }
.ck__in { pointer-events: auto; display: flex; align-items: center; gap: 18px 24px; flex-wrap: wrap; width: min(100%, 860px); padding: 18px 20px; border-radius: 24px; background: color-mix(in srgb, var(--sup) 88%, transparent); -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4); box-shadow: 0 0 0 1px var(--linha), 0 24px 60px rgb(0 0 0 / 0.16); }
.ck__txt { flex: 1 1 360px; } .ck__txt b { display: block; font-size: 1rem; margin-bottom: 4px; } .ck__txt p { margin: 0; font-size: 0.875rem; line-height: 1.5; color: var(--suave); } .ck__txt a { color: var(--verde); font-weight: 600; }
.ck__bts { display: flex; gap: 10px; flex-wrap: wrap; } .ck__bts .btn { min-height: 44px; }
@media (max-width: 600px) { .ck { padding: 10px; } .ck__bts { width: 100%; } .ck__bts .btn { flex: 1 1 0; } .po__tab td:first-child { width: auto; } }
@media (prefers-reduced-motion: reduce) { .po__miolo h1, .po__sub, .po__sec { animation: none; } .ck { transition: opacity 200ms; transform: none; } }

/* botão de ativar o plano (conta em período de teste) */
.pl__ativar { display: block; width: 100%; margin-top: 22px; min-height: 52px; border: 0; border-radius: 999px; background: #fff; color: #00762F; font: inherit; font-weight: 700; font-size: 1.0625rem; cursor: pointer; box-shadow: 0 10px 28px rgb(0 0 0 / 0.22); transition: transform 220ms var(--ios, ease), box-shadow 220ms; }
.pl__ativar:hover { transform: translateY(-1px); box-shadow: 0 14px 32px rgb(0 0 0 / 0.28); } .pl__ativar:active { transform: scale(0.98); }

/* campos dentro das janelas: respiro entre eles */
dialog.janela .campo + .campo { margin-top: 14px; } dialog.janela .campo { margin-top: 12px; }
