.nb-consent-dialog {
  --nb-consent-ink: #10213f;
  --nb-consent-muted: #52627b;
  --nb-consent-blue: #0b57d0;
  --nb-consent-border: #d8e3f3;
  box-sizing: border-box;
  color: var(--nb-consent-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.nb-consent-dialog * { box-sizing: border-box; }

.nb-consent-button {
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #adc3df;
  border-radius: 11px;
  background: #fff;
  color: var(--nb-consent-ink, #10213f);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.nb-consent-button:hover { border-color: var(--nb-consent-blue); }
.nb-consent-button:focus-visible { outline: 3px solid #8fc2ff; outline-offset: 2px; }
.nb-consent-button.is-primary { border-color: var(--nb-consent-blue, #0b57d0); background: var(--nb-consent-blue, #0b57d0); color: #fff; }

.nb-page-hero > .nb-consent-button { margin-top: 14px; }

.nb-consent-backdrop {
  position: fixed;
  z-index: 2147483001;
  inset: 0;
  display: grid;
  place-items: end center;
  padding: 20px;
  background: rgba(5, 20, 44, .54);
}

.nb-consent-dialog {
  width: min(620px, 100%);
  max-height: min(760px, calc(100dvh - 40px));
  overflow: auto;
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(5, 20, 44, .3);
}

.nb-consent-dialog h2 { margin: 0 0 8px; font-size: clamp(1.35rem, 4vw, 1.8rem); }
.nb-consent-dialog > p { margin: 0 0 18px; color: var(--nb-consent-muted); line-height: 1.55; }
.nb-consent-status { display: grid; gap: 10px; }
.nb-consent-choice { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 12px; padding: 14px; border: 1px solid var(--nb-consent-border); border-radius: 14px; cursor: pointer; }
.nb-consent-choice input { width: 1.25rem; height: 1.25rem; margin: .15rem 0 0; accent-color: var(--nb-consent-blue); }
.nb-consent-choice input:disabled { opacity: .75; cursor: not-allowed; }
.nb-consent-choice strong { display: block; margin-bottom: 4px; }
.nb-consent-choice small { display: block; color: var(--nb-consent-muted); line-height: 1.4; }
.nb-consent-status-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--nb-consent-border); border-radius: 14px; }
.nb-consent-status-item strong { display: block; margin-bottom: 4px; }
.nb-consent-status-item small { display: block; color: var(--nb-consent-muted); line-height: 1.4; }
.nb-consent-status-item b { padding: 5px 9px; border-radius: 999px; background: #e9f3ff; color: #084b9b; font-size: .78rem; }
.nb-consent-note { margin-top: 16px !important; padding: 12px 14px; border-radius: 12px; background: #f2f7fd; }
.nb-consent-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.nb-consent-dialog-links { margin-top: 16px; font-size: .9rem; }
.nb-consent-dialog-links a { color: var(--nb-consent-blue); font-weight: 700; }

/* Os avisos antigos de algumas páginas FaturaCerta são substituídos pelo centro global. */
#cookieBanner.cookie-banner { display: none !important; }

@media (max-width: 720px) {
  .nb-consent-backdrop { padding: 10px; }
  .nb-consent-dialog { max-height: calc(100dvh - 20px); padding: 18px; border-radius: 17px; }
  .nb-consent-status-item { align-items: start; }
}

@media (prefers-color-scheme: dark) {
  .nb-consent-dialog { --nb-consent-ink: #eef5ff; --nb-consent-muted: #bbcae0; --nb-consent-border: #344968; background: rgba(12, 28, 52, .98); }
  .nb-consent-button { border-color: #536b8e; background: #132c50; color: #eef5ff; }
  .nb-consent-status-item { background: #102746; }
  .nb-consent-choice { border-color: #536b8e; background: #102746; color: #eef5ff; }
  .nb-consent-status-item b { background: #173c68; color: #d6e9ff; }
  .nb-consent-note { background: #102746; }
}
