.button {
  min-height: 48px;
  padding: 12px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #6d655e;
  border-radius: 8px;
  font-family: "Open Sans Muzmost", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 600;
  transition: color .24s ease, background-color .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.button img { filter: invert(86%) sepia(8%) saturate(213%) hue-rotate(348deg); flex-shrink: 0; }
.button:active { box-shadow: inset 0 2px 5px rgb(0 0 0 / .12); }
.button-primary { background: #8b4e33; border-color: var(--selection-border); color: #fff9f4; }
.button-primary:hover { background: #743f2b; border-color: var(--selection-border); box-shadow: 0 4px 14px rgb(139 78 51 / .12); }
.button-primary img { filter: invert(1); opacity: 1; }
.button-secondary { background: var(--page-button-bg); color: var(--page-text); border-color: var(--page-button-line); }
.button-secondary:hover { background: var(--page-soft); border-color: var(--page-input-line); }
.button-secondary img { filter: var(--icon-filter); }
.button .button-icon { width:18px; height:18px; object-fit:contain; }
.musician-publication-control { display:inline-flex; align-items:center; gap:8px; }
.musician-publication-control .field-help-toggle { display:inline-grid; flex:none; }
.button:hover .link-arrow, .button:focus-visible .link-arrow { transform: translateX(3px) rotate(45deg); }

@media (max-width: 700px) {
  .button { width: 100%; justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .button > span[aria-hidden], .button img { transition: none; }
  .button:hover > span[aria-hidden], .button:hover > img,
  .button:hover .link-arrow, .button:focus-visible .link-arrow { transform: none; }
}
