@layer components {
  .visualize-button {
    display: inline-flex;
  }
  .visualize-button--icon .visualize-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: auto;
    padding: 0;
  }
  .visualize-button--icon .visualize-button__link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 2.75rem;
    min-height: 2.75rem;
    border-radius: 6rem;
  }
  .visualize-button--icon .visualize-button__link.focus, .visualize-button--icon .visualize-button__link:focus-visible {
    outline: none;
  }
  .visualize-button--icon .visualize-button__link.focus::before, .visualize-button--icon .visualize-button__link:focus-visible::before {
    outline: none;
    box-shadow: 0 0 0 0.125rem var(--theme-focus-primary);
  }
  @media (max-width: 767px) {
    .visualize-button--fw-sm {
      width: 100%;
    }
    .visualize-button--fw-sm .visualize-button__link {
      width: 100%;
      justify-content: center;
    }
  }
  @media (min-width: 768px) and (max-width: 1023px) {
    .visualize-button--fw-md {
      width: 100%;
    }
    .visualize-button--fw-md .visualize-button__link {
      width: 100%;
      justify-content: center;
    }
  }
  @media (min-width: 1024px) {
    .visualize-button--fw-lg {
      width: 100%;
    }
    .visualize-button--fw-lg .visualize-button__link {
      width: 100%;
      justify-content: center;
    }
  }
}