.nst-consent {
  --consent-ink: var(--wp--preset--color--ink, #17171d);
  --consent-paper: var(--wp--preset--color--white, #fff);
  --consent-signal: var(--nst-brand-yellow, #dcff59);
  position: fixed;
  z-index: 10001;
  left: 1.5rem;
  bottom: 1.5rem;
  width: min(27rem, calc(100vw - 3rem));
  max-height: calc(100dvh - 7rem);
  overflow: auto;
  box-sizing: border-box;
  padding: 1.5rem;
  background: var(--consent-paper);
  color: var(--consent-ink);
  border: 1px solid var(--consent-ink);
  font-family: var(--nst-font-sans);
  text-align: left;
}
.nst-consent[hidden], .nst-consent__close[hidden] { display: none; }
.nst-consent h2 { margin: 0 0 0.75rem; font-size: 1.5rem; line-height: 1.1; font-weight: 800; letter-spacing: -0.03em; }
.nst-consent p { margin: 0 0 0.75rem; font-size: 0.9375rem; line-height: 1.5; }
.nst-consent .nst-consent__detail, .nst-consent .nst-consent__status { font-size: 0.8125rem; }
.nst-consent a { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
.nst-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-top: 1rem; }
.nst-consent__actions button {
  min-height: 2.75rem;
  padding: 0.75rem 0.5rem;
  border: 1px solid var(--consent-ink);
  border-radius: 0;
  background: var(--consent-ink);
  color: var(--consent-paper);
  font: 700 0.8125rem/1.25 var(--nst-font-sans);
  cursor: pointer;
}
.nst-consent__actions button:hover { background: var(--consent-signal); color: var(--consent-ink); }
.nst-consent :focus-visible { outline: 3px solid var(--consent-ink); outline-offset: 3px; }
.nst-consent__close, .nst-cookie-settings { font: inherit; color: inherit; background: transparent; border: 0; border-radius: 0; padding: 0; min-height: 2.75rem; cursor: pointer; text-decoration: underline; text-underline-offset: 0.25em; }
.nst-consent__close { display: block; margin-top: 0.5rem; font-size: 0.8125rem; }
.nst-cookie-settings:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.nst-site-footer--compact .nst-cookie-settings { font-size: 0.75rem; font-weight: 700; }
.nst-consent-noscript { padding: 1rem 1.5rem; font-size: 0.875rem; }
@media (max-width: 767px) {
  .nst-consent { left: 0.75rem; bottom: max(0.75rem, env(safe-area-inset-bottom)); width: calc(100vw - 1.5rem); padding: 1.25rem; }
  body.single-product .nst-consent { bottom: calc(6rem + env(safe-area-inset-bottom)); max-height: calc(100dvh - 11rem); }
}
@media print { .nst-consent, .nst-cookie-settings, .nst-consent-noscript { display: none !important; } }
