/* ============================================================
   NORVA — Cookie consent banner (see cookie-consent.js)
   Compact card, bottom-left; uses the tokens from site.css.
   ============================================================ */
.ncc {
  position: fixed;
  z-index: 1000;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  width: min(380px, calc(100% - 32px));
  transform: translateY(16px);
  opacity: 0;
  background: var(--surface, #fff);
  color: var(--text, #0e1422);
  border: 0;
  border-radius: 6px;
  box-shadow: 0 20px 50px -20px rgba(11, 13, 18, 0.35); /* taste-skill-ignore: a real floating dialog */
  font-family: inherit;
  transition: opacity 0.45s var(--ease, ease), transform 0.45s var(--ease, ease);
}
.ncc[hidden] { display: none; }
.ncc.is-in { opacity: 1; transform: none; }

.ncc-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  padding: 20px;
}
.ncc-copy { flex: 1; min-width: 0; }
.ncc-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  margin: 0 0 6px;
  font-family: inherit;
  font-size: 14px; letter-spacing: 0; text-transform: none;
  color: var(--accent, #2f6bff);
}
.ncc-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent, #2f6bff); }
.ncc-title {
  margin: 0 0 6px;
  font-family: inherit;
  font-size: 18px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.2;
  color: var(--text, #0e1422);
}
.ncc-body {
  margin: 0;
  font-size: 13.5px; line-height: 1.55;
  color: var(--text-dim, #4d5772);
}

.ncc-actions { display: flex; gap: 10px; flex-shrink: 0; }
.ncc-btn {
  appearance: none;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 6px;
  font-family: inherit;
  font-size: 14px; font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.ncc-btn-primary { background: var(--accent, #2f6bff); color: #fff; border: 0; }
.ncc-btn-primary:hover { background: var(--accent-bright, #1f5cf5); border-color: var(--accent-bright, #1f5cf5); }
.ncc-btn-ghost { background: #e6e8ec; color: var(--ink, #0b0d12); border: 0; }
.ncc-btn-ghost:hover { background: #d9dce2; }
.ncc-btn:focus-visible,
.ncc-prefs:focus-visible {
  outline: 2px solid var(--accent, #2f6bff);
  outline-offset: 3px;
}

/* Footer link to change the choice later */
.ncc-prefs {
  appearance: none; background: none; border: 0; padding: 0;
  font: inherit; color: inherit; letter-spacing: inherit;
  text-decoration: underline; text-underline-offset: 3px;
  cursor: pointer;
}
.ncc-prefs:hover { color: var(--accent, #2f6bff); }

@media (max-width: 720px) {
  .ncc { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: calc(100% - 24px); }
  .ncc-inner { flex-direction: column; align-items: stretch; gap: 16px; padding: 18px; }
  .ncc-actions { width: 100%; }
  .ncc-btn { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .ncc, .ncc-btn { transition: none; }
  .ncc { transform: none; }
}
