/* Popup overlay */
.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* Popup box */
.popup-content {
  display: flex;

  flex-direction: column;

  background-color: #212529;

  width: max(40%, min(400px, calc(400 * 0.1667vh)));
  max-height: min(800px, calc(550 * 0.1667vh));

  padding: min(12px, calc(12 * 0.1667vh));
  border-radius: min(24px, calc(24 * 0.1667vh));
  position: relative;
  box-shadow: 0 0 min(20px, calc(20 * 0.1667vh)) rgba(0,0,0,0.3);
  
  border: min(3px, calc(3 * 0.1667vh)) solid #111;
}

.familiars-catalog {
  display: flex;
  flex-direction: column;
  
  gap: min(8px, calc(8 * 0.1667vh));
  
  overflow-y: auto;
}

.familiars-catalog div {
  cursor: pointer;
}

.familiars-catalog .buff-layout:hover {
  background-color: rgba(0, 0, 0, 0.8);

  transform: scale(0.95);
}

/* Close button (top-right corner) */
.close-btn {
  position: absolute;
  top: -min(6px, calc(6 * 0.1667vh));
  right: min(12px, calc(12 * 0.1667vh));
  font-size: min(36px, calc(36 * 0.1667vh));
  cursor: pointer;
}