/* Reversible preview trial. Loaded last, on Kreluna pages only.
   Independent branded demo pages and artwork keep their own colors. */
body.premium-site {
  --premium-paper: #15171c;
  --premium-ink: #f5f6f8;
  --premium-muted: #b5bdca;
  --premium-line: #383f4b;
  --premium-lime: #c4f455;
  --dark-surface: #20242c;
  --dark-raised: #292e38;
  --dark-on-accent: #17191f;
  --dark-control-border: #758093;
  color-scheme: dark;
  background: var(--premium-paper);
  color: var(--premium-ink);
}
body.premium-site:not(.premium-demo) { --violet: #f5f6f8; }
body.premium-site ::selection { background: #c4f455; color: #17191f; }
body.premium-site > .premium-header {
  background: #15171c !important;
  border-color: var(--premium-line);
}
body.premium-site :is(.premium-header .premium-brand,.menu-toggle) { color: var(--premium-ink); }
body.premium-site .full-menu {
  background: var(--dark-surface);
  border-color: var(--premium-line);
  box-shadow: 0 18px 48px #0005;
}
body.premium-site .full-menu a:hover,
body.premium-site .full-menu .menu-check { background: var(--dark-raised); }
body.premium-site .full-menu .menu-check:hover { background: #363d49; }
body.premium-site .locale-switch { color: var(--premium-muted); }
body.premium-site .locale-switch > a { color: var(--premium-muted); }
body.premium-site .locale-switch > a[aria-current],
body.premium-site .locale-switch > a:hover,
body.premium-site .locale-switch > a:focus-visible { color: var(--premium-ink); }
body.premium-site .locale-switch > a:hover { background: var(--dark-raised); }
body.premium-site :focus-visible { outline-color: var(--premium-lime); box-shadow: 0 0 0 3px var(--premium-paper); }
body.premium-site .primary-link { color: var(--dark-on-accent); }
/* Also override standalone 404 documents' legacy paragraph color. */
body.premium-site .premium-footer p { color: var(--premium-muted); }
body.premium-site .hero-copy .eyebrow { color: var(--premium-muted); }
body.premium-site .hero-project .project-cover { background: var(--dark-raised); box-shadow: 0 18px 48px -20px #0008; }
body.premium-site .idea-form > div { background: var(--dark-surface); border-color: var(--dark-control-border); }
body.premium-site .idea-form button { color: var(--dark-on-accent); }
body.premium-site .starter-offer { background: var(--dark-surface); }
body.premium-site.premium-home .studio-section { background: var(--dark-surface); border-color: var(--premium-line); box-shadow: 0 0 0 24px var(--dark-surface); }
body.premium-site.premium-home .service-number { color: var(--premium-lime); }

/* Portfolio chrome only. No descendants of .project-visual are recolored. */
body.premium-site .portfolio {
  --portfolio-paper: var(--premium-paper);
  --portfolio-ink: var(--premium-ink);
  --portfolio-muted: var(--premium-muted);
  --portfolio-line: var(--premium-line);
}
body.premium-site .portfolio .portfolio-card { background: var(--dark-surface); border-color: var(--premium-line); box-shadow: none; }
body.premium-site .portfolio .portfolio-card:focus-within { border-color: var(--premium-lime); }
body.premium-site .portfolio :is(.portfolio-filters,.portfolio-pagination) button,
body.premium-site .portfolio .portfolio-search input { background: var(--dark-surface); color: var(--premium-ink); border-color: var(--dark-control-border); }
body.premium-site .portfolio .portfolio-filters button[aria-pressed="true"] { background: var(--premium-lime); color: var(--dark-on-accent); border-color: var(--premium-lime); }
body.premium-site .portfolio .portfolio-filters button:hover:not([aria-pressed="true"]),
body.premium-site .portfolio .portfolio-pagination button:hover:not(:disabled) { background: var(--dark-raised); }
body.premium-site .portfolio .portfolio-pagination button:disabled { color: var(--premium-muted); border-color: var(--premium-line); }
body.premium-site .portfolio .portfolio-badge.is-demo { background: var(--dark-raised); color: var(--premium-muted); }
body.premium-site .portfolio .portfolio-empty { background: var(--dark-surface); }
body.premium-site .portfolio > .portfolio-actions a:first-child { color: var(--dark-on-accent); }
body.premium-site .portfolio [data-portfolio-group="real"] { background: var(--dark-surface); box-shadow: inset 0 0 0 1px var(--premium-line); }
body.premium-site .portfolio [data-portfolio-group="real"] .portfolio-card { background: var(--dark-raised); }
body.premium-site .portfolio [data-portfolio-group="real"] .portfolio-placeholder { background: #232832; }
body.premium-site .portfolio [data-portfolio-group="real"] .portfolio-empty { color: var(--premium-ink); }
body.premium-site .portfolio [data-portfolio-group="real"] .portfolio-badge.is-online { color: var(--dark-on-accent); }

/* Cookie controls, chat and inputs belong to the site, not to demo artwork. */
body.premium-site .ks-static-consent { background: var(--dark-surface); border-color: var(--premium-line); box-shadow: 0 8px 40px #0008; }
body.premium-site .ks-static-consent-actions button { background: var(--dark-raised); color: var(--premium-ink); border-color: var(--dark-control-border); }
body.premium-site .ks-static-consent-actions button:last-child { background: var(--premium-lime); color: var(--dark-on-accent); }
body.premium-site .ks-static-cookie-preferences { background: var(--dark-surface); color: var(--premium-muted); }
body.premium-site .lumi-site-launcher { color: var(--dark-on-accent); border-color: #a3c746; box-shadow: 0 5px 22px #0005; }
body.premium-site .lumi-site-head { background: var(--dark-surface); }
body.premium-site .lumi-site-close { background: var(--dark-raised); color: var(--premium-ink); }
body.premium-site .lumi-site-topics button { background: var(--dark-raised); color: var(--premium-ink); }
body.premium-site .lumi-site-topics button:hover { background: #363d49; border-color: var(--premium-lime); }
body.premium-site .lumi-site-operator,
body.premium-site .lumi-site-live form > button { background: var(--premium-lime); color: var(--dark-on-accent); }
body.premium-site .lumi-site-live :is(input,textarea) { background: var(--dark-surface); border-color: var(--dark-control-border); color: var(--premium-ink); }
body.premium-site .lumi-site-message { background: var(--dark-raised); color: var(--premium-ink); }
body.premium-site .lumi-site-message.is-visitor { background: #303b20; color: #ecf6d7; }
body.premium-site .lumi-site-dialog::backdrop { background: #0009; }

@media(max-width:620px) {
  body.premium-site.premium-home .studio-section { box-shadow: 0 0 0 16px var(--dark-surface); }
}
