/**
 * GENERATED by nexus-consent/scripts/build-tokens.mjs from nexus-foundry/assets/css/nxf-tokens.css. Do not edit.
 * Nexus Consent design tokens: custom properties only, light and dark fallbacks (kits/tokens.json palette), used
 * only when the active theme has no estate presets.
 */

/*
 * nxc-literals:start (mode fallbacks)
 * The only literal colours the module stylesheets ever reach. They apply when no theme presets exist
 * (--wp--preset--color--* undefined): light by default, dark when html[data-theme] says so, exactly as
 * nexus-estate/assets/css/modes.css switches the presets ("dark", or "auto" with a dark system preference).
 * The dark values are the kit's dark palette (kits/tokens.json), so a plugin-only site matches the estate.
 */
:root {
  --nxc-fallback-fg: #14222c;
  --nxc-fallback-fg-muted: #4b5d6b;
  --nxc-fallback-bg: #f4f7f9;
  --nxc-fallback-surface: #ffffff;
  --nxc-fallback-accent: #0f6e8c;
  --nxc-fallback-accent-fg: #ffffff;
  --nxc-fallback-danger: #9b2c2c;
  --nxc-fallback-border: #d5dee5;
  --nxc-fallback-focus: #0c4a6e;
}
:root[data-theme="dark"] {
  --nxc-fallback-fg: #ffffff;
  --nxc-fallback-fg-muted: #a3a3a3;
  --nxc-fallback-bg: #141414;
  --nxc-fallback-surface: #0a0a0a;
  --nxc-fallback-accent: #ffffff;
  --nxc-fallback-accent-fg: #000000;
  --nxc-fallback-danger: #f28b82;
  --nxc-fallback-border: rgba(255, 255, 255, 0.2);
  --nxc-fallback-focus: #8ab4f8;
}
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] {
    --nxc-fallback-fg: #ffffff;
    --nxc-fallback-fg-muted: #a3a3a3;
    --nxc-fallback-bg: #141414;
    --nxc-fallback-surface: #0a0a0a;
    --nxc-fallback-accent: #ffffff;
    --nxc-fallback-accent-fg: #000000;
    --nxc-fallback-danger: #f28b82;
    --nxc-fallback-border: rgba(255, 255, 255, 0.2);
    --nxc-fallback-focus: #8ab4f8;
  }
}
/* nxc-literals:end */

/*
 * The colour tokens follow the theme presets first, so Foundry surfaces switch with the estate's light and dark
 * modes (visual QA finding F4: placeholders stayed #f4f7f9 on the black page). No literal colour below this line.
 */
:root,
.nexus-consent-root,
:host {
  --nxc-color-fg: var(--wp--preset--color--ink, var(--nxc-fallback-fg));
  --nxc-color-fg-muted: var(--wp--preset--color--ink-muted, var(--nxc-fallback-fg-muted));
  --nxc-color-bg: var(--wp--preset--color--muted, var(--nxc-fallback-bg));
  --nxc-color-surface: var(--wp--preset--color--surface, var(--nxc-fallback-surface));
  --nxc-color-accent: var(--wp--preset--color--primary, var(--nxc-fallback-accent));
  --nxc-color-accent-fg: var(--wp--preset--color--primary-ink, var(--nxc-fallback-accent-fg));
  --nxc-color-danger: var(--wp--preset--color--critical, var(--nxc-fallback-danger));
  --nxc-color-border: var(--wp--preset--color--hairline-strong, var(--nxc-fallback-border));
  --nxc-color-focus: var(--wp--preset--color--focus, var(--nxc-fallback-focus));
  --nxc-font: inherit;
  --nxc-font-size: 1rem;
  --nxc-line: 1.45;
  --nxc-space-1: 0.25rem;
  --nxc-space-2: 0.5rem;
  --nxc-space-3: 0.75rem;
  --nxc-space-4: 1rem;
  --nxc-space-5: 1.5rem;
  --nxc-radius: 0.5rem;
  --nxc-shadow: 0 1px 2px color-mix(in srgb, var(--nxc-color-fg) 8%, transparent);
  --nxc-touch: 2.75rem;
  /* WCAG 2.2 SC 2.5.8 floor (24 CSS px) for controls that sit inside a larger label target, such as checkboxes. */
  --nxc-target-min: 1.5rem;
  --nxc-iframe-min-height: 240px;
  --nxc-iframe-max-height: 900px;
  --nxc-z-widget: 1;
}

.nexus-consent-root,
:host {
  color: var(--nxc-color-fg);
  background: var(--nxc-color-bg);
  font-family: var(--nxc-font);
  font-size: var(--nxc-font-size);
  line-height: var(--nxc-line);
}

.nexus-consent-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* The standalone "your consent" page (Visitor::document): the canvas follows the same tokens. */
.nexus-consent-page {
  margin: 0;
  color: var(--nxc-color-fg);
  background: var(--nxc-color-bg);
  font-family: var(--nxc-font);
  font-size: var(--nxc-font-size);
  line-height: var(--nxc-line);
}
