.opa-priv-painel[hidden], .opa-priv-painel [hidden] { display: none !important; }
html:has(.opa-priv-painel:not([hidden])) { scroll-padding-bottom: calc(var(--opa-priv-altura, 0px) + 16px); }
body:has(.opa-priv-painel) .zap-fab { bottom: calc(24px + var(--opa-priv-altura, 0px)) !important; }
.opa-priv-painel { position: fixed; bottom: 0; left: 0; right: 0; z-index: 10000; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 40px; width: 100%; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 18px max(24px, calc((100vw - 1280px) / 2)); padding-bottom: max(18px, env(safe-area-inset-bottom)); border: 0; border-top: 1px solid #dce5e9; border-radius: 0; background: #fff; color: #12455f; box-shadow: 0 -4px 20px #0d34480d; font: 400 1rem/1.5 Inter, sans-serif; text-align: left; }
.opa-priv-painel * { box-sizing: border-box; }
.opa-priv-painel h2 { grid-column: 1; margin: 0 0 6px; font-size: 1rem; line-height: 1.4; font-weight: 600; }
.opa-priv-painel p { grid-column: 1; margin: 0; font-size: 1rem; line-height: 1.5; color: #536b79; }
.opa-priv-painel .opa-priv-rodape { margin-top: 6px; font-size: .875rem; line-height: 1.5; }
.opa-priv-acoes { grid-column: 2; grid-row: 1 / 6; align-self: center; display: grid; grid-template-columns: repeat(2, minmax(96px, 1fr)); gap: 12px; }
.opa-priv-painel button { font: 600 .875rem/1.4 Inter, sans-serif; cursor: pointer; min-height: 44px; }
.opa-priv-acoes button { border: 1px solid #bdcfd8; border-radius: 8px; padding: 11px 14px; background: #fff; color: #12455f; }
.opa-priv-painel a { color: #12455f; text-decoration: underline; }
.opa-priv-painel button:hover { background: #f2f6f8; }
.opa-priv-painel :focus-visible { outline: 3px solid #2a7ca8; outline-offset: 3px; }
#opa-priv-aviso:empty { display: none; }
#opa-priv-recarrega, #opa-priv-aviso { margin-top: 8px; }
@media (max-width: 760px) {
  .opa-priv-painel { display: block; padding: 16px 20px; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .opa-priv-acoes { grid-template-columns: 1fr 1fr; margin-top: 14px; }
  .opa-priv-painel .opa-priv-rodape { margin-top: 10px; }
}
/* Véu atrás do painel de cookies (pedido da OPA em 24/09/2026): um azul
   escuro bem leve sobre o site, para o painel se destacar. Só CSS, sem tocar
   no privacidade.js: aparece e some junto com o painel pelo :has().
   pointer-events:none de propósito: o site continua clicável e legível. Um véu
   que bloqueasse a navegação até a escolha seria "cookie wall", e o consentimento
   deixa de ser livre. Ele chama atenção para o painel, não obriga a responder,
   e não favorece o Sim sobre o Não. z-index 9999: abaixo do painel (10000). */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(10, 45, 64, 0.22);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .45s ease, visibility 0s linear .45s;
}
body:has(.opa-priv-painel:not([hidden]))::after {
  opacity: 1;
  visibility: visible;
  transition: opacity .45s ease;
}
@media (prefers-reduced-motion: reduce) {
  body::after { transition: none; }
}
