/*
 * Wisko Studio Design System v1 — Public semantic component contract.
 * Public pages consume palette variables; components never choose literal Look colors.
 */
body.wisko-public-site{
  --wsp-page-bg:var(--wsp-bg);
  --wsp-surface-base:var(--wsp-surface);
  --wsp-surface-raised:var(--wsp-surface2);
  --wsp-on-surface:var(--wsp-text);
  --wsp-on-surface-muted:var(--wsp-muted);
  --wsp-border:var(--wsp-line);
  --wsp-primary:var(--wsp-violet);
  --wsp-primary-2:var(--wsp-cyan);
  --wsp-primary-3:var(--wsp-pink);
  --wsp-primary-fill:linear-gradient(135deg,var(--wsp-primary-3),var(--wsp-primary) 52%,var(--wsp-primary-2));
  --wsp-on-primary:#071018;
  --wsp-focus:var(--wsp-primary-2);
  --wsp-success:var(--wsp-green);
  --wsp-danger:#c53b52;
  --wsp-warning:#a96b12;
  --wsp-focus-ring:0 0 0 3px color-mix(in srgb,var(--wsp-focus) 22%,transparent);
}
body.wisko-public-site.wisko-look-signal-teal{--wsp-primary-fill:linear-gradient(135deg,#12eadb,#20aef2 60%,#9cf142);--wsp-on-primary:#071018}
body.wisko-public-site.wisko-look-nebula-violet{--wsp-primary-fill:linear-gradient(135deg,#ff4bd8,#956fff 52%,#2ed9ff);--wsp-on-primary:#071018}
body.wisko-public-site.wisko-look-amber-pulse{--wsp-primary-fill:linear-gradient(135deg,#ffb21f,#ff7a18);--wsp-on-primary:#071018}
body.wisko-public-site.wisko-look-cobalt-grid{--wsp-primary-fill:linear-gradient(135deg,#2f82ff,#6de7ff);--wsp-on-primary:#071018}
body.wisko-public-site.wisko-look-crimson-wave{--wsp-primary-fill:linear-gradient(135deg,#ff4d75,#cf58ff 58%,#42d9ff);--wsp-on-primary:#071018}
body.wisko-public-site.wisko-look-slate-gray{--wsp-primary-fill:linear-gradient(135deg,#7c71e4,#4aa4c7);--wsp-on-primary:#071018}
body.wisko-public-site.wisko-look-soft-light{--wsp-primary-fill:linear-gradient(135deg,#9c74ec,#5da1e9 55%,#59c9d8);--wsp-on-primary:#071018}

/* Canonical public primitives for every new page. */
body.wisko-public-site .wisko-ui-surface{background:var(--wsp-surface-base)!important;color:var(--wsp-on-surface)!important;border-color:var(--wsp-border)!important}
body.wisko-public-site .wisko-ui-surface-raised{background:var(--wsp-surface-raised)!important;color:var(--wsp-on-surface)!important;border-color:var(--wsp-border)!important}
body.wisko-public-site .wisko-ui-text{color:var(--wsp-on-surface)!important}body.wisko-public-site .wisko-ui-muted{color:var(--wsp-on-surface-muted)!important}
body.wisko-public-site .wisko-ui-button,
body.wisko-public-site .wsp-primary-button,
body.wisko-public-site .wsp-nav .wsp-nav-start{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:11px;
  border:1px solid color-mix(in srgb,var(--wsp-primary) 30%,var(--wsp-border));background:var(--wsp-primary-fill)!important;color:var(--wsp-on-primary)!important;
  text-decoration:none;font:inherit;font-size:13px;font-weight:800;line-height:1.15;cursor:pointer;text-shadow:none;box-shadow:0 9px 28px color-mix(in srgb,var(--wsp-primary) 18%,transparent);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}
body.wisko-public-site .wisko-ui-button:hover,body.wisko-public-site .wsp-primary-button:hover,body.wisko-public-site .wsp-nav .wsp-nav-start:hover{transform:translateY(-1px);box-shadow:0 13px 34px color-mix(in srgb,var(--wsp-primary) 24%,transparent)}
body.wisko-public-site .wisko-ui-button:focus-visible,body.wisko-public-site .wsp-primary-button:focus-visible,body.wisko-public-site .wsp-nav .wsp-nav-start:focus-visible{outline:none;box-shadow:var(--wsp-focus-ring),0 9px 28px color-mix(in srgb,var(--wsp-primary) 18%,transparent)}
body.wisko-public-site .wisko-ui-button:disabled,body.wisko-public-site .wsp-primary-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}
body.wisko-public-site .wisko-ui-button--small,body.wisko-public-site .wsp-small-button{min-height:40px;padding:0 15px;font-size:12px}

body.wisko-public-site .wisko-ui-button--secondary,
body.wisko-public-site .wsp-secondary-button,
body.wisko-public-site .wsp-link-button,
body.wisko-public-site .wsp-nav .wsp-nav-login{
  background:var(--wsp-surface-raised)!important;color:var(--wsp-on-surface)!important;border:1px solid var(--wsp-border)!important;box-shadow:none;
}
body.wisko-public-site .wisko-ui-button--secondary:hover,body.wisko-public-site .wsp-secondary-button:hover,body.wisko-public-site .wsp-link-button:hover,body.wisko-public-site .wsp-nav .wsp-nav-login:hover{background:color-mix(in srgb,var(--wsp-primary) 8%,var(--wsp-surface-raised))!important;color:var(--wsp-on-surface)!important;border-color:color-mix(in srgb,var(--wsp-primary) 34%,var(--wsp-border))!important}
body.wisko-public-site .wisko-ui-button--ghost{background:transparent!important;color:var(--wsp-on-surface)!important;border-color:transparent!important;box-shadow:none}
body.wisko-public-site .wisko-ui-button--danger{background:color-mix(in srgb,var(--wsp-danger) 10%,var(--wsp-surface-base))!important;color:var(--wsp-danger)!important;border-color:color-mix(in srgb,var(--wsp-danger) 32%,var(--wsp-border))!important;box-shadow:none}

body.wisko-public-site .wisko-ui-card,body.wisko-public-site .wisko-ui-panel{background:var(--wsp-card-bg)!important;color:var(--wsp-on-surface)!important;border:1px solid var(--wsp-border)!important;border-radius:18px;box-shadow:var(--wsp-shadow)}
body.wisko-public-site .wisko-ui-section{color:var(--wsp-on-surface)}
body.wisko-public-site .wisko-ui-field input,body.wisko-public-site .wisko-ui-field select,body.wisko-public-site .wisko-ui-field textarea{background:var(--wsp-surface-raised)!important;color:var(--wsp-on-surface)!important;border-color:var(--wsp-border)!important}
body.wisko-public-site .wisko-ui-field input:focus,body.wisko-public-site .wisko-ui-field select:focus,body.wisko-public-site .wisko-ui-field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--wsp-focus) 55%,var(--wsp-border))!important;box-shadow:var(--wsp-focus-ring)!important}
body.wisko-public-site .wisko-ui-badge{display:inline-flex;align-items:center;width:max-content;border:1px solid var(--wsp-border);border-radius:999px;padding:5px 8px;background:var(--wsp-surface-raised);color:var(--wsp-on-surface-muted);font-size:9px;font-weight:800}
body.wisko-public-site .wisko-ui-badge--success{background:color-mix(in srgb,var(--wsp-success) 10%,var(--wsp-surface-base));color:var(--wsp-success);border-color:color-mix(in srgb,var(--wsp-success) 28%,var(--wsp-border))}
body.wisko-public-site .wisko-ui-badge--warning{background:color-mix(in srgb,var(--wsp-warning) 10%,var(--wsp-surface-base));color:var(--wsp-warning);border-color:color-mix(in srgb,var(--wsp-warning) 28%,var(--wsp-border))}
body.wisko-public-site .wisko-ui-badge--danger{background:color-mix(in srgb,var(--wsp-danger) 10%,var(--wsp-surface-base));color:var(--wsp-danger);border-color:color-mix(in srgb,var(--wsp-danger) 28%,var(--wsp-border))}

/* Global keyboard focus guarantee for public interactive controls. */
body.wisko-public-site :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid color-mix(in srgb,var(--wsp-focus) 72%,var(--wsp-on-surface));outline-offset:2px}
@media(prefers-reduced-motion:reduce){body.wisko-public-site .wisko-ui-button,body.wisko-public-site .wsp-primary-button,body.wisko-public-site .wsp-secondary-button{transition:none!important}}
