:root { --nv-consent-bg: #fff; --nv-consent-text: #0c273d; --nv-consent-border: #cfe0f2; --nv-consent-action: #e8f2fd; --nv-consent-shadow: 0 4px 24px rgb(0 0 0 / 18%); }
.nv-consent { position: fixed; bottom: 12px; left: 12px; right: 12px; z-index: 10000; box-sizing: border-box; max-width: 520px; padding: 20px; background: var(--nv-consent-bg); color: var(--nv-consent-text); border: 1px solid var(--nv-consent-border); border-radius: 8px; box-shadow: var(--nv-consent-shadow); font: 14px/1.5 Arial, sans-serif; }
.nv-consent[hidden] { display: none; }
.nv-consent p { margin: 10px 0; }
.nv-consent a { color: inherit; text-decoration: underline; }
.nv-consent > div { display: flex; gap: 12px; margin-top: 16px; }
.nv-consent button { flex: 1; padding: 12px; background: var(--nv-consent-action); color: var(--nv-consent-text); border: 1px solid var(--nv-consent-border); border-radius: 6px; cursor: pointer; font: inherit; }.nv-consent { padding: 12px 14px; font-size: 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.nv-consent p { margin: 0; flex: 1 1 200px; }
.nv-consent > div { margin-top: 4px; gap: 8px; flex: 1 1 100%; }
.nv-consent button { padding: 9px; }
.nv-consent .nv-yes { background: #1f6fd1; color: #fff; border-color: #1f6fd1; font-weight: bold; }
.nv-consent { left: 50%; right: auto; transform: translateX(-50%); width: calc(100% - 24px); max-width: 360px; padding: 8px 10px; font-size: 12px; gap: 6px 10px; flex-wrap: nowrap; border-radius: 10px; }
.nv-consent p { flex: 1 1 auto; line-height: 1.3; }
.nv-consent > div { flex: 0 0 auto; margin: 0; gap: 6px; }
.nv-consent button { flex: 0 0 auto; padding: 5px 12px; font-size: 12px; }
.nv-consent .nv-yes { background: #2f80d1; color: #fff; border-color: #2f80d1; }
/* Keep the prompt clear of the fixed buy bar so the button is never covered. */
body.nv-cta-open .nv-consent { bottom: 104px; }
