/* Explicit action hierarchy, shared by authentication and CMS actions. */
body .button-primary,
body .button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid var(--brand-primary);
  border-radius: 6px;
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
body .button-primary, body.cms .button-primary { background: var(--brand-primary); color: #fff; border-color: var(--brand-primary); }
body .button-primary:hover, body.cms .button-primary:hover { background: var(--brand-primary-hover); border-color: var(--brand-primary-hover); box-shadow: none; }
body .button-secondary { background: transparent; color: var(--brand-primary); }
body .button-secondary:hover, body.cms .button-secondary:hover { background: var(--brand-canvas); color: var(--brand-primary-hover); border-color: var(--brand-primary-hover); box-shadow: none; }
body .button-primary:focus-visible,
body .button-secondary:focus-visible { outline: 3px solid var(--brand-primary); outline-offset: 3px; }

/* Public organisation navigation follows the same light/dark palette as its page. */
.public-site[style] .public-navigation .button-primary {
  background: var(--ink); color: var(--paper); border-color: var(--ink);
}
.public-site[style] .public-navigation .button-primary:hover {
  background: color-mix(in srgb, var(--ink) 85%, var(--paper));
}
.public-site[style] .public-navigation .button-secondary {
  background: transparent; color: var(--ink); border-color: var(--ink);
}
.public-site[style] .public-navigation .button-secondary:hover {
  background: color-mix(in srgb, var(--ink) 10%, var(--paper));
}
.public-site[style] .public-navigation a:focus-visible { outline-color: var(--ink); }
