#backToTop {
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 999;

  width: 42px;
  height: 42px;
  border-radius: 50%;

  background-color: #d9202b;
  color: #fff;

  border: none;
  outline: none;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;

  opacity: 0;
  visibility: hidden;

  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Visible state */
#backToTop.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Hidden slight offset for animation */
#backToTop {
  transform: translateY(10px);
}

/* Hover effect */
#backToTop:hover {
  background-color: #ba0c16;
}

/* Mobile tweak */
@media (max-width: 768px) {
  #backToTop {
    width: 48px;
    height: 48px;
  }
}