/* Evidence-led shared presentation layer.
   Do not assign every control one style: existing primary/secondary,
   destructive, disabled, consent and payment hierarchies remain intact. */
body.wknd-brand {
  --wknd-brand-ink: #29243f;
  --wknd-brand-muted: #625d6d;
  --wknd-brand-paper: #fffaf2;
  --wknd-brand-card: #fffdf9;
  --wknd-brand-line: #e7dfd9;
  --wknd-brand-wash: #f0ebf8;
  --wknd-brand-violet: #7052c4;
  --wknd-brand-guava: #d98a7e;
  --wknd-brand-pink: #eee6f4;
  --wknd-brand-blue: #8e83ad;
  --wknd-brand-sun: #f0d7a0;
  --wknd-brand-shadow: 0 8px 26px rgba(41,36,63,.07);
  color: #29243f;
  background-color: #fffaf2;
}
body.wknd-brand :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid #7153c6 !important;
  outline-offset: 3px !important;
  /* Two-tone focus remains distinguishable on both light and dark surfaces. */
  box-shadow: 0 0 0 3px #fffaf2 !important;
}
body.wknd-brand :where(.wknd-flow,.wknd-page,.wknd-main) {
  background: #fffaf2;
}
body.wknd-brand .wknd-flow {
  background: #fffaf2;
}
body.wknd-brand .wknd-flow :where(.wknd-flow-card,.wknd-flow-state) {
  border-color: #e7dfd9;
  box-shadow: 0 3px 14px rgba(41,36,63,.055);
}
body.wknd-brand .wknd-flow :where(input,select,textarea) {
  border-color: #d8d0d7;
  background-color: #fffdf9;
}
body.wknd-brand .wknd-flow :where(input,select,textarea):focus {
  border-color: #7052c4;
  box-shadow: 0 0 0 3px rgba(112,82,196,.16);
}
body.wknd-brand :where(.wknd-empty,.wknd-empty-state) {
  color: #625d6d;
}
/* Role choosers must remain readable and inside the viewport in either
   legacy directory navigation or the shared public chrome. */
body.wknd-brand .wknd-nav-join { position: relative; }
body.wknd-brand .wknd-nav-join > div {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(290px, calc(100vw - 24px));
  min-width: 0;
  max-width: calc(100vw - 24px);
  box-sizing: border-box;
  white-space: normal;
  padding: 12px;
  color: #29243f;
  background: #fffdf9;
  border: 1px solid #e7dfd9;
  border-radius: 12px;
  box-shadow: 0 8px 26px rgba(41,36,63,.1);
}
body.wknd-brand .wknd-nav-join > div a {
  display: block;
  white-space: normal;
  min-height: 44px;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  body.wknd-brand .wknd-nav-join > div {
    position: absolute;
    top: calc(100% + 8px);
    right: 12px;
    z-index: 20;
  }
}
body.wknd-brand :where(.wknd-btn-primary,.btn-pill-primary):not(:disabled):not([aria-disabled="true"]) {
  background: #7052c4;
}
body.wknd-brand :where(.wknd-btn-primary,.btn-pill-primary):not(:disabled):not([aria-disabled="true"]):hover {
  background: #5b429f;
}
@media (prefers-reduced-motion: reduce) {
  body.wknd-brand *,
  body.wknd-brand *::before,
  body.wknd-brand *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
