/* Banner de consentimento e página /cookies (frente G). Usa os tokens do 2.0 (tokens.css) com fallback, para funcionar
   igual na casca pública (base.html) e na do produto (v2/base.html), nos temas escuro e claro. Sem cor literal fora do fallback.
   O cartão flutuante (.lc) tem fundo próprio; os componentes de dentro (categorias, botões) herdam a cor de quem os contém
   (currentColor/transparent no fallback), para a página /cookies ficar legível em qualquer casca. */
.lc {
  position: fixed; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 65;
  width: min(440px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow-y: auto;
  background: var(--v2-painel, #121216); color: var(--v2-ink, #f5f5f7);
  border: 1px solid var(--v2-linha-forte, rgba(255, 255, 255, .16)); border-radius: var(--v2-raio, 14px);
  box-shadow: var(--v2-sombra, 0 12px 32px rgba(0, 0, 0, .42)); padding: 16px 18px 12px;
  font-family: var(--v2-fonte, -apple-system, BlinkMacSystemFont, "Manrope", system-ui, sans-serif);
  font-size: var(--v2-t-m, 14px); line-height: 1.45;
}
.lc[hidden], .lc [hidden] { display: none !important; }
.lc-titulo { margin: 0 0 6px; font-size: var(--v2-t-l, 17px); font-weight: 600; letter-spacing: -.01em; outline: none; }
.lc-texto { margin: 0 0 12px; color: var(--v2-ink-2, currentColor); }
.lc-detalhes { display: grid; gap: 8px; margin: 0 0 12px; }
.lc-cat { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: var(--v2-raio-p, 10px);
  background: var(--v2-card, transparent); border: 1px solid var(--v2-linha-forte, rgba(127, 127, 127, .35));
  font-size: var(--v2-t-s, 12.5px); color: var(--v2-ink-2, currentColor); cursor: pointer; }
.lc-cat.fixo { cursor: default; }
.lc-cat b { color: var(--v2-ink, currentColor); font-size: var(--v2-t-m, 14px); font-weight: 600; }
.lc-cat small { color: var(--v2-muted, currentColor); opacity: .8; font-size: var(--v2-t-xs, 11px); margin-left: 4px; }
.lc-cat input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--v2-azul, #0071e3); flex: none; }
.lc-acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
/* aceitar e recusar com o mesmo peso: nenhum dos dois é o botão "principal" */
.lc-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 108px; height: 36px; padding: 0 14px;
  border-radius: 9px; border: 1px solid var(--v2-azul-borda, rgba(41, 151, 255, .45)); background: var(--v2-azul-soft, rgba(0, 113, 227, .16));
  color: var(--v2-ink, currentColor); font: inherit; font-weight: 600; cursor: pointer; }
.lc-btn:hover { border-color: var(--v2-azul-2, #2997ff); }
.lc-btn:focus-visible, .lc-link:focus-visible, .lc a:focus-visible { outline: 2px solid var(--v2-azul-2, #2997ff); outline-offset: 2px; }
.lc-btn:disabled { opacity: .55; cursor: progress; }
.lc-link { background: none; border: 0; padding: 0 4px; color: var(--v2-azul-2, #2997ff); font: inherit; cursor: pointer; text-decoration: underline; }
.lc-rodape { margin: 10px 0 0; font-size: var(--v2-t-xs, 11px); color: var(--v2-muted, #86868b); }
.lc-rodape span { white-space: nowrap; }
.lc-rodape a, .lc-pagina a { color: var(--v2-azul-2, #2997ff); }
.lc-erro, .lc-pagina-erro { margin: 8px 0 0; padding: 8px 10px; border-radius: 8px; font-size: var(--v2-t-s, 12.5px);
  color: var(--v2-ink, currentColor); background: var(--v2-alerta-soft, rgba(255, 159, 10, .14)); border: 1px solid var(--v2-alerta, #ff9f0a); }
/* celular no 2.0: acima da navegação inferior (62 px) */
@media (max-width: 900px) {
  .lc { left: 12px; right: 12px; width: auto; }
  .v2-nav-inferior ~ .lc { bottom: calc(74px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 420px) { .lc-btn { flex: 1 1 40%; min-width: 0; } }

/* ------------------------------------------------------------------------------------------- página /cookies */
.lc-pagina { max-width: 760px; margin: 0 auto; padding: 8px 0 32px; line-height: 1.55; }
.lc-pagina h1 { font-size: var(--v2-t-xl, 22px); margin: 0 0 12px; }
.lc-pagina h2 { font-size: var(--v2-t-l, 17px); margin: 28px 0 10px; }
.lc-pagina-estado { padding: 10px 12px; border-radius: var(--v2-raio-p, 10px); border: 1px solid var(--v2-linha-forte, rgba(127, 127, 127, .35)); }
.lc-pagina-form { display: grid; gap: 10px; margin: 14px 0 0; }
.lc-pagina-tabela { width: 100%; border-collapse: collapse; font-size: var(--v2-t-s, 12.5px); }
.lc-pagina-tabela th, .lc-pagina-tabela td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--v2-linha, rgba(127, 127, 127, .25)); vertical-align: top; }
.lc-pagina-nota { font-size: var(--v2-t-s, 12.5px); color: var(--v2-muted, currentColor); opacity: .85; }
@media (max-width: 600px) { .lc-pagina-tabela th:nth-child(2), .lc-pagina-tabela td:nth-child(2) { display: none; } }
