.btn,
.form-submit,
a.text-link,
.document-links a,
a.aside-link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid var(--ab-color-gold);
  border-radius: 7px;
  background: var(--ab-color-gold);
  color: var(--ab-color-surface) !important;
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.btn.secondary,
.btn.primary,
.btn.ghost {
  border-color: var(--ab-color-gold);
  background: var(--ab-color-gold);
  color: var(--ab-color-surface) !important;
}

.btn:hover,
.form-submit:hover,
a.text-link:hover,
.document-links a:hover,
a.aside-link:hover {
  border-color: color-mix(in srgb, var(--ab-color-gold) 82%, #000);
  background: color-mix(in srgb, var(--ab-color-gold) 82%, #000);
  color: var(--ab-color-surface) !important;
  text-decoration: none;
  transform: translateY(-1px);
}

.btn:focus-visible,
.form-submit:focus-visible,
a.text-link:focus-visible,
.document-links a:focus-visible,
a.aside-link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ab-color-gold) 35%, transparent);
  outline-offset: 3px;
}

button.btn:disabled,
input.btn:disabled,
.form-submit:disabled {
  cursor: not-allowed;
  opacity: .55;
  transform: none;
}

.contact-links .btn {
  min-width: 174px;
}

@media (max-width: 680px) {
  .btn,
  .form-submit,
  a.text-link,
  .document-links a,
  a.aside-link {
    min-height: 50px;
    padding: 13px 18px;
    font-size: 15px;
  }

  .contact-links .btn,
  .document-links a {
    width: 100%;
  }
}
