/* Shared availability semantics. Labels/data remain the source of truth;
   no product status or purchase behaviour is changed by this stylesheet. */
body.jx-next.future-site {
  --nx-status-ink: var(--nx-ink, #650d2d);
  --nx-status-paper: var(--nx-paper, #f7f2e9);
  --nx-status-edge: #b9a08a;
  --nx-available-ink: #125c37;
  --nx-available-paper: #e2f5e9;
  --nx-available-edge: #68a87f;
  --nx-request-ink: #664b00;
  --nx-request-paper: #fff1ad;
  --nx-request-edge: #c5a324;
  --nx-coming-ink: #a51d2c;
  --nx-coming-paper: #ffe6e8;
  --nx-coming-edge: #d87883;
}
html[data-theme="dark"] body.jx-next.future-site {
  --nx-available-ink: #a4edbf;
  --nx-available-paper: #143d29;
  --nx-available-edge: #45976b;
  --nx-request-ink: #ffe58b;
  --nx-request-paper: #443707;
  --nx-request-edge: #a98c28;
  --nx-coming-ink: #ffb4bc;
  --nx-coming-paper: #511c26;
  --nx-coming-edge: #bc5e6b;
}

/* Higher than page-family rules, loaded last. Unknown statuses stay neutral. */
body.jx-next.future-site #main :is(
  .nx-status, .availability-badge, .product-status, .depth-availability,
  .catalogue-download-card__availability, .demo-portal-card__badge[data-availability]
) {
  color: var(--nx-status-ink);
  background: var(--nx-status-paper);
  border-color: var(--nx-status-edge);
  border-style: solid;
}
body.jx-next.future-site #main :is(
  [data-availability="Available now" i],
  .availability-badge--available:not([data-availability]),
  .catalogue-download-card__availability.is-available:not([data-availability])
) {
  --nx-status-ink: var(--nx-available-ink);
  --nx-status-paper: var(--nx-available-paper);
  --nx-status-edge: var(--nx-available-edge);
}
body.jx-next.future-site #main :is(
  [data-availability="Available on request" i], [data-availability="On request" i]
) {
  --nx-status-ink: var(--nx-request-ink);
  --nx-status-paper: var(--nx-request-paper);
  --nx-status-edge: var(--nx-request-edge);
}
body.jx-next.future-site #main :is(
  [data-availability="Coming soon" i],
  .availability-badge--coming:not([data-availability]),
  .catalogue-download-card__availability.is-coming:not([data-availability])
) {
  --nx-status-ink: var(--nx-coming-ink);
  --nx-status-paper: var(--nx-coming-paper);
  --nx-status-edge: var(--nx-coming-edge);
}
body.jx-next.future-site #main :is(.nx-status, .availability-badge,
  .product-status, .depth-availability, .catalogue-download-card__availability)::before {
  background: currentColor;
}

/* Preserve the store badge artwork and neutral surface; colour only its
   unreleased-status wording. Both badge surfaces are light in both themes. */
body.jx-next.future-site #main :is(.mobile-store-coming, .store-badge--soon) strong {
  color: #981526;
}
