/* Universal button style & hover override — minimal, non-breaking */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button,
.button,
.btn,
a.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65em 1.1em;
  line-height: 1.1;
  text-decoration: none;
  border: 1px solid currentColor;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  will-change: transform, box-shadow;
}

/* Keep existing colors; only tweak on hover/focus */
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
a.button:hover,
.button:hover,
.btn:hover,
a.btn:hover,
button:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
a.button:focus,
.button:focus,
.btn:focus,
a.btn:focus {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
  outline: none;
}

/* Active press state */
button:active,
input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active,
a.button:active,
.button:active,
.btn:active,
a.btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0,0,0,.10);
}

/* Font assignment — prefer system fonts to avoid broken WOFFs */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button,
.button,
.btn,
a.btn {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  font-weight: 600;
}

/* Respect buttons that explicitly set their own font by using !important selectively only when an old non-working WOFF was applied via .btn or .button */
.btn, .button, a.btn, a.button {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", sans-serif !important;
}
