[data-template="likeButton"] {
  --icon-size: 40px;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  aspect-ratio: 1 / 1;
  font-size: 0;
  border: none;
  background-color: var(--color-heart-circle);
  border-radius: 50%;
  cursor: pointer;
}

[data-template="likeButton"] .likeButton__likeIcon {
  pointer-events: none;
}

[data-template="likeButton"]:hover .likeButton__likeIcon,
[data-template="likeButton"].active .likeButton__likeIcon {
  opacity: 1;
}

[data-template="likeButton"]:hover .likeButton__likeIcon path {
  fill: var(--color-text-error);
}

[data-template="likeButton"].active {
  background-color: var(--color-text-error);
  pointer-events: none;
}

[data-template="likeButton"].active .likeButton__likeIcon path {
  fill: var(--color-wrapper);
}

[data-template="likeButton"]:disabled {
  background-color: var(--color-text-error);
  pointer-events: none;
}

[data-template="likeButton"]:disabled .likeButton__likeIcon {
  opacity: 1;
}

[data-template="likeButton"]:disabled .likeButton__likeIcon path {
  fill: var(--color-wrapper);
}

@media only screen and (max-width: 1024px) {

  [data-template="likeButton"] {
    --icon-size: 32px;
  }

  [data-template="likeButton"] .likeButton__likeIcon {
    width: 20px;
    height: 20px;
  }

}