/* ============================================================
   NEXUS — páginas de Política de Cookies e de Privacidade
   Tema claro por omissão; escuro com body[data-portal-theme="dark"]
   (guardado em nexus_portal_theme). Idioma: html[data-lang].
   ============================================================ */
.pol-main {
  --pol-bg: #f0f7f2;
  --pol-papel: #ffffff;
  --pol-fg: #0b1f10;
  --pol-muted: #3a5e42;
  --pol-borda: #c9dccf;
  --pol-link: #166534;
  --pol-cab: #e4f0e8;
  --pol-btn-bg: #166534;
  --pol-btn-fg: #ffffff;
  --pol-btn-hover: #14532d;
  --pol-foco: #1d4ed8;
  --pol-mark-bg: #fde68a;
  --pol-mark-fg: #5b3a00;
  --pol-mark-borda: #b45309;
  background: var(--pol-bg);
  color: var(--pol-fg);
  padding: calc(var(--nav-height, 72px) + 40px) 0 72px;
}
body[data-portal-theme="dark"] .pol-main {
  --pol-bg: #0b1a10;
  --pol-papel: #0f2318;
  --pol-fg: #e8f5ec;
  --pol-muted: #b8cfbf;
  --pol-borda: #2f4a37;
  --pol-link: #86efac;
  --pol-cab: #153020;
  --pol-btn-bg: #4ade80;
  --pol-btn-fg: #052e16;
  --pol-btn-hover: #86efac;
  --pol-foco: #93c5fd;
  --pol-mark-bg: #4a3500;
  --pol-mark-fg: #fde68a;
  --pol-mark-borda: #f59e0b;
}

.pol-main .container { max-width: 880px; }
.pol-papel {
  background: var(--pol-papel);
  border: 1px solid var(--pol-borda);
  border-radius: 14px;
  padding: 40px 44px 44px;
}

/* Só o idioma activo é visível (main.js põe data-lang em <html>) */
html[data-lang="en"] .pol-pt { display: none; }
html:not([data-lang="en"]) .pol-en { display: none; }

.pol-lg h1 { font-size: clamp(1.7rem, 4vw, 2.3rem); line-height: 1.2; margin: 0 0 6px; color: var(--pol-fg); }
.pol-lg h2 { font-size: 1.25rem; margin: 34px 0 10px; color: var(--pol-fg); line-height: 1.3; }
.pol-lg h3 { font-size: 1.02rem; margin: 22px 0 8px; color: var(--pol-fg); }
.pol-lg p, .pol-lg li { color: var(--pol-fg); line-height: 1.7; font-size: 1rem; }
.pol-lg ul { padding-left: 1.3em; margin: 10px 0 14px; }
.pol-lg li { margin: 4px 0; }
.pol-lg a { color: var(--pol-link); text-decoration: underline; text-underline-offset: 2px; }
.pol-lg a:focus-visible, .pol-btn:focus-visible { outline: 2px solid var(--pol-foco); outline-offset: 2px; }
.pol-lg code {
  font-family: ui-monospace, 'Cascadia Mono', Consolas, monospace;
  font-size: .86em; background: var(--pol-cab); padding: 1px 6px; border-radius: 5px;
  overflow-wrap: anywhere; color: var(--pol-fg);
}
.pol-data { color: var(--pol-muted) !important; margin: 0 0 16px; font-size: .95rem !important; }
.pol-rascunho {
  border-left: 4px solid var(--pol-mark-borda); background: var(--pol-cab);
  padding: 10px 14px; border-radius: 6px; margin: 0 0 8px; font-size: .95rem !important;
}

/* Campos por preencher: bem visíveis, nunca confundíveis com texto final */
.pol-prencher {
  background: var(--pol-mark-bg); color: var(--pol-mark-fg);
  outline: 1px dashed var(--pol-mark-borda); outline-offset: 1px;
  padding: 0 4px; border-radius: 3px; font-weight: 600;
}

.pol-btn {
  font: inherit; font-weight: 600; cursor: pointer; border: 2px solid var(--pol-btn-bg);
  background: var(--pol-btn-bg); color: var(--pol-btn-fg); border-radius: 8px; padding: 10px 18px;
}
.pol-btn:hover { background: var(--pol-btn-hover); border-color: var(--pol-btn-hover); }
.pol-btn-linha { background: transparent; color: var(--pol-link); padding: 6px 12px; margin-left: 4px; }
.pol-btn-linha:hover { background: var(--pol-cab); color: var(--pol-link); border-color: var(--pol-btn-bg); }

.pol-tabela-wrap { margin: 10px 0 18px; }
.pol-tabela { width: 100%; border-collapse: collapse; font-size: .94rem; }
.pol-tabela th, .pol-tabela td {
  border: 1px solid var(--pol-borda); padding: 9px 12px; text-align: left; vertical-align: top;
  color: var(--pol-fg); line-height: 1.55;
}
.pol-tabela th { background: var(--pol-cab); font-weight: 700; }

@media (max-width: 720px) {
  .pol-main { padding-top: calc(var(--nav-height, 72px) + 20px); padding-bottom: 48px; }
  .pol-papel { padding: 24px 18px 30px; border-radius: 10px; }
  .pol-tabela thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pol-tabela, .pol-tabela tbody, .pol-tabela tr, .pol-tabela td { display: block; width: 100%; }
  .pol-tabela tr { border: 1px solid var(--pol-borda); border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
  .pol-tabela td { border: 0; border-bottom: 1px solid var(--pol-borda); padding: 8px 12px; }
  .pol-tabela td:last-child { border-bottom: 0; }
  .pol-tabela td::before {
    content: attr(data-label); display: block; font-weight: 700; font-size: .8rem;
    text-transform: uppercase; letter-spacing: .03em; color: var(--pol-muted); margin-bottom: 2px;
  }
}
