.loader {
  position: fixed;
  inset: 0;
  background-color: var(--color-black);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3000;
  transition: opacity var(--transition-medium),
              visibility var(--transition-medium);
}

.loader.hidden {
  opacity: 0;
  visibility: hidden;
}

.loader img {
  width: 120px;
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.05);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0.6;
  }
}

.lightbox {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  z-index: 2000;
  transition: opacity var(--transition-fast);
}

.lightbox.active {
  opacity: 1;
  pointer-events: all;
}

.lightbox img {
  max-width: 90%;
  max-height: 90%;
  border: 2px solid var(--color-gold);
}
